AIToday
動画生成AIコーディングZenn AI/ML掲載日時: 2026年10月9日 22:00

ffmpeg1コマンドで10分動画を1枚画像に

LINEで送る
ffmpeg1コマンドで10分動画を1枚画像に

エンジニアが8分24秒の1080pクリップにfps=1/5とtile=8x16を指定したffmpegコマンドを1回実行。約8秒で完了し、2560×2880pxのPNG1枚(3.6MB)を出力した。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

エンジニアが挙げた問題は、AIを使って動画を量産し始めたことに始まる。10分のクリップ2本を最初から最後まで見て確認すると、毎回20分かかった。この確認を省くと、自動チェックでは捉えられない目に見える不具合、たとえば背景が数分間真っ黒のままになるようなものを出荷する恐れがある。解決策はffmpegのコンタクトシートだ。一定間隔で抽出したフレームを格子状に並べ、動画全体を1枚の画像にする。

エンジニアは、drawtextフィルターで各フレームにタイムスタンプを焼き込む方法が常に使えるわけではないと指摘する。このフィルターはlibfreetypeを含むffmpegビルドでしか利用できないからだ。手元のHomebrewビルド(ffmpeg 8.1.1)ではffmpeg -filtersの出力にdrawtextがなく、代わりにグリッド内のタイル位置からタイムスタンプを逆算している。注意点として、グリッドのマス数が動画から抽出したフレーム数より多いと、余ったマスは黒で埋められ、黒画面の不具合のように見えることがある。AIには末尾の黒いマスは埋め合わせだと伝えるよう勧めている。

この手法は意図的に2層に分かれている。blackdetectやfreezedetect、実際の長さと音声タイミングの照合といった決定論的チェックは、あらかじめ定義できる異常だけを捉える。コンタクトシートとAIは視覚的な層として機能し、言葉にされていない異常を捉えられる一方、サンプリング間隔の粗さは許容する。エンジニアはこの隙間を決定論的層で埋める必要があると述べている。

よくある質問
コンタクトシートの作成にはどれくらいかかるか?
8分24秒の1080p動画で、ffmpegコマンドは約8秒で完了し、2560×2880pxのPNGファイル1枚(3.6MB)を生成した。
AIはシート上のどのような問題を検出するか?
背景が単色や黒のまま続く区間、字幕やキャプションの重なり・欠け、フレーム間の急激な変化を、おおよそのタイムスタンプ付きで指摘する。
タイムスタンプがフレームに焼き込まれていない場合、どう計算するのか?
タイルは左から右、上から下へ並ぶため、時刻は(行-1)×列数+(列-1)にサンプリング間隔を掛けて求める。8列・5秒間隔なら、3行4列目は95秒となる。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へOpenAI、ロシアとイランの工作アカウントを停止