CRI Sofdec  Last Updated: 2024-04-17 11:21 p
sofdec2encVP9.exeを使ったSofdec.Prime/H.264 USMのエンコード方法
本項ではsofdec2encVP9.exeで可能なSofdec.Prime/H.264エンコードの使用方法について説明します。

エンコードで使用するバッチファイルの変更について

GUI版のSofdec2EncWiz.exeでビデオコーデックでVP9を選択しておき、
その他のエンコードパラメータを設定後にメニュー>エクスポートからバッチファイルを出力します。
その後、バッチファイルについて以下手順にて変更する事をおすすめします。
Sofdec.Primeエンコード用にバッチファイル変更
sofdec2encVP9.exeのSofdec.Primeエンコード用のバッチファイルの作成についてはVP9のバッチファイルの以下4点について変更、削除してお試しください。
(1) -multi_pass=2のあるコマンド行(VP9 2パス目)の削除。
(2) 拡張子がivfになっているところをsfvに変更する。
(3) 「-vengine=libvpx -vcodec=vp9 -multi_pass=1 -vpx_speed=4」といったのVP9に関するオプションの削除。
(4)「-vcodec=prime -vengine=pms」のオプションの追加。
例えば以下のようなバッチ内容になります。
"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.sfv" -vbitrate=10000000 -acodec=hca -hca_quality=4 -input_audio#00="sample.mov" -vcodec=prime -vengine=pms
"sofdec2encVP9.exe" -input_video="sample.sfv" -input_audio#00="sample#00.hca" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080
H.264エンコード用にバッチファイル変更
sofdec2encVP9.exeのH.264エンコード用のバッチファイルの作成についてはVP9のバッチファイルの以下4点について変更、削除してお試しください。
(1) -multi_pass=2のあるコマンド行(VP9 2パス目)の削除。
(2) 拡張子がivfになっているところを264に変更。
(3) 「-vengine=libvpx -vcodec=vp9 -multi_pass=1 -vpx_speed=4」といったのVP9に関するオプションの削除。
(4) 「-num_b_pictures=0 -slices=1 -maxgop=30」のオプションの追加。
例えば以下のようなバッチ内容になります。
"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=hca -hca_quality=4 -input_audio#00="sample.mov" -num_b_pictures=0 -slices=1 -maxgop=30
"sofdec2encVP9.exe" -input_video="sample.264" -input_audio#00="sample#00.hca" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080

サブコマンド(オプション)について

以下に既存のsofdec2enc.exe/sofdec2encH.264.exeのサブコマンドと仕様が異なってくる、注意すべきものについて説明します。

サブコマンド一覧

  • ファイルサブコマンド
    サブコマンド名 内容
    input_audio#aa#bb オーディオファイルの指定(サラウンドオーディオ含む)

  • ビデオ編集サブコマンド
    サブコマンド名 内容
    resize リサイズ

  • ビデオエンコード設定サブコマンド
    サブコマンド名 内容
    h264_profile H.264プロファイルの指定
    slices スライス数の指定
    num_b_pictures Bピクチャの枚数

  • オーディオエンコード設定サブコマンド
    サブコマンド名 内容
    acodec オーディオコーデックの指定


