ffmpeg

ffmpegでよくつかうやつ

動画の切り抜き指定

// mp4の場合
$ ffmpeg -i [INPUT_FILE] -vf crop=640:720:320:0 [OUTPUT_FILE].mp4

OUTPUT_FILEの動画を、640x720pxサイズにする。
x座標を、320pxから切り取る
y座標を、0pxから切り取る

動画を音無しで出力

// mp4の場合
$ ffmpeg -i [INPUT_FILE] -an [OUTPUT_FILE].mp4

動画のスピードを変えて出力

// 0.8倍速の場合
$ ffmpeg -i [INPUT_FILE] -vf setpts=PTS/0.8 [OUTPUT_FILE].mp4

動画のリサイズ

// OUTPUT_FILEの動画サイズは横320px高さは等倍で出力
$ ffmpeg -i [INPUT_FILE] -vf scale=320:-1 [OUTPUT_FILE].mp4

動画をコマで画像に出力

$ ffmpeg -i [INPUT_FILE] -f image2 -vcodec png -r 4 "./%03d.png"

-i インプットファイル
-f フォーマット
-vcodec コーデック
-r 1秒あたりのコマ数
%03d 3桁の数字

・input.mp4の0-10秒を、100fpsで5桁の連番のファイル名のPNGで保存。

$ ffmpeg -i ./input.mp4 -ss 0 -t 10 -f image2 -vcodec png -r 100 "./%05d.png"

FLV to MP4

$ ffmpeg -i [INPUT_FILE].flv -acodec copy -vcodec copy [OUTPUT_FILE].mp4

MP4 to MP3

$ ffmpeg -i [INPUT_FILE].mp4 -ab 128 [OUTPUT_FILE].mp3

連番名の画像から動画に変換

$ ffmpeg -r 30 -i "./%04d.png" -vcodec libx264 -qscale:v 0 ./0.mp4

m3u8からMP4に変換

$ ffmpeg -i https://example.com/hogehoge.m3u8 -mo
vflags faststart -c copy -bsf:a aac_adtstoasc ~/Desktop/req.mp4

HD動画をスマートフォン向けの動画(H.264+aac)に変換

$ ffmpeg -i ./HD.mov -vcodec libx264 -r 19 -b 120k -s 480x270 ./h264_480x270_r19_b120.mp4

-vcodec
-r フレームレート
-b ビットレート
-s リサイズ

音声抽出

$ ffmpeg -i in.mp4 -acodec copy out.m4a

※AACの場合