Skip to content

Latest commit

 

History

History
2937 lines (2252 loc) · 117 KB

VCEEncC_Options.ja.md

File metadata and controls

2937 lines (2252 loc) · 117 KB

VCEEncC オプションリスト

コマンドラインの例

基本的なコマンドの表記

VCEEncC.exe [Options] -i <filename> -o <filename>

もっと実用的なコマンド

hwデコードを使用する例

VCEEncC --avhw -i "<mp4(H.264/AVC) file>" -o "<outfilename.264>"

hwデコードを使用する例 (インタレ保持)

VCEEncC --avhw --interlace tff -i "<mp4(H.264/AVC) file>" -o "<outfilename.264>"

avs(Avisynth)の例 (avsやvpyはvfw経由でも読み込み可能です)

VCEEncC -i "<avsfile>" -o "<outfilename.264>"

パイプ利用の例

avs2pipemod -y4mp "<avsfile>" | VCEEncC --y4m -i - -o "<outfilename.264>"

ffmpegからパイプ渡し

ffmpeg -y -i "<ソース動画>" -an -pix_fmt yuv420p -f yuv4mpegpipe - | VCEEncC --y4m -i - -o "<outfilename.264>"

ffmpegから映像と音声を両方パイプ渡したい

--> "nut"フォーマットでくるんで受け渡しするとよいでしょう

ffmpeg -y -i "<input>" <options for ffmpeg> -codec:a copy -codec:v rawvideo -pix_fmt yuv420p -f nut - | VCEEncC --avsw -i - --audio-codec aac -o "<outfilename.mp4>"

raw H.264/ESのmux

H.264/ESで出力し、mp4に格納したり、AAC音声とmuxする場合には、L-SMASHを使って、

muxer.exe -i "<raw H.264/ES file>" -i "<ADTS-AAC>" -o "<muxed mp4 file>"

としてAAC音声と多重化できます。音声がALACの場合には、

muxer.exe -i "<raw H.264/ES file>" -o "<video mp4file>"
remuxer.exe -i "<video mp4file>" -i "<m4a(ALAC in mp4)file>" -o "<muxed mp4 file>"

のように2段階のステップが必要です。

同様にmkvtoolnixに含まれるmkvmergeでmuxし、mkvに格納することもできます。

オプションの指定方法

-<短縮オプション名>、--<オプション名> <引数>  
引数なしの場合は単体で効果を発揮。

引数のタイプは
- なし
- <int>   整数で指定
- <float> 小数点で指定
- <string> 文字列で指定

引数の [ ] { } 内は、省略可能です。
"..." は繰り返し意味します。

--(no-)xxx
と付いている場合は、--no-xxxとすることで、--xxxと逆の効果を得る。  
例1: --xxx : xxxを有効にする → --no-xxx: xxxを無効にする  
例2: --xxx : xxxを無効にする → --no-xxx: xxxを有効にする

表示系オプション

-h,-? --help

ヘルプの表示

-v, --version

バージョンの表示

--option-list

オプションリストの表示。

--check-hw [<int>]

ハードウェアエンコの可否の表示。数字でDeviceIDを指定できる。省略した場合は"0"。

--check-features [<int>]

VCEEncの使用可能なエンコード機能を表示する。数字でDeviceIDを指定できる。省略した場合は"0"。

--check-clinfo

OpenCLの情報を表示

--check-codecs, --check-decoders, --check-encoders

利用可能な音声コーデック名を表示

--check-profiles <string>

利用可能な音声プロファイル名を表示

--check-formats

利用可能な出力フォーマットを表示

--check-protocols

利用可能なプロトコルを表示

--check-avdevices

利用可能なデバイス(libavdeviceのデバイス)を表示

--check-filters

利用可能な音声フィルタを表示

--check-avversion

dllのバージョンを表示

エンコードの基本的なオプション

-d, --device <int>

VCEEncで使用するDeviceIdを指定する。

-c, --codec <string>

エンコードするコーデックの指定

  • h264 (デフォルト)
  • hevc
  • av1

-o, --output <string>

出力ファイル名の表示、"-"でパイプ出力

-i, --input <string>

入力ファイル名の設定、"-"でパイプ入力

VCEEncの入力方法は下の表のとおり。入力フォーマットをしてしない場合は、拡張子で自動的に判定される。

使用される読み込み 対象拡張子
Avisynthリーダー avs
VapourSynthリーダー vpy
aviリーダー avi
y4mリーダー y4m
rawリーダー yuv
avhw/avswリーダー それ以外
入力方法の対応色空間 yuv420 yuy2 yuv422 yuv444 rgb24 rgb32
raw
y4m
avi
avs
vpy
avhw
avsw

