以前の記事で書いたように、自宅のサーバー上で録画環境を構築している。このサーバーでは、番組の録画が完了すると、録画した TS ファイルを h.264 の MP4 ファイルにエンコードして別のディレクトリに保存するようなスクリプトを動かしている。元の TS ファイルもそのまま保持していたのだが、最近ストレージ容量が厳しくなってきたので、エンコード済みの TS ファイルを削除しようと思い立った。 問題は、エンコードが正しく終了せず破損した MP4 ファイルがいくつか存在することだ。これらのファイルについては元の TS ファイルを残しておきたい。そこで、大量のファイルの中から破損したファイルを高速に検出する方法を調べた。 調べた結果、以下のようにするのが良さそうだ。(ffprobe コマンドは ffmpeg をインストールするとインストールされる) $ ffprobe -v error -f lavfi movie="/path/to/file.