input_audio: オーディオファイルの指定(サラウンドオーディオ含む)
[書式]-input_audio#aa=filename
    (-input_audio#aa#bb=filename)
[入力]filename:  オーディオファイル
    aa :  オーディオトラック番号(範囲:00 - 31)
    bb :  オーディオチャンネル番号(範囲:00 - 05)
          モノラル素材指定によるサラウンドオーディオの場合に使用
[機能]入力オーディオファイルを指定します。


(1) オーディオファイル
 オーディオファイルの詳細については「 オーディオ素材ファイル 」を参照してください。

(2) オーディオトラック番号
 (a) ここで指定したトラック番号が、Sofdecファイルのオーディオトラック番号になります。
 (b) オーディオファイルを一つしか使わない場合は、トラック00を使うようにしてください。
 (c) オーディオファイルは最大32本指定することができます。

(3) サラウンド用素材について
 (a) 5.1chサラウンドオーディオにエンコードする場合は、6ch音声の素材を指定してください。
 (b) モノラル素材を指定してサラウンドオーディオをエンコードする場合は #bb を以下のポジションに合わせて指定してください。

6ch素材のチャンネル番号 スピーカーポジション
00 LEFT
01 RIGHT
02 CENTER
03 LFE
04 LEFT Surround
05 RIGHT Surround


【例】HCAコーデックにてトラック00に5.1chサラウンドをモノラル素材指定、トラック01、02にそれぞれ英語音声、日本語音声ファイルを割り当てます。

rem <H.264エンコード>
"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=hca -hca_quality=4 -num_b_pictures=0 -slices=1 -maxgop=30 ^
-input_audio#00#00=l.wav ^
-input_audio#00#01=r.wav ^
-input_audio#00#02=c.wav ^
-input_audio#00#03=lfe.wav ^
-input_audio#00#04=ls.wav ^
-input_audio#00#05=rs.wav ^
-input_audio#01=voice_jp.wav ^
-input_audio#02=voice_en.wav
rem <マルチプレクス処理>
"sofdec2encVP9.exe" -input_video="sample.264" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080 ^
-input_audio#00#00=l.hca ^
-input_audio#00#01=r.hca ^
-input_audio#00#02=c.hca ^
-input_audio#00#03=lfe.hca ^
-input_audio#00#04=ls.hca ^
-input_audio#00#05=rs.hca ^
-input_audio#01=voice_jp.hca ^
-input_audio#02=voice_en.hca



resize: リサイズ
[書式]-resize="rw,rh"
[入力]rw:  リサイズ後画像の横幅
    rh:  リサイズ後画像の高さ
[機能]元画像にピクセル値の平均化によるリサイズ処理を施します。


【例】640x480にリサイズします。

"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=hca -hca_quality=4 -input_audio#00="sample.mov" -num_b_pictures=0 -slices=1 -maxgop=30 -resize="640,480"
"sofdec2encVP9.exe" -input_video="sample.264" -input_audio#00="sample#00.hca" -out="sample.usm" -usm_disp_width=640 -usm_disp_height=480



h264_profile: H.264プロファイルの指定
[書式]-h264_profile=profile
[入力]profile:  プロファイル名
          high : H.264 High Profile
          main : H.264 Main Profile
          baseline: H.264 Baseline Profile
[機能]エンコード時のH.264プロファイルを指定します。


【例】H.264プロファイルを Main Profile に設定します。

"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=hca -hca_quality=4 -input_audio#00="sample.mov" -num_b_pictures=0 -slices=1 -maxgop=30 -h264_profile=main
"sofdec2encVP9.exe" -input_video="sample.264" -input_audio#00="sample#00.hca" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080


このサブコマンドを省略した場合、H.264プロファイルを自動設定し、エンコードします。
H.264では以下の利用ケースに応じて明示的に値の設定を行うようにして下さい。
(a) ゲーム機向け:high
(b) スマホ向け:main


slices: スライス数
[書式]-slices=slices
[入力]slices:  スライス数
[機能]1枚のフレームを指定数の処理単位に分けて並列処理します。


本オプションを指定しない場合、解像度に応じて自動的に値が決定されます。
H.264では以下の利用ケースに応じて明示的に値の設定を行うようにして下さい。
(a) ゲーム機向け
   PS4、PS5が対象な場合、4を指定して下さい。
   並列処理を行い、フルHDといった大きな解像度で再生負荷を下げれます。
(b) スマホ向け
   1を指定するようにして下さい。
   SofdecでiOSは複数スライスによる並列処理は未対応です。

【例】スライス数を4に設定します。

"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=hca -hca_quality=4 -input_audio#00="sample.mov" -num_b_pictures=0 -slices=4 -maxgop=30
"sofdec2encVP9.exe" -input_video="sample.264" -input_audio#00="sample#00.hca" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080



num_b_pictures: Bピクチャの枚数
[書式]-num_b_pictures=num_b_pictures
[入力]num_b_pictures:  Bピクチャの枚数
[機能]Bピクチャの枚数を指定します。


Bピクチャの枚数を指定します。
SofdecではBピクチャ有りのH.264データの再生には未対応です。
必ず0を指定して下さい。

【例】Bピクチャの枚数を0に設定します。

"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=hca -hca_quality=4 -input_audio#00="sample.mov" -num_b_pictures=0 -slices=1 -maxgop=30
"sofdec2encVP9.exe" -input_video="sample.264" -input_audio#00="sample#00.hca" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080



acodec: オーディオコーデックの指定
[書式]-acodec=acodec
[入力]acodec:  オーディオコーデック名
          none/adx : ADX
          hca : HCA
[機能]エンコード時のオーディオコーデックを指定します。


マルチプレクス処理の音声コーデックADX/HCAの違いについて
 (a) -input_audioでエンコード用に指定した音声元素材は以下のような中間ファイルとして出力されます。
   - none/adx:sample#00.sfa
   - hca :sample#00.hca
 (b) (a) の出力ファイルはマルチプレクス処理部で-input_audioで指定する必要があります。

【例】オーディオコーデックを ADX に設定します。

"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=adx -input_audio#00="sample.mov" -num_b_pictures=0 -slices=1 -maxgop=30
"sofdec2encVP9.exe" -input_video="sample.264" -input_audio#00="sample#00.sfa" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080

【例】オーディオコーデックを HCA に設定します。

"sofdec2encVP9.exe" -in="sample.mov" -output_video="sample.264" -vbitrate=10000000 -acodec=hca -hca_quality=4 -input_audio#00="sample.mov" -num_b_pictures=0 -slices=1 -maxgop=30
"sofdec2encVP9.exe" -input_video="sample.264" -input_audio#00="sample#00.hca" -out="sample.usm" -usm_disp_width=1920 -usm_disp_height=1080