破損したMP4ファイルの修復
以前にVideo Repair ToolのDEMO版でファイルの修復をした話を書きましたが、今は別のプログラムで修復してます。Bebop2に限らずH501SやFaithでもアクシデントがあるとファイルサイズはあるのに再生できないというファイルを作ってくれちゃいます。で、何とかならないかと当時見つけたのがVideo Repair Toolだったわけですがrecover_mp4というものを見つけまして…多分Video Repair Toolと同様のことをやっているのだと思います要は正常なファイルからヘッダー情報を読みだしてNGなものにつじつまを合わせながら書き込んでいるのでしょうただ、このプログラム,本家では配布終了していて、Webサービスを使ってね…ということになってますじゃあどうするか…Internet Archiveでダウンロードが可能でした※私はうまいことv1.92(公開最終バージョン)を入手できたのですが Internet Archiveでダウンロードできるのはv1.54までみたいですInternet Archiveのリンクを張っておきます※一番下のダウンロードのLink #2が生きてますもう一つ見つけました…https://www.videohelp.com/software/recover-mp4-to-h264/old-versions#downloadoldこちらなら、最新のものも落とせそうです※私自身もここからダウンロードしたのですが… 正規が公開終了しているものを保管・配布しているものなので 出所としては怪しいという点をご理解の上でご使用くださいあと必要なのはffmpeghttps://www.ffmpeg.org/変換の準備は…ffmpegを好きな場所に解凍してできた中にある「BIN」ホルダーにrecover_mp4を解凍してできたファイルをコピー破損したファイルそのものと、同じ機器で撮影した正常なファイルをコピー※ファイルはわかりやすく名前を付けておくと楽です 私はok.mp4とng.mp4としちゃってますでBINホルダーでコマンドプロンプトを開いてrecover_mp4.exe ok.mp4 --analyze解析が終わると最後にコマンドが表示されますのでそれにならってrecover_mp4.exe ng.mp4 result.h264 --noaudio --extと入れて少々待つとresult.h264というファイルができあがりますこのh264ファイルの時点でGOM Playerではシークはできませんが内容の確認ができます最後にそれをffmpegを使いでmp4に変換ffmpeg.exe -r 25.000 -i result.h264 -c:v copy result.mp4これで、容量はあるけど再生できない…というファイルなら再生できるようになると思います同じカメラのファイルならok.mp4を入れ替える必要はないのでng.mp4だけ放り込んでrecover_mp4.exe beok.mp4 --analyzerecover_mp4.exe beng.mp4 result.h264 --noaudio --extffmpeg.exe -r 30000/1001 -i result.h264 -c:v copy result.mp4とバッチファイルにしてしまうというのもありでしょう注意:このコマンドのオプションはあくまでうちのBebop2のファイルの場合なので ご自分のファイルで出力されたコマンドに置き換えてくださいねVideo Repair ToolのDEMO版だと容量を倍加させるので読み込むだけでも時間もかかるので、最近はこちらばかり利用してますまあBebop2は飛び立つと、とりあえず録画を始めてくれるし着陸すれば録画終了してくれるのでほぼ失敗はありませんけどねそれでも先日のレンズを痛めてしまった時のフリップからの着地の動画はしっかりこのアプリのお世話になって、日の目を見たんですというわけで、あまりお世話になりたくないアプリの紹介でした