- 締切済み
開けない動画ファイル(mp4)の修復方法
先日SonyのアクションカムAS100Vで録画中に純正バッテリー且つ容量十分であるのに何度か勝手に電源が落ち、電源が落ちるまでの区間を撮影していたデータが破損して閲覧、開いて編集等が状態になっています。 まずカードの中身はというと、サムネイルファイル(.THM)は生成されております。 私はMac OS Xを使用していますが、他の正常なファイルはアイコンにサムネイル画像が映っていますが、破損したデータに関してはクイックタイムのロゴが映っており、ダブルクリックしても「このファイルはムービーファイルではありません。」と出て開けません。 データ自体の容量は撮った長さに応じた容量(数十MB~数百MB)あり、カメラの録画を止める際に本来であれば何か情報をデータに書き込まれるものが出来なかった事によるものかと予想しています。 iMovieでも開けずメーカーに直接確認したところSonyの専用アプリ「PlayMemories Home」で試してみて、それで開けなければ修復は難しいとのことでした。 残念ながらその方法でも開けず今他の方法を調べ、コマンドプロンプトからデータを修復するとの方法を見つけ試していますが、なかなか上手くいきません。 movdump.exe -i <破損>.mp4 -ref reference.mp4 -o <修復>.mp4 ※破損したものと同じ解像度・フレームレートのMP4をreference.mp4として指定する との方法らしいのですが、ターミナルで入力してみるもcommand not foundになってしまいます。 もしかするとこれはWindowsユーザーに使えるコマンドであってMacには実行するプログラム?が違うのではと考えていますが、ここから先へ進めていません。 上記の状態を打開する案があれば、是非お力添えお願いします。 それから今のところ、ファイル修復ソフト等の導入は考えていません。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8802/19961)
>movdumpで処理する工程をmacで手作業で処理するのはやはり大変なことなのでしょうか? たぶん、手作業では無理です。 少なくとも「データ部分を最初から最後まで解析して、動画の長さ(コマ数、フレーム数)を、正しい値に置き換える」と言う作業が必要です。 その為には、バイナリデータ(16進数の数値の羅列)を画面で見ながら「ここからがデータ本体である可能性が高い」ってのを「目で見て判断」して、そこからデータを1バイトづつ見て行きながら、コマ数を数えて、ファイルの最後まで行ったら、先頭部分にコマ数を表す情報を埋め込む」と言う作業が必要です。 たぶん、movdumpは、それをプログラムで自動的にやってくれていると思います。 もし、そこまでやってくれてないとしても「少なくとも、ここからが動画データの本体だ」ってのは、プログラムで解析している筈です。 この作業を手作業でやるとしたら、手始めに「mp4動画ファイルのファイル構造を書いた仕様書」を手に入れて、それを理解しないと作業するのは不可能です。 少なくとも、以下のページに書いてある事が「一字一句すべて理解できること」が「必要最低限の前提条件」になります。 https://unoh.github.io/2007/09/12/mp43gpp3gpp2.html
- chie65536(@chie65535)
- ベストアンサー率44% (8802/19961)
>movdump.exe -i <破損>.mp4 -ref reference.mp4 -o <修復>.mp4 「ほげほげ.exe」とあるのは、Windowsや、MSDOSのプログラムを意味します。 Windowsでの「ファイルの形式」は、Macと違い、拡張子で区別されます。 例えば「.exe」や「.com」の拡張子が付いていると「実行形式ファイル(プログラム本体)」を意味します。 例えば「.jpg」や「.jpeg」の拡張子が付いていると「JPEG型式の画像ファイル」を意味します。 >もしかするとこれはWindowsユーザーに使えるコマンドであってMacには実行するプログラム?が違うのではと考えていますが ご明察。その通り。Macでは、その方法は使えません。 movdumpは、Windowsマシンで動作する物で、標準のソフトではありませんから「信頼できるサイトから自分でダウンロードして、自分でインストールして使う物」です。 例えWindowsマシンで実行しようとしても、ダウンロードもインストールもしてないなら 'movdump.exe' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 というエラーになるだけです。 >それから今のところ、ファイル修復ソフト等の導入は考えていません。 ファイル修復ソフトは「間違って削除してしまったファイルを修復するソフト」なので「ファイルの中身が不正になってしまった物」は修復できません。目的がまったく違います。 で、movdumpは「ムービーファイルの先頭部分にある筈の、解像度やビットレートなど、動画の基本となる重要な情報だけが壊れているのを、別の正常なファイルから転記して、一見、正常に見えるように書き直すソフトです。なので、動画データが途中で切れているなど、動画の本体部分が壊れている場合は、修復ができません。
お礼
お早く、分かりやすい回答ありがとうございます。 動画の詳細情報を確認してみると正常な方は解像度や動画の長さやコーデックのデータが確認できますが、破損した方はというと「--」やら「不明」と表記されています。 「ファイル先頭にある解像度やビットレートなどの情報」とありますが、この部分だけを書き換えて閲覧できるようになるかは分かりませんが、movdumpで処理する工程をmacで手作業で処理するのはやはり大変なことなのでしょうか?
お礼
手作業だと予想以上に大変、というよりかは効率的にほぼ不可能みたいですね… 別の手段がないかもう少し調べてみて、無さそうなら悔しいですが諦めようかと思います。