概要
- ffmpeg カンペです
- (必要に応じて適宜追加)
タイムラプス風
以下のようにする
例
20倍速・・・setpts=PTS/20
15FPS・・・-r 15
ffmpeg -i in.mp4 -filter:v "setpts=PTS/20" -pix_fmt yuvj420p -r 15 out.mp4
動画の一部分を切り抜く(矩形領域)
以下のように指定する
ffmpeg -i in.mp4 -vf crop=width:height:left:top -y d.mp4
width:切り抜く横幅
height:切り抜く高さ
left:切り抜く矩形の左上のx座標
top:切り抜く矩形の左上のy座標
例
動画上の座標(0,0)から320x160の領域を切り抜く
ffmpeg -i in.mp4 -vf crop=320:160:0:0 -y out.mp4
動画の一部分を切り抜く(指定時間でトリミング)
以下のように指定する
ffmpeg -ss 開始時間(秒) -i in.mp4 -t トリミングしたい長さ(秒) out.mp4
--ssは-i より前に書くのが吉
例
動画を10秒目から5秒間トリミングする
ffmpeg -ss 10 -i in.mp4 -t 5 out.mp4
ffmpeg -ss 10 -i in.mp4 -t 5 -vcodec copy out.mp4
動画からアニメーションGIFを作る
動画からキレイなアニメーションGIFを作るとき2段階で処理する
1.palette.png をつくる
2.アニメGIFを生成する
ffmpeg -i in.mp4 -vf fps=15,palettegen=stats_mode=diff -y palette.png
ffmpeg -i in.mp4 -i palette.png -lavfi fps=15,paletteuse -y out.gif
(-y は強制上書き)
ビデオのビットレートを指定する
以下のように指定する
ffmpeg -i in.mp4 -b ビットレート(bits/s) out.mp4
ffmpeg -i in.mp4 -b:v ビットレート(bits/s) out.mp4
ffmpeg -i in.mp4 -vb ビットレート(bits/s) out.mp4
例
ビットレート 1200K に指定する
ffmpeg -i in.mp4 -b 1200K out.mp4
ビデオコーデックを指定する
以下のように指定する
ffmpeg -i in.mp4 -vcodec コーデック out.mp4
例
ffmpeg -i in.mp4 -vcodec wmv2 out.wmv
おまけ:使えるコーデックを調べる
ffmpeg -codecs
ffmpeg -encoders
ffmpeg -decoders
オーディオを消す
ffmpeg -i in.mp4 -vcodec copy -an out.mp4
コントラスト、明るさ(輝度)、サチュレーションを調整する
例
明るさ(brightness,輝度) 0.1、彩度(saturation)1.5、コントラスト(contrast)1.5 に設定する
ffmpeg -i in.mp4 -vf eq=brightness=0.1:saturation=1.5:contrast=1.5 out.mp4
Android Wearのウォッチ側のスクリーンキャプチャ(screenrecordでスマホ画面を録画する)した動画をffmpegでmp4にする
以下のようにする
画面を録画する
adb shell screenrecord --size 320x320 --o raw-frames /sdcard/out.raw
(--size は 幅(width)x高さ(height) で指定する)
スマホの画面を録画したファイルをPCにダウンロードする
adb pull /sdcard/out.raw
スマホの画面を録画したファイルをmp4に変換する
ffmpeg -f rawvideo -vcodec rawvideo -s 1920x1080 -pix_fmt rgb24 -r 10 -i out.raw -an -c:v libx264 -pix_fmt yuv420p out.mp4
おまけ:Androidスマホのスクリーンキャプチャ
端末指定、録画時間指定でキャプチャ
adb -s CBXXXXXX shell screenrecord --bit-rate 40000000 --time-limit 120 --size 1080x1920 /sdcard/out.mp4
動画の上に画像をオーバーレイ、ロゴを入れるなど
以下のようにする
ffmpeg -i in.mp4 -i overray.png -filter_complex overlay out.mp4
音を消す
ffmpeg -i in.mp4 -vcodec copy -an out.mp4
手振れ補正
ステップ1.手振れ情報ファイル(transforms.trf)を生成する
ffmpeg -i in.mp4 -vf vidstabdetect -an -f null -
ステップ2.手振れ情報(transforms.trf)をつかって、手振れ補正済の動画を生成する
ffmpeg -i in.mp4 -vf vidstabtransform -y out.mp4