◎ ... 8bit / 9bit / 10bit / 12bit / 14bit / 16bitに対応
◇ ... 8bit / 10bit / 12bitに対応
□ ... 8bit / 10bitに対応
○ ... 8bitのみ対応
無印 ... 非対応

--raw

入力をraw形式に設定する。 入力解像度、入力fpsの設定が必要。

--y4m

入力をy4m(YUV4MPEG2)形式として読み込む。

--avi

入力ファイルをaviファイルとして読み込む。

--avs

入力ファイルをAvisynthで読み込む。

VCEEncCはデフォルトではUTF-8モードで動作するため、AvisynthスクリプトはUTF-8(BOM無し)とする必要がある。 一般的なShiftJISがデフォルトの文字コードとなっている環境で、従来のShiftJISのスクリプトを使用する場合には、 "--process-codepage os" オプションを追加して、モードを切り替えてください。

--vpy

--vpy-mt

入力ファイルをVapourSynthで読み込む。

--avsw [<string>]

avformat + sw decoderを使用して読み込む。ffmpegの対応するほとんどのコーデックを読み込み可能。

追加のパラメータで使用するデコーダ名を指定可能。特に指定のない場合、デコーダは自動的に選択される。

--avhw

avformat + hw decoderを使用して読み込む。 デコードからエンコードまでを一貫してGPUで行うため高速。

コーデック 対応状況
MPEG1 ×
MPEG2
H.264/AVC
H.265/HEVC
VP8 ×
VP9
VC-1
WMV3/WMV9 ×

--interlace <string>

入力フレームがインターレースかどうかと、そのフィールドオーダーを設定する。

  • パラメータ
    • none ... プログレッシブ
    • tff ... トップフィールドファースト
    • bff ... ボトムフィールドファースト
    • auto ... 自動検出

--crop <int>,<int>,<int>,<int>

左、上、右、下の切り落とし画素数。

--frames <int>

読み込むフレーム数。 (注: 入力ベースである点に注意、出力ベースではない)

--fps <int>/<int> or <float>

--rawを使用した時の入力フレームレートの設定。--raw以外での使用は非推奨。

raw形式の場合のみ有効で、その他の場合は無視されるか、fps推定のヒントとしてのみ扱われる。

--input-res <int>x<int>

入力解像度の設定。raw形式の場合は必須。

--output-res <int>x<int>[,<string>=<string>]

出力解像度の設定。入力解像度と異なる場合、自動的にHW/GPUリサイズを行う。

指定がない場合、入力解像度と同じになり、リサイズは行われない。

  • 特殊な値について

    • 0 ... 入力解像度と同じ
    • 縦横のどちらかを負の値
      アスペクト比を維持したまま、片方に合わせてリサイズ。ただし、その負の値で割り切れる数にする。
  • パラメータ

    • preserve_aspect_ratio=<string>
      指定解像度(指定枠)の縦横どちらかに合うよう、入力アスペクト比を維持しながらリサイズする。
      • increase ... 拡大してアスペクト比を維持する (指定枠に外接するよう調整)
      • decrease ... 縮小してアスペクト比を維持する (指定枠に収めるように調整)
    • ignore_sar=<bool>
      負の値で自動リサイズする際、入出力のSAR比を無視して計算する。デフォルトでは無効(false)。
  • 使用例

    例: 入力が1280x720の場合
    --output-res 1024x576 -> 通常の指定方法
    --output-res 960x0    -> 960x720にリサイズ (0のほうは720のまま)
    --output-res 1920x-2  -> 1920x1080にリサイズ (アスペクト比が維持できるように調整)
    
    --output-res 1440x1440,preserve_aspect_ratio=increase -> 2560x1440にリサイズ
    --output-res 1440x1440,preserve_aspect_ratio=decrease -> 1440x810にリサイズ
    

--input-csp <string>

raw読み込み時の入力色空間の設定。デフォルトはyv12。

  yv12, nv12, p010, yuv420p9le, yuv420p10le, yuv420p12le, yuv420p14le, yuv420p16le
  yuv422p, yuv422p9le, yuv422p10le, yuv422p12le, yuv422p14le, yuv422p16le
  yuv444p, yuv444p9le, yuv444p10le, yuv444p12le, yuv444p14le, yuv444p16le

エンコードモードのオプション

デフォルトはCQP(固定量子化量)。

