今すぐファイルを修復
- ファイルをドロップ
- 修復はローカルで実行
- 結果をダウンロード
上のエリアにMP4をドロップしてください。ツールはお使いの端末上でファイルを 読み込み、moovが損傷しているのか、それとも完全に存在しないのかを示します。 これによって修復のやり方が決まります。何もインストールされず、何も アップロードされません。
エンジンの現状を正直に言えば、構造的なremux修復(moovは存在するが 損傷・切り詰め・オフセットのずれがあるファイル向け)は本日すでに動作して います。moovがまったく存在しないファイル向けの完全なインデックス 再構築は開発中です。
エラーが意味すること
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x...] moov atom not found Invalid data found when processing inputMP4は、圧縮されたフレームを1つの大きなブロック(mdatアトム)に 保存し、それとは別にmoovアトムを保存します。moovは、各 フレームがどこから始まり、どれだけ続き、音声と映像がどのように交互配置 (インターリーブ)されるかを記録するインデックスです。moovは録画がファイナライズされるときに書き込まれます。フレームのサイズや数は、 エンコードが終わるまで分からないからです。その瞬間より前にクラッシュ、 電源断、カード満杯が起きると、データブロックはディスクに残り、インデックスは どこにも書き込まれません。
だからこそ、ffmpegの2行目はinvalid dataと表示します。デマルチ プレクサ(demuxer)は、映像が壊れたと報告しているのではなく、映像を解釈する ためのインデックスがないと報告しているのです。まったく別の問題であり、 はるかに直しやすい問題です。
なぜffmpegではこれを直せないのか
ここに辿り着いたなら、おそらくすでにffmpeg -i broken.mp4 -c copy out.mp4 を試し、もしかすると-movflags faststart も試したはずです。どちらも同じ理由で 失敗しました。これらは、読み込みに成功した後の結果に対して働くから です。ストリームコピーはデマルチプレクサがパケットを渡してくれることを必要と し、faststart はすでに存在しているはずのmoovを移動させるだけ です。入力にmoovがなければ、どちらのフラグが効くよりも前に読み込み自体が 失敗します。これは、まだ見つけていないフラグの問題ではありません。 コンバーターにできることの、本物の限界です。ファイルを直すとは、変換では なく再構築を意味します。生のデータブロックをスキャンしてフレームの境界を 探し、見つかったものからサンプルテーブルを組み直すのです。
untruncとの比較 — そして我々のエンジンの現状
untrunc は、まさにこの 再構築のための定番の無料ツールであり、実際に機能します。ただし、手間は 本物です。自分でコンパイルする(またはサードパーティのビルドを信頼する) 必要があり、コマンドラインから実行し、さらに参照ファイルを必要と します。参照ファイルとは、同じ設定で同じ端末が録画した健全な動画で、壊れた ファイルの中の生のフレームを解釈するために使われます。
我々の立場を率直に述べます。IntactFileのブラウザ内エンジンは、本日すでに 構造的なremux修復を行っています。つまり、損傷した形でもmoovが生き残って いるファイルです。moovがまったくないファイルのuntrunc級の再構築は 開発中であり、提供が始まる前にできるふりをするつもりはありません。moovが 完全に失われていて、今すぐ直す必要があるなら、untruncが正直な推奨です。 もし上の診断で、損傷しているが存在するインデックスが示されたなら、ブラウザ内 修復が今それを処理します — コンパイルも、参照ファイル探しも、アップロードも 不要です。
何が直せて、何が直せないか
インデックスの組み直しは、どのツールを使っても、メディアデータが生き残って いれば機能します。たいていの場合、生き残っています。mdat は 録画中に連続して書き込まれるため、中断までのすべては物理的にファイルの中に あります。どんなソフトウェアにもできないのは、データが一度も書き込まれ なかったファイルを直すことです。見分ける手がかりはサイズです。12 KBしか ない「1時間の録画」や、SDカードが書き込み中に壊れたためにほぼゼロとして 読み出されるファイルには、インデックス化できる中身が何もありません。どんな ツールにも — 我々のものであれ他の誰のものであれ — 時間を費やす前に、録画の 長さに対してサイズを確認してください。そして、修復が失敗した場合に料金が 請求されることは一切ありません。