LoginSignup
8
6

More than 3 years have passed since last update.

ffmpegの(個人的に)よく使うオプションまとめ

Last updated at Posted at 2019-03-21

FFMPEGの(個人的に)よく使うオプションまとめ

記述意図

  • GitHubにまとめづらい
  • やることがバラバラだからまとまってる記事がない
  • 必要なさげなことが多くて読みにくい記事が多い

環境

環境1

Mac mini (Late2014)
macOS Mojave 10.14.3
ffmpeg version 4.1

環境2

HP z400
Ubuntu 18.04 LTS
ffmpeg version n4.1
Xeon X5690
Quadro K2000 とか

オプションについて(本題)

基本

ffmpeg -i input.mp4 output.mp4

フォーマットさえしっかりしていればとりあえずこれでOK

音声抽出

ffmpeg -i input.mp4 output.mp3

とりあえずこれで良い

画像抽出

ffmpeg -i input.mp4 -ss 15 -f image2 output.png

15秒目の画像を抽出する
-ss は開始位置だけど、1枚しか画像を抽出しないならこれが抽出位置になる
-f 知りたければ自分で調べてね
エラーっぽいの出るけど、画像得られるから無問題

動画抽出

ffmpeg -i input.mp4 -ss 42 -t 23 output.mp4

動画を42秒目から23秒間抽出する
つまり
0:42 -> 1:05
が出力される

フレームレート指定

-r:v 値(fps)

ffmpeg -i input.mp4 -r:v 30 output.mp4

30fps

ビットレート指定

-b:v 値(bps)

ffmpeg -i input.mp4 -b:v 1k output.mp4

1kbps
あまり小さいと無視されるっぽい

2分5秒の動画で比較すると

指定レート(bps) 生成ファイル(MB) 実際のレート(bps)
1k 6.1 390k
100k 6.1 390k
10M 152 9.7M
ちなみに画質差はこんな感じ

100k
n100k.png
1M
n1m.png
10M
n10m.png
入力:1920x1080 mov (iPhone 7 Plus -> mac)
コーデックとかにも依るのかもだけど

動画回転

右90度回転

-vf transpose=1

ffmpeg -i input.mp4 -vf transpose=1 output.mp4
左90度回転

-vf transpose=2

ffmpeg -i input.mp4 -vf transpose=2 output.mp4


tr1.png

tr2.png

コーデック設定

-c:v コーデック名

h264
ffmpeg -i input.mp4 -c:v h264 output.mp4
h264_nvenc (GPU)
ffmpeg -i input.mp4 -c:v h264_nvenc output.mp4
処理時間の差

-b:v 30M (30Mbps)
125秒動画の形式変更 mov -> mp4

codec 処理時間(秒) 生成ファイル(MB)
h264 276 451MB
h264_nvenc 95 454MB
8
6
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
8
6