--cqp <int> or <int>:<int>:<int> (固定量子化量)

CQP(固定量子化量)でエンコードを行う。<Iフレーム>:<Pフレーム>:<Bフレーム>のQP値を設定。

基本的にQP値は I < P < B になるように設定することをおすすめ。

--cbr <int> (固定ビットレート)

--cbrhq <int> (固定ビットレート (高品質)) [H.264/AV1]

--vbr <int> (可変ビットレート)

--vbrhq <int> (可変ビットレート (高品質)) [H.264/AV1]

--qvbr <int> (可変ビットレート) [H.264/AV1]

ビットレートをkbps単位で指定してエンコードを行う。

--qvbr <x>--vbr 0 --qvbr-quality <x>の省略形。

その他のオプション

-u, --preset

エンコーダの品質プリセット。

  • balanced
  • fast
  • slow
  • slower (AV1 のみ)

--output-depth <int>

出力ビット深度を設定。

  • 8 ... 8bit (デフォルト)
  • 10 ... 10bit

--max-bitrate <int>

最大ビットレート(kbps単位)。

--vbv-bufsize <int>

VBVバッファサイズ(kb単位, デフォルト:自動)。最大値は500000。

--qp-min <int> or <int>:<int>:<int>

最小QP値を<Iフレーム>:<Pフレーム>:<Bフレーム>で設定する。 ビットレート指定のエンコードモード使用時のみ有効。設定したQP値より低いQP値は使用されなくなる。

ビットレート指定モードなどで、静止画などの部分で過剰にビットレートが割り当てられることがあるのを抑制したりするのに使用する。

--qp-max <int> or <int>:<int>:<int>

最大QP値を<Iフレーム>:<Pフレーム>:<Bフレーム>設定する。 ビットレート指定のエンコードモード使用時のみ有効。設定したQP値より高いQP値は使用されなくなる。

指定したビットレートを超えてでも、動画のどんな部分でもある程度の品質を維持したい場合に使用する。

--qvbr-quality <int>

QVBRの品質レベルの指定。0-51の間で指定する。

--gop-len <int>

最大GOP長。lookaheadオフでは、この値が常に使用される。(可変ではない)

-b, --bframes <int>

連続Bフレーム数。

--b-pyramid

Bフレームのピラミッド参照を有効にする。(デフォルト:自動)

--b-deltaqp <int>

BフレームのQPオフセット値の指定。(デフォルト:自動)

--bref-deltaqp <int>

参照BフレームのQPオフセット値の指定。(デフォルト:自動)

--adapt-minigop [H.264/AV1]

Adaptive mini-gopを有効にする。このオプションは、AV1エンコードでは同時に--paを有効にする。 (デフォルト:自動)

--ref <int>

参照距離を設定する。VCEEncではあまり増やしても品質は向上しない。(デフォルト:自動)

--ltr <int> [H.264/HEVC]

LTRモードの指定。(デフォルト:自動)

--vbaq [H.264/HEVC]

適応的量子化を有効にする。(デフォルト:自動)

--skip-frame [H.264/HEVC]

スキップフレームを有効にする。(デフォルト:オフ)

--enforce-hrd

HRD互換の出力を行う。

--filler

fillerデータを出力し、(名目上の)ビットレートを調整する。

--no-deblock [H.264/HEVC]

デブロックフィルタの無効化。

--motion-est <string> [H.264/HEVC]

動きベクトル精度 / デフォルト: auto

  • auto ... 自動
  • q-pel ... 1/4画素精度 (高精度)
  • half-pel ... 1/2画素精度
  • full-pel ... 1 画素精度 (低精度)

--tiles <int> [AV1]

1フレームあたりのタイル数の指定。

--cdef-mode <string> [AV1]

Cdefモード。(デフォルト:自動)

  • パラメータ
    • on
    • off

--screen-content-tools [<param1>=<value1>[,<param2>=<value2>]...]

Screen content toolsを有効にする。(デフォルト:自動)

  • パラメータ

    • palette-mode=<bool>
      palette modeを有効にする。

    • force-integer-mv=<bool>
      force integer MVを有効にする。

  • 使用例

    --screen-content-tools palette-mode=on,force-integer-mv=on
    

--cdf-update [AV1]

Enable CDF update. (default: auto)

--cdf-frame-end-update [AV1]

Enable CDF frame end update. (default: auto)

--temporal-layers <int> [HEVC/AV1]

Temporal layersの数。

--aq-mode <string> [AV1]

AQモード。

  • パラメータ
    • none
    • caq

