LoginSignup
6
5

More than 3 years have passed since last update.

【ffmpeg】ffmpegコマンドの備忘録(タイムラプス、切り抜き、アニメGIF、ビットレート指定、コーデック、音消し、手振れ補正、明るさ)

Last updated at Posted at 2019-09-06

概要

  • 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
6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5