web-dev-qa-db-ja.com

破損したMP4の修復

私は私のAndroid=電話(Sony Xperia P、あなたが知る必要がある場合)からビデオを撮りました、そしてそれを記録するのを止める前に、電話のメモリがいっぱいになり、電話もハングしました。電話を再起動しましたが、ビデオはありましたが、Androidのメディアプレーヤーからは再生できませんでした。mp4 formatにあります。

そのため、VLC、Quick Time、Windows Media Playerなどの異なるビデオプレーヤーを使用してPCとMacで開こうとしましたが、どれも再生できません。ビデオが破損していることは知っていますが、サイズがGBを超えたため、修復可能であると思います。ビデオファイルを修復するために何かできることはありますか?ビデオは本当に重要です。

27
noob

Ffmpegを使用している場合は、コマンドラインから次のことを試すことができます。

ffmpeg -i input.mp4 -c copy output.mp4

問題がコンテナにのみある場合は、これで修正されます。

それが機能しない場合は、完全な端末メッセージを投稿してください。ファイルを修正する方法についての手掛かりになる可能性があります。

17
evilsoup

これは古い質問ですが、私は同じ状況に遭遇しただけで、自分に役立つ解決策を投稿するつもりでした。

「moov atom not found」というメッセージが表示された場合、これは通常、ビデオを作成していたものが、ビデオで使用されているコーデックなどに関する情報を含む端末メタデータを書き込めなかったことを意味します。この「moovアトム」がないと、ほとんどのプレーヤーはビデオを拒否します。

同じデバイスで生成されたanotherビデオがある場合、 ntrunc プログラムを使用して新しいmoov =を生成できます。 atomほとんどの場合、ファイルを再生可能にします。

untruncプログラムを自分でコンパイルする必要があります。私はそれをUbuntu 12.04 Dockerコンテナーでビルドし、ビルドするために以下の前提条件をインストールする必要がありました。

Sudo apt-get install libavformat-dev libavcodec-dev \
  libavutil-dev libqt4-dev make g++ libz-dev
13
larsks