--pe

pre-encodeによるレート制御を使用する。

--pa [<param1>=<value1>[,<param2>=<value2>]...]

Pre-Analysisを有効にして、品質向上を図る。VBR時のみ使用可能。 (デフォルト:オフ)

  • パラメータ

    • sc=<string> シーンチェンジ検出の感度。

      • none
      • low
      • medium (default)
      • high
    • ss=<string>
      静止したシーンの検出感度。

      • none
      • low
      • medium
      • high (default)
    • activity-type=<string>
      ブロックの動きの検出モード。

      • y (default)
      • yuv
    • caq-strength=<string>
      Content Adaptive Quantization (CAQ) の強さ。

      • low
      • medium (default)
      • high
    • initqpsc=<int>
      シーンチェンジ検出検出後に適用する初期QP。 (デフォルト: -1 ( = 自動))

    • fskip-maxqp=<int>
      静止したシーンでスキップフレームを挿入するQPの閾値。 (デフォルト: 35)

    • lookahead=<int>
      先行探索に使用するバッファサイズを指定する。

    • ltr=<bool>
      LTRフレームの自動管理を有効/無効にする。

    • paq=<string>
      視覚適応的QP調整モードを指定する。

      • none
      • caq
    • taq=<int>
      時間適応的QP調整モードを指定する。

      • 0
      • 1
      • 2
    • motion-quality=<string>
      動き品質の向上モードを指定する。

      • none
      • auto
  • 使用例

    --pa sc=high,ss=high,activity-type=yuv,paq=caq,taq=on,lookahead=32
    

--slices <int> [H.264/HEVC]

スライス数。指定なし、あるいは0で自動。

--level <string>

エンコードするコーデックのLevelを指定する。指定しない場合は自動的に決定される。

h264:  auto, 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2, 5, 5.1, 5.2
hevc:  auto, 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2
av1 :  auto, 2, 2.1, 2.2, 2.3, 3, 3.1, 3.2, 3.3, 4, 4.1, 4.2, 4.3, 5, 5.1, 5.2, 5.3, 6, 6.1, 6.2, 6.3, 7, 7.1, 7.2, 7.3

--profile <string>

エンコードするコーデックのプロファイルを指定する。指定しない場合は自動的に決定される。

h264:  auto, baseline, main, high, high444
hevc:  auto, main, main10, main444
av1 :  auto, main

--tier <string>

コーデックのtierを指定する。

hevc:  main, high

--sar <int>:<int>

SAR比 (画素アスペクト比) の指定。

--dar <int>:<int>

DAR比 (画面アスペクト比) の指定。

--colorrange <string>

"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)

  limited, full, auto

--videoformat <string>

  undef, ntsc, component, pal, secam, mac

--colormatrix <string>

"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)

  undef, auto, bt709, smpte170m, bt470bg, smpte240m, YCgCo, fcc, GBR, bt2020nc, bt2020c

--colorprim <string>

"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)

  undef, auto, bt709, smpte170m, bt470m, bt470bg, smpte240m, film, bt2020

--transfer <string>

"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)

  undef, auto, bt709, smpte170m, bt470m, bt470bg, smpte240m, linear,
  log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,
  bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67

--chromaloc <int> or "auto"

出力データのchroma location flagを 0 ~ 5 の範囲で指定する。
デフォルト = 0 (unspecified)

--max-cll <int>,<int> or "copy" [HEVC, AV1]

MaxCLL and MaxFall を nits で指定する。"copy"とすると入力ファイルの値を出力ファイルにそのまま設定します。(avhw/avsw読み込みのみ)

--repeat-headersが自動的に有効になる点に注意してください。

例1: --max-cll 1000,300
例2: --max-cll copy  # 入力ファイルから値をコピー

--master-display <string> or "copy" [HEVC, AV1]

Mastering display data の設定。"copy"とすると入力ファイルの値を出力ファイルにそのまま設定します。(avhw/avsw読み込みのみ)

--repeat-headersが自動的に有効になる点に注意してください。

例1: --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
例2: --master-display copy  # 入力ファイルから値をコピー

--atc-sei <string> or <int> [HEVCのみ]

Alternative transfer characteristics SEI の設定。下記文字列または整数で指定する。

  undef, auto, bt709, smpte170m, bt470m, bt470bg, smpte240m, linear,
  log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,
  bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67

--dhdr10-info <string> [HEVC, AV1]

指定したjsonファイルから、HDR10+のメタデータを読み込んで反映する。実行には追加でhdr10plus_gen.exeが必要。

