最終更新:2020-07-20 (月) 23:27:04 (1369d)
ffmpeg
Top / ffmpeg
http://www.ffmpeg.org/ffmpeg.html
日本語訳
Ubuntu/パッケージ
後継
使い方
ハードウェアアクセラレーション
ストリーム指定子
- 0から
- 2:3 refers to the fourth stream in the third input file
- ストリームインデックス
- ストリープタイプ[:ストリームインデックス]
- v - ビデオ
- a - オーディオ
- s - 字幕
- d - データ
- t - 添付
- p:プログラムID[:ストリームインデックス]
- ストリームID
動画情報
- パラメータとして -i だけを指定するとビットレートなどの基本的な情報から、動画に埋め込まれているメタデータなど様々な情報を取得できる
使えるフォーマットとか一覧
共通
ffmpeg [global_options] {[input_file_options] -i ‘input_file’} ... {[output_file_options] ‘output_file’} ...
- -iの前につけると入力のオプション
- -iの後につけると出力のオプション
オプション 値 概要 -i <inputfile> 入力ファイル指定 <outputfile> 出力ファイル
一般的なオプション
オプション 概要 ffmpeg -L? ライセンス表示 ffmpeg -h ヘルプ ffmpeg -?? ヘルプ ffmpeg -help? ヘルプ ffmpeg --help? ヘルプ -h decoder=name -h encoder=name -h demuxer=name -h muxer=name ffmpeg -version? ffmpeg -formats 利用可能なフォーマット ffmpeg -codecs libavcodecに認識される全てのコーデックを表示 ffmpeg -bsfs? 利用可能なビットストリームフィルタ一覧 ffmpeg -protocols? 利用可能なプロトコル一覧 ffmpeg -filters? 利用可能な pixel フォーマット一覧 ffmpeg -pix_fmts 利用可能な pixel フォーマット一覧 ffmpeg -sample_fmts? 利用可能なサンプルフォーマット一覧 ffmpeg -loglevel? ログレベル ffmpeg -decoders 利用可能なデコーダー一覧 ffmpeg -encoders 利用可能なエンコーダー一覧
主なオプション
オプション 値 概要 -f fmt force formatフォーマットを強制 -i filename 入力のファイル名 -y 出力ファイルを上書き -n 上書きしない -c[:ストリーム指定子] codec コーデックを指定 -codec[:ストリーム指定子] codec コーデックを指定 -t duration 指定した時間後に停止(秒 or hh:mm:ss[.xxx]) -to position 指定した位置で停止 -fs limit_size ファイルサイズの上限 -ss position 秒単位で与えられた時刻の位置を探す(シーク) -itsoffset offset 秒単位で入力時間のオフセットを設定 -timestamp コンテナに記録するタイムスタンプを設定 -metadata key=value -v number ログの長さの水準を設定 -target type 目標のファイルの型("vcd"、"svcd"、"dvd"、"dv"、"dv50"、"pal-vcd"、 "ntsc-svcd"、等)を指定 -dframes number 録画録音されるデータフレームの数を設定 -frames framecount 録画するフレーム数 -q q VBR時に固定のクオリティスケールを使用 -qscale q -filter filtergraph フィルタグラフを作成 -filter_script filename -pre preset_name プリセットを指定 -stats 進捗/統計情報を表示 -progress url プログラムで処理しやすい形式で処理状況を送信 -stdin -debug_ts -attach -dump_attachment -scodec codec サブタイトルのコーデックを強制 -newsubtitle 現在の出力ストリームに新しいサブタイトルストリームを追加 -slang code 現在のサブタイトルストリームに(3文字の)ISO 639 言語コードを設定
ビデオのオプション
オプション 値 概要 -b bitrate ビットレート -vb bitrate ビットレート -vframes number 録画するビデオフレームの数を設定。-frames:vのエイリアス -r fps フレームレートを設定(規定値は25) -s size フレームサイズを設定。書式は‘wxh’(avserver? の既定値は160x128、ffmpeg の既定値は元と同じ) -aspect aspect アスペクト比を設定 -vn 映像の録画を無効にする -vcodec codec ビデオのコーデックを指定。-codec:vのエイリアス -pass n パス数を選択 -passlogfile prefix 2パスのログファイル名の接頭辞 -vf filter_graph filter_graph は入力映像に適用されるフィルターグラフの 説明 - その他
オプション 値 概要 -bt tolerance ビデオのビットレート誤差許容量(bit/sで、既定値は4000k)を設定 -maxrate bitrate ビデオの最大ビットレートを(bit/sで)設定 -minrate bitrate ビデオの最小ビットレートを(bit/sで)設定 -bufsize size video buffer verifier バッファサイズを(bitsで)設定 -sameq ソースと同じ量子化器を使います(暗にVBRになる)。 -newvideo 現在の出力ストリームに新しいビデオストリームを追加 -vlang code 現在の映像ストリームの ISO 639 言語コード(3文字)を設定
高度なビデオのオプション
オプション 値 概要 -qmax d 最大のビデオ量子化スケール(VBR)
オーディオオプション
オプション 値 概要 -ab 128k 音声ビットレート -aframes number -ar freq -aq -ac channels オーディオのチャンネル数 -an 音声の録音を無効化 -acodec codec コーデックを指定。-codec:aのエイリアス -sample_fmt -af
その他
オプション 値 概要 -codec -hq -bufsize -g -vlevel -vsync parameter 映像の同期方法。1:constant frame rate
無くなったオプション
オプション メモ -bitexact -flags bitexactに変更 -title -metadata title=value
flvをmovに変換
ffmpeg -y -i {$video_id}.flv -title title -bitexact -hq -vcodec h264 -vlevel 30 -s 480x320 -b 300k -qmin 18 -qmax 51 -bufsize 1024k -g 250 -acodec aac -ac 2 -ar 44100 -ab 96k {$video_id}.mov
フレーム切り出し
- outのあとに付けてもパースされない
オプション 概要 -i 入力ファイル指定 -ss 00:00 何秒目から処理するか -vframes 何フレームを対象にするか (-frames:vのエイリアス) -f image2 画像として出力する -t 00:00 処理する時間 -frames 処理するフレーム数 ffmpeg -ss 1 -vframes 1 -i in.flv -f image2 out.jpg
- if the format is not specified with the -f option and the output filename specifies an image file format, the image2 muxer is automatically selected
タイル出力
ffmpeg -i video -vf tile=8x8 -an -vsync 0 img%03d.png
コーデック
- libx264を使用する場合、-profile baseline が必須に
参考
- http://mobilehackerz.jp/archive/wiki/index.php?最新FFmpeg
- http://mobilehackerz.jp/archive/wiki/index.php?最新ffmpeg/メインオプション
- http://looooooooop.blog35.fc2.com/blog-entry-1021.html