今私はC言語を使用し、ffmpegはプログラムのMP4ファイルへのマルチプレックスリアルタイムオーディオとビデオを実現し、すべて正常に動作しますが、突然の電源障害、録音はMP4ファイルが壊れている、VLCはこのファイルを再生することはできません。 私は理由が破損したファイルを呼び出すためのインデックスとタイムスタンプ情報は、私はAraxisのマージツールは、ファイルの機能av_write_trailer呼び出しが成功を比較して使用失った原因と、 av_write_trailerトレーラー関数を記述するために何の呼び出しと av_write_trailerなしではないと思います2つの異なる点が見つかりました: 1.ファイルヘッダーボックス番号の値が正しくないファイル が破損しています。2.破損したファイルのファイルの末尾がありません。ffmpegを使用してMP4を突然電源オフする
今私は私のプログラムの電源を入れた後に自動的に修復したい、Googleは効果的な方法を見つけることができませんでした。 私の思考の列車は通常の記録処理にあります破損したファイルには2つの情報がありません:ボックス番号とファイルの終わり、MP4ファイルを書き込むときにローカルファイルに保存します。破損、次に次の電源では、ファイルと対応する情報を読み取って、破損したファイルを対応する位置に書き込みます。しかし、今問題は、ボックスの数とファイルの終わりを節約する方法がわからないということです。これは実現可能ですか?可能であれば、私は何をすべきですか?お返事を楽しみにしています!
停電やクラッシュが予想される場合は、mp4に録音しないでください。これらのイベント(FLVなど)に耐えられる形式で録音し、最後にmp4に変換します。 – szatmary