ffmpeg で mp4 を複数結合するシェルスクリプト

Krita を使って mp4 を作っても短すぎる場合に、コピーをたくさん作って ffmpeg で結合します。

例えば以下のような mp4 を Krita で作成します。

1秒で終わってしまいます。
繰り返せばいいのですが、たくさんコピーを作って結合したいと思います。

ffmpeg で動画を結合するためには、動画リストをテキストファイルで作成して、それを読み込む形で結合するようです。
なので、同じものを 20 個ほど作っておいてから、それらを一気に結合します。
ここではソートしていますが、同じものなので実際にはソートの必要はありません。

このサイトから頂きました。


#!/bin/bash

cd ~/ビデオ

for i in {1..20}; do 
    cp aaa.mp4 hoge_${i}.mp4; 
done

FILELIST=filelist.txt

for pathfile in `\find -name '*.mp4' | sort`; do
    echo file \'$pathfile\' >> $FILELIST
done

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

このようになります。