--dhdr10-info copy [HEVC, AV1]

HDR10+のメタデータを入力ファイルからそのままコピーします。 avhw読み込みでは、フレームの並び替えにタイムスタンプを使用するため、タイムスタンプの取得できないraw ESのような入力ファイルでは使用できません。 こうした場合には、avsw読み込みを使用してください。

--dolby-vision-profile <string> [HEVC, AV1]

指定されたdolby visionプロファイルを適用します。--dolby-vision-rpuとの併用が推奨です。

"copy" は、入力ファイルのdolby visionプロファイルを適用します。 (avhw/avsw読み込みのみ)

unset, copy, 5.0, 8.1, 8.2, 8.4

--dolby-vision-rpu <string> [HEVC, AV1]

指定のrpuファイルに含まれるdolby visionのmetadataを出力ファイルに挿入します。--dolby-vision-profileとの併用が推奨です。

--dolby-vision-rpu copy [HEVC, AV1]

HEVCの入力ファイルから読み取ったdolby visionのmetadataを出力ファイルに挿入します。 --dolby-vision-profileとの併用が推奨です。

avhw読み込みでは、フレームの並び替えにタイムスタンプを使用するため、タイムスタンプの取得できないraw ESのような入力ファイルでは使用できません。 こうした場合には、avsw読み込みを使用してください。

--dolby-vision-rpu-prm <param1>=<value1>[,<param2>=<value2>]...

--dolby-vision-rpu用のパラメータを指定する。

  • パラメータ

    • crop=<bool>

      RPUのactive area offsetsを0に設定する (レターボックスなしの意味)。

  • 使用例

    例:  --dolby-vision-rpu-prm crop=true
    

--ssim

エンコード結果のSSIMを計算。

--psnr

エンコード結果のPSNRを計算。

--smart-access-video

Smart Access Videoを使用する。

--multi-instance [HEVC/AV1]

マルチインスタンスでのエンコードを有効にする。

入出力 / 音声 / 字幕などのオプション

--input-analyze <float>

libavが読み込み時に解析するファイルの時間を秒で指定。デフォルトは5。 音声トラックなどが正しく抽出されない場合、この値を大きくしてみてください(例:60)。

--input-probesize <int>

libavが読み込み時に解析する最大のサイズをbyte単位で指定。

--trim <int>:<int>[,<int>:<int>][,<int>:<int>]...

指定した範囲のフレームのみをエンコードする。

  • 使用例
    例1: --trim 0:1000,2000:3000    (0~1000フレーム目, 2000~3000フレーム目をエンコード)
    例2: --trim 2000:0              (2000~最終フレームまでをエンコード)
    

--seek [[<int>:]<int>:]<int>[.<int>]

書式は、hh:mm:ss.ms。"hh"や"mm"は省略可。 高速だが不正確なシークをしてからエンコードを開始する。正確な範囲指定を行いたい場合は--trimで行う。

  • 使用例
    例1: --seek 0:01:15.400
    例2: --seek 1:15.4
    例3: --seek 75.4
    

--seekto [[<int>:]<int>:]<int>[.<int>]

書式は、hh:mm:ss.ms。"hh"や"mm"は省略可。 エンコードの終了時刻を指定する。正確な範囲指定を行いたい場合は--trimで行う。

  • 使用例
    例1: --seekto 0:01:15.400
    例2: --seekto 1:15.4
    例3: --seekto 75.4
    

--input-format <string>

avhw/avswリーダー使用時に、入力のフォーマットを指定する。

-f, --output-format <string>

muxerに出力フォーマットを指定して出力する。

出力フォーマットは出力拡張子から自動的に決定されるので、通常、特に指定する必要はないが、このオプションで出力フォーマットを強制できる。

使用可能なフォーマットは--check-formatsで確認できる。H.264/HEVCをElementary Streamで出力する場合には、"raw"を指定する。

--video-track <int>

エンコード対象の映像トラックの選択。avsw/avhwリーダー使用時のみ有効。

  • 1 ... 最も高解像度の映像トラック (デフォルト)
  • 2 ... 2番目に高解像度の映像トラック ...
  • -1 ... 最も低解像度の映像トラック
  • -2 ... 2番目に低解像度の映像トラック

--video-streamid <int>

エンコード対象の映像トラックをstream idで選択。

--video-tag <string>

映像のcodec tagの指定。

  • 使用例
     -o test.mp4 -c hevc --video-tag hvc1
    

--video-metadata [<int>?]<string> or [<int>?]<string>=<string>

