最終更新: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 -codecslibavcodecに認識される全てのコーデックを表示
    ffmpeg -bsfs?利用可能なビットストリームフィルタ一覧
    ffmpeg -protocols?利用可能なプロトコル一覧
    ffmpeg -filters?利用可能な pixel フォーマット一覧
    ffmpeg -pix_fmts利用可能な pixel フォーマット一覧
    ffmpeg -sample_fmts?利用可能なサンプルフォーマット一覧
    ffmpeg -loglevel?ログレベル
    ffmpeg -decoders利用可能なデコーダー一覧
    ffmpeg -encoders利用可能なエンコーダー一覧

主なオプション

  • オプション概要
    -ffmtforce formatフォーマットを強制
    -ifilename入力のファイル名
    -y出力ファイルを上書き
    -n上書きしない
    -c[:ストリーム指定子]codecコーデックを指定
    -codec[:ストリーム指定子]codecコーデックを指定
    -tduration指定した時間後に停止(秒 or hh:mm:ss[.xxx])
    -toposition指定した位置で停止
    -fslimit_sizeファイルサイズの上限
    -ssposition秒単位で与えられた時刻の位置を探す(シーク)
    -itsoffsetoffset秒単位で入力時間のオフセットを設定
    -timestampコンテナに記録するタイムスタンプを設定
    -metadatakey=value
    -vnumberログの長さの水準を設定
    -targettype目標のファイルの型("vcd"、"svcd"、"dvd"、"dv"、"dv50"、"pal-vcd"、 "ntsc-svcd"、等)を指定
    -dframesnumber録画録音されるデータフレームの数を設定
    -framesframecount録画するフレーム数
    -qqVBR時に固定のクオリティスケールを使用
    -qscaleq
    -filterfiltergraphフィルタグラフを作成
    -filter_scriptfilename
    -prepreset_nameプリセットを指定
    -stats進捗/統計情報を表示
    -progressurlプログラムで処理しやすい形式で処理状況を送信
    -stdin
    -debug_ts
    -attach
    -dump_attachment
    -scodeccodecサブタイトルのコーデックを強制
    -newsubtitle現在の出力ストリームに新しいサブタイトルストリームを追加
    -slangcode現在のサブタイトルストリームに(3文字の)ISO 639 言語コードを設定

ビデオのオプション

  • オプション概要
    -bbitrateビットレート
    -vbbitrateビットレート
    -vframesnumber録画するビデオフレームの数を設定。-frames:vのエイリアス
    -rfpsフレームレートを設定(規定値は25)
    -ssizeフレームサイズを設定。書式は‘wxh’(avserver? の既定値は160x128、ffmpeg の既定値は元と同じ)
    -aspectaspectアスペクト比を設定
    -vn映像の録画を無効にする
    -vcodeccodecビデオのコーデックを指定。-codec:vのエイリアス
    -passnパス数を選択
    -passlogfileprefix2パスのログファイル名の接頭辞
    -vffilter_graphfilter_graph は入力映像に適用されるフィルターグラフの 説明
  • その他
    オプション概要
    -bttoleranceビデオのビットレート誤差許容量(bit/sで、既定値は4000k)を設定
    -maxratebitrateビデオの最大ビットレートを(bit/sで)設定
    -minratebitrateビデオの最小ビットレートを(bit/sで)設定
    -bufsizesizevideo buffer verifier バッファサイズを(bitsで)設定
    -sameqソースと同じ量子化器を使います(暗にVBRになる)。
    -newvideo現在の出力ストリームに新しいビデオストリームを追加
    -vlangcode現在の映像ストリームの ISO 639 言語コード(3文字)を設定

高度なビデオのオプション

  • オプション概要
    -qmaxd最大のビデオ量子化スケール(VBR)

オーディオオプション

  • オプション概要
    -ab128k音声ビットレート
    -aframesnumber
    -arfreq
    -aq
    -acchannelsオーディオのチャンネル数
    -an音声の録音を無効化
    -acodeccodecコーデックを指定。-codec:aのエイリアス
    -sample_fmt
    -af

その他

  • オプション概要
    -codec
    -hq
    -bufsize
    -g
    -vlevel
    -vsyncparameter映像の同期方法。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 が必須に

参考

関連