当サイトでは管理人の個人的な経験に基づき商品やサービスの紹介をしております。業者から直接依頼を受けたり、報酬を得て掲載した記事はありません。ただし商品やサービスの紹介にはアフィリエイトリンクを使用させていただいております。遷移先のサイトで購入や申し込みをされた場合、このサイトが報酬を得る場合があります。
Contents
【2021年更新】.MP4形式の動画を無料で修復する方法
自分はトレイルカメラをつかって野鳥や野生動物の動画を毎日収集しているのですが、毎日大量のファイルを整理している内に、誤ってゴミ箱⇒消去やフォーマットをしてしまうことがどうしても起きてしまいます。何度も痛い思いをしているので、注意深く作業していても、他の作業が割り込んできたりするとやはり失敗してしまうのです・・・
今日、久しぶりに誤消去してしまいました。
無料で修復できる方法はあるのですが、とても面倒なので気が滅入っていたところ・・今回新たにコマンドプロンプトを使用しなくても修復できるアプリを見つけました!早速使ってみたところ、以前よりはるかに簡単で、修復精度も上がっているように感じました。素晴らしいです!
ただし例によってWindows限定です。
自分はMac使いですが、ファイル復元はMac版RecoveRXを使用し、その後仮想環境(VMware Fusion)でWindows7を立ち上げて動画修復を行いました。いちいちWindowsをBootcampで立ち上げるのも面倒なので仮想環境で作業しましたが、特に問題はありませんでした。
⇒Mac版RecoveRXについてはこちらの記事をどうぞ
もうひとつ、以前の方法もそうでしたが、同じカメラで撮影した破損していない正常な動画ファイルが必要です。手元にない場合は、新たに撮影して正常な動画を作成していただければと思います。
修復の手順
1最初にuntranc-guiというアプリケーションをダウンロードします。
以下のリンク先より入手可能です。
↓リンク先のWebページの「Releases」をクリックします
↓次のウィンドウで「Assets」をクリックし、お使いのOSに応じたファイルをダウンロードします。自分はWindows7 64bit版を使用しているので、untrunc_X64.zipをダウンロードしました。
2untranc-gui.exeを起動し、
参照ファイル(正常な動画ファイル)と破損したファイルを選択したあと、
「Repair」ボタンを押します。
以上です。とても簡単です!
↓ダウンロードしたファイルを解凍し、その中のuntranc-gui.exeをダブルクリックして起動します。
↓起動後の画面はとてもシンプルです。
最初に「reference file」ボタンをクリックして、あらかじめ用意した「同じ機材で撮影した正常な動画」を選択します。
↓次に「truncated file」ボタンをクリックして、「修復したい破損ファイル」を選択します。残念ながら、今のところ複数のファイルを同時に選択することはできないようです。修復したいファイルの数だけ作業を繰り返す必要があります。
2つのファイルを選択したら「Repair」ボタンを押し、作業終了です!
↓修復がうまくいくと、末尾に「_fixed.mp4」がつけられたファイルが同じフォルダ内に生成されます。自分が試したところ、エラーはあったものの修復自体はほぼ問題なく行われておりました。
そのエラーですが、60秒の動画が59秒の動画として出力されておりました。この点は動画の内容によっては問題となるかもしれません。ただ、以前のように、生成された動画がカクついたりすることもなく、そのまま編集に使うことはできそうです。
修復の手順は以上です。
自分のように修復したいファイルが100以上もあるとちょっと大変ですが、これまでコマンドプロンプトを使って修復していたことを考えると、雲泥の差といえるほどはるかに楽になりました。本当にありがたいお話です・・
以上、参考になれば幸いです
こちらの記事を参考にいたしました。ありがとうございました。
以下は以前アップしていた内容ですが、そのまま残しておきます・・
【過去の内容】.MP4形式の動画を修復する方法:まずはVLC Media Playerを使う
「.mp4 修復」で検索すると、例によって中国製ソフトが上位を占めています。が、これらは無視するとして(笑)・・・その検索結果によると、フリーの有名な動画再生ソフトのVLC Media Player に修復機能があるようですので、まずはそれを試してみます。↓こちらのサイトに詳しく方法が記載されています。
今回は上記サイトの方法では修復できなかったので、別の方法をつかうのですが、結局最後にVLC Media Playerでの修復・変換作業が必要になりましたので、インストールしていない方はダウンロードしておいた方がよいです。↓公式サイトはこちらです。
英語の情報サイトに記載されていた方法がほぼ完璧です
それでいろいろとWebをさまよったのですが、いろんなところで紹介されているクラウド上の修復サービスrestore.media(https://restore.media)はフリーと思わせておいて、最後のダウンロードで有償になるパターンなので近づかない方がよいです。自分の所はネット環境がADSLで、動画のアップロードに大変時間がかかったのですが、3時間くらいかかっていざダウンロードというときに9.9ドルの請求書が出てきてキレそうになりました(笑)


それで最後にたどり着いたのは↓ここです。Windows限定、かつ、コマンドプロンプト使用、ということで敬遠していたのですが、仕方がないのでじっくりと読み解いていって、その通りに作業したところ、うまく修復できました。英語が読める方はこちらのサイトを見ていただくと速いと思います。
自分のように英語はなんとなく読める程度の方、また、mac使いでコマンドプロンプトにアレルギーがある方は・・・以下に理解しやすいようにして記しておきますので、どうぞご参考になさってください。
なお、上記の英語サイトに行かれる方もご注意いただきたいのは、Windows環境や、VLC Media Playerでは再生できても、いざmacにもってくると、カクついて編集できない、という場合がある、ということです。自分の場合がそうでした。
これはVLC Media Playerで変換するとほぼ正常になりましたので、先にお伝えしておきます。
修復手順
1最初に必要なソフトをダウンロードします。
●recover_mp4
https://www.videohelp.com/software/recover-mp4-to-h264/old-versions#downloadold
上記サイトより、Download recover_mp4 1.92 Free をダウンロードします。
●ffmpeg
https://ffmpeg.org/download.html
上記サイトのGet the packagesの段落からwindowsアイコンをクリックします。すると、Windows PackegesとWindows Buildsという表示があらわれますので、そのBuildsをクリックします。次の画面で、Version は4.0.2などの数字、Architectureは使用されているWindowsのOSに依って選び(32bitか64bitか)、Linkingは Static を選択した上で「Download Build」をクリックします。



2修復したい破損ファイルと、同じカメラの、同じ設定で撮影した「正常な動画」を用意します。この正常な動画の情報を参照して破損ファイルを修復します。なお、ファイル名は、後のコマンドプロンプトで入力が楽になるよう、短めの名前に変更しておきます。自分は「ref.mp4」としておきました。
3ダウンロードしたffmpegを解凍し、その中の「bin」フォルダの中に以下のファイルを全部入れちゃいます。こうしておくと、後のコマンドプロンプトでの作業が楽になります。
- 修復したい破損ファイルすべて
- 正常な動画「ref.mp4」
- recover_mp4.exe(32bitな方は、recover_mp4_x86.exe をrecover_mp4.exeにリネームする)

4コマンドプロンプトを起動します。 タスクバーの検索ボックスに「cmd」と入力すると「コマンドプロンプト」が表示されるので、それをクリックします。(Windows7の場合はスタートメニューの検索にてcmdを入力、表示される「cmd.exe」をクリック。以下スクリーンショットはWindows7と10が混ざっています・・)
53で準備したSDカード等の外付けドライブを読み込ませます。エクスプローラーでそのドライブレター(D:とかE:になっているはず)を確認しておきます。
6ここからは呪文の入力です。
最初に作業フォルダを、先ほどのSDカードなど外付けドライブのffmpeg/binフォルダに設定します。
cd /d D:¥ffmpeg¥bin
と入力します。
cdはカレントディレクトリの意味、/dはドライブの変更、以下はフォルダの場所を表しています。D:はドライブレターです。環境によって異なると思いますので、5で確認した英文字に書き換えます。
7次に、以下をコマンドプロンプト入力して、正常な動画ファイルの分析を行います。
recover_mp4.exe ref.mp4 --analyze
ref.mp4は自分が用意した正常な動画のファイル名です。必要であれば変更してください。
なお、これらの呪文は、メモ帳等に入力して、コピペすると作業が楽です。(Windows7は右クリックで「貼り付け」を行います。)

87の分析結果がコマンドプロンプト上に表示されていますので、その最後の方の2行分のコマンド(赤枠1と2)をコピーし、メモ帳に貼り付けておきます。(※Windows7の場合コピーはコマンドプロンプトではキーボードショートカットが使えないので、右クリックをして「範囲指定」を選んだ後、マウスでドラッグし、右クリックするだけでコピーされます。)
98でコピーしたコマンドを順に実行します。
赤枠1を実行して、result.h264とresult.aacという中間ファイル2つを生成し、次に赤枠2を実行すると、先ほどの中間ファイル2つから、修復ファイルresult.mp4を生成します。
これらの赤枠のコマンドについてですが、まず最初の赤枠1について
recover_mp4.exe corrupted_file result.h264 result.aac --ambarella
こちらは・・
corrupted_file ⇒ 修復したい破損ファイル名
result.h264 ⇒生成される中間ファイル(.h264ファイル)
result.aac ⇒生成される中間ファイル(.aacファイル)
–ambarella ⇒環境によって変わる
となっています。
result.h264やresult.aacについては破損ファイルごとに生成されるので、自分は破損ファイルと番号をそろえ、連番で001.h264と001.aacなどと、後でわかりやすいようにしておきました。
また、–ambarella は修復するカメラごとに変わりますので、上記をそのままコピペしないようにしてください。
以下は私の環境の例です。
recover_mp4.exe IMG_0001.MP4 001.h264 001.aac --ambarella
IMG_0001.MP4 ⇒ 修復したい破損ファイル名
001.h264 ⇒生成される中間ファイル(.h264ファイル)
001.aac ⇒生成される中間ファイル(.aacファイル)
–ambarella ⇒環境によって変わる
上記を実行することで、破損ファイルIMG_0001.MP4から001.h264と001.aacという中間ファイルが、binフォルダ内に生成されます。
次にもう一つのコマンド、赤枠2について
ffmpeg.exe -r 30000/1001 -i result.h264 -i result.aac -bsf:a aac_adtstoasc -c:v copy -c:a copy result.mp4
こちらは・・・
30000/1001 ⇒ 環境によって変わるパラメーター
result.h264 ⇒ 先ほど生成した中間ファイル
result.aac ⇒ 先ほど生成した中間ファイル
result.mp4 ⇒ 生成される修復ファイル
となっていますので、これらも注意して自分の環境に合わせて変更します。以下は私の環境の例です。
ffmpeg.exe -r 30000/1001 -i 001.h264 -i 001.aac -bsf:a aac_adtstoasc -c:v copy -c:a copy 001.mp4
30000/1001 ⇒ 環境によって変わるパラメーター
001.h264 ⇒ 先ほど生成した中間ファイル
001.aac ⇒ 先ほど生成した中間ファイル
001.mp4 ⇒ 生成される修復ファイル
上記を実行すると、binフォルダ内に、修復されたファイル001.mp4が生成され、修復作業は終了となります。001.h264や001.aacは残ったままです。
修復したい破損ファイルが複数ある場合は、同じコマンドプロンプトで継続して2つのコマンドの実行を繰り返します。破損ファイル名と中間ファイル名・修復ファイル名をメモ帳で書き換え、コマンドプロンプトに貼り付けして実行します。
これらをひたすら繰り返します。


作業は以上です。
なお、元の英語のサイトによると、修復できない場合には、recover_mp4の添付ファイルにあるオプションコマンドを使用するとうまくいくかもしれない、とあります。自分も全部試してみましたが、よい結果は得られませんでした。最初のanalyzeで生成される2つのコマンドを使ってもダメな場合は、修復は難しいのかもしれません。
recover_mp4.exe corrupted_file result.h264 result.aac --ambarella
–ambarella ⇒この部分を変更する ↓例
recover_mp4.exe corrupted_file result.h264 result.aac --ext
オプションコマンドの一部を抜粋しておきます。全部確認したい方は、先ほど紹介した英語サイトを参照するか、recover_mp4を解凍した際に添付されていた「recover_mp4_en.txt」を確認します。
–gopro4 | use templates and detect GoPro4 specific data (default for MP4 files) |
–ambarella | use Ambarella templates (ignore GoPro4 specific data) |
–lav | use Lav/ffmpeg templates |
–qt | use QuickTime templates (default for MOV files) |
–iphone4 | use iPhone4 templates |
–eos | use Canon EOS 5D Mark II, 7D, 550D templates |
–panasonic | use Panasonic DMC-G7, DMC-GX80, DMC-G85, DMC-GH4, DC-GH5, HC-X1000 templates |
–sony | use SONY A7S [Mark II], AX1E, NX5R, A6000, HDR-CX405, HDR-CX625 templates |
–dji.avc | use DJI.AVC Phantom (H.264) templates |
–ext | use generic templates for any other camcorder or smartphone, Open Broadcaster Software, etc. |
すでにサポートが終了している古いフリーウェアなので、修復には限界がありそうな気がします。
recover_mp4でも修復できなかった場合
recover_mp4を実行すると、破損ファイルはおそらく修復できるはずですが、自分のようにWindows環境では問題なくても、macのQuick Time Playerなどで再生すると動画がカクつく場合は、最初の方で述べたとおり、VLC Media Playerで修復するとよかったです。
やり方は特に難しくありません。
VLC Media Playerで「変換/保存」を選択します
修復したいファイルを選択し、変換/保存をクリックします。ファイルは、ドラッグアンドドロップで追加できます。
設定は、プロファイルを「Video – H.264 + MP3(MP4) 」にしておきます。出力ファイルについては、ファイル名に-convertedを付加、にチェックをつけておきます。つけないと上書きされてしまいます。開始をクリックすれば修復が始まります。
作業方法は以上です。
面倒ですけれど余計なお金を使わずに修復できるのはありがたいですね。ただ・・何度かお問い合わせいただいておりますが、自分もこれ上のことは理解できておりませんので、上記方法で無理な場合は、無料での修復は諦めるしかないのかな・・・と感じております。
以上参考になれば幸いです。