映像トラックのmetadataを指定する。

  • copy ... 入力ファイルからmetadataをコピーする。

  • clear ... do not copy metadata (デフォルト)

  • 使用例

    例1: 入力ファイルからmetadataをコピー
    --video-metadata 1?copy
    
    例2: 入力ファイルからのmetadataのコピーを行わない
    --video-metadata 1?clear
    
    例3: 指定のmetadataを設定する
    --video-metadata 1?title="音声の タイトル" --video-metadata 1?language=jpn
    

--audio-copy [<int/string>;[,<int/string>]...]

音声をそのままコピーしながら映像とともに出力する。avhw/avswリーダー使用時のみ有効。

tsなどでエラーが出るなどしてうまく動作しない場合は、--audio-codecで一度エンコードしたほうが安定動作するかもしれない。

[<int>[,<int>]...]で、抽出する音声トラック(1,2,...)を指定したり、[<string>]で指定した言語の音声トラックをコピーすることもできる。

  • 使用例
    例: 全ての音声トラックを抽出
    --audio-copy
    
    例: トラック番号#1,#2を抽出
    --audio-copy 1,2
    
    例: 日本語と英語の音声トラックを抽出
    --audio-copy jpn,eng
    

--audio-codec [[<int/string>?]<string>[:<string>=<string>[,<string>=<string>]...]...]

音声をエンコードして映像とともに出力する。使用可能なコーデックは--check-encodersで確認できる。

