バックアップしていた mp4 ファイルが開けない
Google Photos に Pixel 端末からアップロードすると、動画ファイルだろうと容量無制限でアップロードできることに気づいてしまって、バックアップしていた動画をひたすら Pixel 越しでアップロードしまくってました。すると、いくつかの mp4 ファイルは破損してしまっていたようで、開けないしアップロードできないことに気づきました。
なかにはスマホで撮った動画以外にも、Sony Handy Cam で撮った動画すら mp4 が壊れていて開けないものもある。壊れてしまった原因がわからないけども、このままでは思い出も消えてしまう。
そこで、修正しようとネット検索をしてみるも、すぐに商用のページに行き着く始末。これはいかん。
ということで、なんとか修復できないかと調べてみると、Docker を使った修復方法を見つけたので紹介します。
Untrunc を使って修復
この Github のレポのコマンドを使えば修復できました。
MP4以外のファイルも修復できるようです。
修復するためのコマンド
git clone https://github.com/ponchio/untrunc.git
cd untrunc
docker build -t untrunc .
docker run -v ~/YourVideo:/files untrunc /files/working.mp4 /files/broken.mp4
broken.mp4
が壊れた mp4 ファイルで、 working.mp4
は同様の環境でとられた正常な mp4 ファイルを選択します。これで broken-fixed.mp4
というファイルが作成されます。
今どき、 Docker は OS を選ばなくなっているので、どの OS 下でも問題なく動くはずです。ちなみに、 -v
オプションは Docker 側のコンテナからホストのファイルを見れるようにするためのマウント用オプションです。
ご参考になれば幸いです!
編集後記
コロナ以降、大阪のプログラミング系のイベントがなかなか再開されず寂しいです。主催していたイベント含めてまた何かしたいですね。
コメント