[追記]FFmpeg - The Ultimate Guide という詳しいガイドが公開されました。
FFmpeg はオープンソースの動画編集コマンドです。必需品です。Mac なら Homebrew で brew install ffmpeg
でインストールできます。
入力ファイルは -i ファイル名
で指定します。解像度の変換は -s 1280x720
のように指定します。動画フォーマットは拡張子で判断してくれます。
ffmpeg -i in.ts -s 1280x720 out.mp4
ダウンロードとストリーミングでも書きましたが、メタデータが最後にある動画ファイルをいわゆるプログレッシブダウンロード可能な形式にするには、次のようにします:
ffmpeg -i in.mp4 -c copy -movflags faststart out.mp4
-c copy
(または -codec copy
)は、動画・音声を再エンコードせずそのままコピーすることを意味します。
静止画 in00.png、in01.png、in02.png、…… をフレームレート 5 で動画に変換するには、次のようにします:
ffmpeg -r 5 -i in%02d.png -vcodec libx264 -pix_fmt yuv420p out.mp4
開始時刻、終了時刻を HH:MM:SS の形式で指定して切り出す例(秒は小数点以下があってもかまいません):
ffmpeg -ss 00:31:04 -to 00:40:25.35 -i in.mp4 -c copy out.mp4
時刻ではなく時間の長さで指定するには -t HH:MM:SS
とします。なお、再エンコードを伴わない -c copy
では微妙に時間がずれることがあります。
1.mp4 と 2.mp4 と 3.mp4 を結合するには、あらかじめ
file 1.mp4 file 2.mp4 file 3.mp4
とだけ書き込んだテキストファイル files.txt を作っておき、次のように打ち込みます:
ffmpeg -f concat -i files.txt -c copy out.mp4
切り出しと結合を組み合わせれば、動画編集が自由にできます。
ファイルのパスが安全でない場合は -safe 0
というオプションが必要になるかもしれません。