[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

さらに、[<string>=<string>]の形式で、音声エンコーダのオプションを指定することもできる。

  • 使用例
    例1: 音声をmp3に変換
    --audio-codec libmp3lame
    
    例2: 音声の第2トラックをaacに変換
    --audio-codec 2?aac
    
    例3: 日本語の音声をaacに変換
    --audio-codec jpn?aac
    
    例4: 日本語と英語の音声をaacに変換
    --audio-codec jpn?aac --audio-codec eng?aac
    
    例5: aacエンコーダのパラメータ"aac_coder"に低ビットレートでより高品質な"twoloop"を指定
    --audio-codec aac:aac_coder=twoloop
    

--audio-bitrate [<int/string>?]<int>

音声をエンコードする際のビットレートをkbpsで指定する。

[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

  • 使用例
    例1: --audio-bitrate 192   (音声を192kbpsで変換)
    例2: --audio-bitrate 2?256 (音声の第2トラックを256kbpsで変換)
    

--audio-profile [<int/string>?]<string>

音声をエンコードする際、そのプロファイルを指定する。

--audio-stream [<int/string>?]{<string1>}[:<string2>]

音声チャンネルの分離・統合などを行う。 --audio-streamが指定された音声トラックは常にエンコードされる。(コピー不可) ,(カンマ)で区切ることで、入力の同じトラックから複数のトラックを生成できる。

  • 書式
    <int>に処理対象のトラックを指定する。

    <string1>に入力として使用するチャンネルを指定する。省略された場合は入力の全チャンネルを使用する。

    <string2>に出力チャンネル形式を指定する。省略された場合は、<string1>のチャンネルをすべて使用する。

  • 使用例

    例1: --audio-stream FR,FL
    デュアルモノから左右のチャンネルを2つのモノラル音声に分離する。
    
    例2: --audio-stream :stereo
    どんな音声もステレオに変換する。
    
    例3: --audio-stream 2?5.1,5.1:stereo
    入力ファイルの第2トラックを、5.1chの音声を5.1chとしてエンコードしつつ、ステレオにダウンミックスしたトラックを生成する。
    実際に使うことがあるかは微妙だが、書式の紹介例としてはわかりやすいかと。
    
  • 使用できる記号

    mono       = FC
    stereo     = FL + FR
    2.1        = FL + FR + LFE
    3.0        = FL + FR + FC
    3.0(back)  = FL + FR + BC
    3.1        = FL + FR + FC + LFE
    4.0        = FL + FR
    4.0        = FL + FR + FC + BC
    quad       = FL + FR + BL + BR
    quad(side) = FL + FR + SL + SR
    5.0        = FL + FR + FC + SL + SR
    5.1        = FL + FR + FC + LFE + SL + SR
    6.0        = FL + FR + FC + BC + SL + SR
    6.0(front) = FL + FR + FLC + FRC + SL + SR
    hexagonal  = FL + FR + FC + BL + BR + BC
    6.1        = FL + FR + FC + LFE + BC + SL + SR
    6.1(front) = FL + FR + LFE + FLC + FRC + SL + SR
    7.0        = FL + FR + FC + BL + BR + SL + SR
    7.0(front) = FL + FR + FC + FLC + FRC + SL + SR
    7.1        = FL + FR + FC + LFE + BL + BR + SL + SR
    7.1(wide)  = FL + FR + FC + LFE + FLC + FRC + SL + SR
    

--audio-samplerate [<int/string>?]<int>

音声のサンプリング周波数をHzで指定する。 [<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

  • 使用例
    例1: --audio-bitrate 44100   (音声を44100Hzに変換)
    例2: --audio-bitrate 2?22050 (音声の第2トラックを22050Hzに変換)
    

--audio-resampler <string>

音声チャンネルのmixやサンプリング周波数変換に使用されるエンジンの指定。

  • swr ... swresampler (デフォルト)
  • soxr ... sox resampler (libsoxr)

--audio-delay [<int/string>?]<float>

音声に設定する遅延をms単位で指定する。[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

--audio-file [<int>][<string>?]<string>

指定したパスに音声を抽出する。出力フォーマットは出力拡張子から自動的に決定する。avhw/avswリーダー使用時のみ有効。

[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

  • 使用例
    例: test_out2.aacにトラック番号#2を抽出
    --audio-file 2?"test_out2.aac"
    

[<string>]では、出力フォーマットを指定することができる。

  • 使用例
    例: 拡張子なしでもadtsフォーマットで出力
    --audio-file 2?adts:"test_out2"  
    

--audio-filter [<int/string>?]<string>

音声に音声フィルタを適用する。適用可能なフィルタはこちら

[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

  • 使用例
    例1: --audio-filter volume=0.2     (音量を下げる例)
    例2: --audio-filter 2?volume=-4db  (第2トラックの音量を下げる例)
    

--audio-disposition [<int/string>?]<string>[,<string>][]...

音声のdispositionを指定する。

[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

  • 指定可能なdisposition

     default
     dub
     original
     comment
     lyrics
     karaoke
     forced
     hearing_impaired
     visual_impaired
     clean_effects
     attached_pic
     captions
     descriptions
     dependent
     metadata
     copy
    
  • 使用例

    例:
    --audio-disposition 2?default,forced
    

--audio-metadata [<int/string>?]<string> or [<int/string>?]<string>=<string>

音声トラックのmetadataを指定する。

  • copy ... 入力ファイルからmetadataをコピーする。 (デフォルト)
  • clear ... do not copy metadata

[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。

  • 使用例
    例1: 入力ファイルからmetadataをコピー
    --audio-metadata 1?copy
    
    例2: 入力ファイルからのmetadataのコピーを行わない
    --audio-metadata 1?clear
    
    例3: 指定のmetadataを設定する
    --audio-metadata 1?title="音声の タイトル" --audio-metadata 1?language=jpn
    

--audio-bsf [<int/string>?]<string>

音声トラックにbitstream filterを適用する。使用可能なフィルタは、こちらの中から選択可能。

--audio-ignore-decode-error <int>

指定した連続する音声のデコードエラーの数をカウントし、閾値以内ならエラーを無視して処理を継続し、エラーの箇所は無音に置き換える。

デフォルトは10。 0とすれば、1回でもデコードエラーが起これば処理を中断してエラー終了する。

--audio-source <string>[:[{<int>?}][;<param1>=<value1>...]/[]...]

外部音声ファイルをmuxする。

  • ファイルのパラメータ

    • format=<string>
      入力ファイルのフォーマットを指定する。

    • input_opt=<string>
      入力ファイル用のオプションを指定する。

  • トラックのパラメータ

    • copy
      音声トラックをそのままコピーする。

    • codec=<string>
      音声トラックを指定のコーデックにエンコードする。

    • profile=<string>
      音声エンコード時のプロファイルを指定する。

    • bitrate=<int>
      音声エンコード時のビットレートをkbps単位で指定する。

    • samplerate=<int>
      音声エンコード時のサンプリングレートをHz単位で指定する。

    • delay=<int>
      音声を指定した時間遅延させる。(ms単位)

    • dec_prm=<string>
      音声デコード時のパラメータを指定する。

    • enc_prm=<string>
      音声エンコード時のパラメータを指定する。

    • filter=<string>
      音声エンコード時のフィルタを指定する。

    • disposition=<string>
      音声のdispositionを指定する。

    • metadata=<string1>=<string2>
      音声のmetadataを指定する。

    • bsf=<string>
      音声に適用するbitstream filterを指定する。

  • 使用例

    例1: --audio-source "<audio_file>:copy"
    例2: --audio-source "<audio_file>:codec=aac"
    例3: --audio-source "<audio_file>:1?codec=aac;bitrate=256/2?codec=aac;bitrate=192;metadata=language=jpn;disposition=default,forced"
    例4: --audio-source "hw:1:format=alsa/codec=aac;bitrate=256"
    

--chapter <string>

指定したチャプターファイルを読み込み反映させる。 nero形式、apple形式、matroska形式に対応する。--chapter-copyとは併用できない。

  • nero形式

    CHAPTER01=00:00:39.706
    CHAPTER01NAME=chapter-1
    CHAPTER02=00:01:09.703
    CHAPTER02NAME=chapter-2
    CHAPTER03=00:01:28.288
    CHAPTER03NAME=chapter-3
    
  • apple形式 (UTF-8であること)

    <?xml version="1.0" encoding="UTF-8" ?>
      <TextStream version="1.1">
       <TextStreamHeader>
        <TextSampleDescription>
        </TextSampleDescription>
      </TextStreamHeader>
      <TextSample sampleTime="00:00:39.706">chapter-1</TextSample>
      <TextSample sampleTime="00:01:09.703">chapter-2</TextSample>
      <TextSample sampleTime="00:01:28.288">chapter-3</TextSample>
      <TextSample sampleTime="00:01:28.289" text="" />
    </TextStream>
    
  • matroska形式 (UTF-8であること)
    その他のサンプル>>

    <?xml version="1.0" encoding="UTF-8"?>
    <Chapters>
      <EditionEntry>
        <ChapterAtom>
          <ChapterTimeStart>00:00:00.000</ChapterTimeStart>
          <ChapterDisplay>
            <ChapterString>chapter-0</ChapterString>
          </ChapterDisplay>
        </ChapterAtom>
        <ChapterAtom>
          <ChapterTimeStart>00:00:39.706</ChapterTimeStart>
          <ChapterDisplay>
            <ChapterString>chapter-1</ChapterString>
          </ChapterDisplay>
        </ChapterAtom>
        <ChapterAtom>
          <ChapterTimeStart>00:01:09.703</ChapterTimeStart>
          <ChapterDisplay>
            <ChapterString>chapter-2</ChapterString>
          </ChapterDisplay>
        </ChapterAtom>
        <ChapterAtom>
          <ChapterTimeStart>00:01:28.288</ChapterTimeStart>
          <ChapterTimeEnd>00:01:28.289</ChapterTimeEnd>
          <ChapterDisplay>
            <ChapterString>chapter-3</ChapterString>
          </ChapterDisplay>
        </ChapterAtom>
      </EditionEntry>
    </Chapters>
    

--chapter-copy

チャプターをコピーする。

--chapter-no-trim

チャプター読み込みの際、trimを反映させず、そのまま適用する。

--key-on-chapter

キーフレーム位置にチャプターを挿入する。

--keyfile <string>

キーフレームしたいフレーム番号を記載したファイルを読み込み、指定のフレームをキーフレームに設定する。 フレーム番号は、先頭から0, 1, 2, .... として、複数指定する場合は都度改行する。

--sub-source <string>[:{<int>?}[;<param1>=<value1>]...]...

指定のファイルから字幕を読み込みmuxする。

  • ファイルのパラメータ

    • format=<string>
      入力ファイルのフォーマットを指定する。

    • input_opt=<string>
      入力ファイル用のオプションを指定する。

  • トラックのパラメータ

    • disposition=<string>
      字幕のdispositionを指定する。

    • metadata=<string1>=<string2>
      字幕のmetadataを指定する。

    • bsf=<string>
      字幕に適用するbitstream filterを指定する。

  • 使用例

    例1: --sub-source "<sub_file>"
    例2: --sub-source "<sub_file>:disposition=default,forced;metadata=language=jpn"
    

--sub-copy [<int/string>;[,<int/string>]...]

字幕をコピーする。avhw/avswリーダー使用時のみ有効。

[<int>[,<int>]...]で、抽出する字幕トラック(1,2,...)を指定したり、[<string>[,<string>]...]で指定した言語の字幕トラックをコピーすることもできる。

対応する字幕は、PGS/srt/txt/ttxtなど。

  • 使用例
    例: 全ての字幕トラックをコピー
    --sub-copy
    
    例: 字幕トラック #1と#2をコピー
    --sub-copy 1,2
    
    例: 日本語と英語の音声トラックを抽出
    --sub-copy jpn,eng