![]() |
CRI Sofdec
Last Updated: 2025-09-30 13:25 p
|
Sofdec用データを作成するためのコンソールツールです。
ビデオコーデックは Sofdec.Prime/H264/VP9/AV1 の中から選択できます。
GUI版エンコードツールでビデオコーデックにH264/VP9/AV1を指定したプロジェクトから バッチエンコード の手順を行うと、本ツール用のバッチファイルを出力します。
Sofdecエンコーダーを起動するには、コマンドプロンプトを起動し、コマンドラインで次の書式でコマンドを入力します。
【例】ビデオファイルsample.aviからSofdecファイルsample.usmを作成する。
[備考] サブコマンドについて
サブコマンドとはコマンドオプションのことで、どのような処理を行うかをプログラムに対して指示します。
例えば、プログラムの入力ファイル、出力ファイル、プログラムの動作方法などを指定します。
サブコマンド名 | 内容 |
---|---|
in | 入力ビデオファイルの指定 |
out | 出力ファイルの指定 |
input_video | 入力ビデオストリームファイルの指定 |
input_alpha | 入力アルファストリームファイルの指定 |
input_audio# | 入力オーディオファイルの指定 |
output_video | 出力ビデオストリームファイルの指定 |
output_audio# | 出力オーディオストリームファイルの指定 |
subtitle# | 字幕情報ファイルの指定 |
cuepoint | キューポイント情報ファイルの指定 |
サブコマンド名 | 内容 |
---|---|
crop | クロップ |
scale | リサイズ |
usm_disp_width | 表示サイズ (幅) |
usm_disp_height | 表示サイズ (高さ) |
サブコマンド名 | 内容 |
---|---|
vcodec | ビデオコーデックの指定 |
vbitrate | ビットレートの指定 |
framerate | フレームレートの指定 |
keyint | GOPの最大長(またはIDRフレームの入る間隔上限) |
y_is_alpha | アルファ部分をYとしてムービーを出力する |
cdesc_convert | 色空間変換モードの指定 |
cdesc_cp | 情報源原色の色度座標の指定 |
cdesc_tc | 原ピクチャの光電子伝達特性の指定 |
cdesc_mc | 原色から輝度、色差信号を導出する行列の係数の指定 |
vfullrange | フルレンジにするかどうかの指定 |
サブコマンド名 | 内容 |
---|---|
acodec | オーディオコーデックの指定 |
hca_quality | HCAコーデック使用時の音質設定 |
ambisonics | Ambisonicsとしてエンコード |
channel_config# | オーディオチャンネルコンフィグの設定 |
入力ビデオファイルを指定するために必要なサブコマンドです。
ビデオファイルの詳細については「 ビデオ素材ファイル 」を参照してください。
【例】入力ビデオファイルに sample.avi を指定します。
出力ファイル名を指定するために必要なサブコマンドです。
ファイル名の拡張子には"usm"を指定してください。
【例】出力ファイル名をsample.usmに指定します。
ビデオストリームファイルとは、後述の output_video オプションで出力されたストリームファイルです。
拡張子は以下のいずれかとなります。(本ツールではファイルの拡張子で解析処理を切り分けているため、拡張子は出力されたものから変更しないでください)
アルファストリームファイルとは、後述の output_video オプションと y_is_alpha オプションを組み合わせて出力されたストリームファイルです。
アルファ成分のビデオコーデックは Sofdec.Prime 固定で、拡張子は以下のものとなります。(本ツールではファイルの拡張子で解析処理を切り分けているため、拡張子は出力されたものから変更しないでください)
(1) オーディオファイル
オーディオファイルの詳細については「 オーディオ素材ファイル 」を参照してください。
(2) オーディオトラック番号
(a) ここで指定したトラック番号が、Sofdecファイルのオーディオトラック番号になります。
(b) オーディオファイルは最大32本指定することができます。
【例】トラック01, 02にそれぞれ英語音声、日本語音声ファイルを割り当て、トラック00に音楽ファイルを割り当てます。
ビデオストリームファイルとは、このオプションで USM ファイルの代わりに出力されるストリームファイル(中間ファイル)です。
アルファエンコードやアルファプラスムービを作成する場合に使用します。 拡張子はビデオコーデックに従って以下のいずれかを指定してください。
(1) オーディオストリームファイル
オーディオストリームファイルとは、このオプションで出力されるエンコード済のオーディオファイル(中間ファイル)です。
拡張子はオーディオコーデックに従って以下のいずれかを指定してください。
(1) 字幕情報ファイル
字幕情報ファイルの詳細については「 字幕情報ファイル 」を参照してください。
(2) 字幕チャンネル番号
(a) ここで指定したチャンネル番号が、Sofdecデータの字幕チャンネル番号になります。
(b) 字幕情報ファイルを1つしか使わない場合は、チャンネル00を使うようにしてください。
(c) 最大16本までの字幕情報ファイルを指定することができます。
【例】英語用字幕情報ファイルと日本語用字幕情報ファイルを、それぞれチャンネル00、チャンネル01に割り当てます。
キューポイント情報ファイルの詳細については「 キューポイント情報ファイル 」を参照してください。
【例】
クロップ画像が元画像の中に収まる範囲で指定できます。
デフォルトではクロップしません。
【例】ビデオ素材を 座標(0,0)、サイズ640x480でクロップします。
デフォルトではリサイズしません。
解像度は1x1~4088x2400の範囲、
8の倍数で指定する必要があります。
【例】640x480にリサイズします。
実際にランタイム再生時に表示したいビデオのサイズ情報を記録します。
ツール:Wizz、ランタイムではムービーヘッダの解析結果で情報を確認できます。
通常は入力元素材の解像度の情報をそのまま記録してください。
本オプションを指定しない場合は出力時の解像度の情報を記録します。
【補足】
ムービーコーテックによって出力解像度の制限があり、エンコーダ側で黒枠を追加することがあります。
その場合は本情報を使用して黒枠部を表示しないようにテクスチャのUV調整などで表示領域だけ描画するといった用途に使用します。
【例】640x480を表示サイズとして記録します。
このサブコマンドを省略した場合は、H264 コーデックでエンコードします。
【例】ビデオコーデックにVP9を指定します。
指定した平均ビットレートに近づくよう、可変ビットレートでエンコード処理を行います。
このサブコマンドを省略した場合は、リトライをせずに高品質のファイルを出力します。
【例】ビットレートを6Mbpsに設定します。
指定フレームレート[fps] | 計算内容 |
---|---|
23.976未満 | 23.976に切り上げて計算したものをムービーヘッダーへ記載 |
60より大きい | 60に切り下げて計算したものをムービーヘッダーへ記載 |
SofdecムービーファイルはGOP単位で構成されており、シーク位置に合わせて対象となるGOP先頭のキーフレームからデコード開始、フレーム破棄を繰り返します。 例えば、GOP先頭へシークするのに対してGOP末尾にシークする場合、最も状態遷移に時間がかかります。
この値を小さくするとシーク処理時間は短くなりますが、キーフレームが多くなるため圧縮率は下がります。
逆に、この値を大きくすると圧縮率は改善しますが、シーク時間が長くなります。
現在、Sofdec.Prime コーデックを指定した時のみ正常に動作します。
また、後述の vfullrange オプションと併用して指定してください。
Sofdec では、入力ビデオを YUV BT.601 か YUV BT.709 のどちらかに調整してからエンコードを行います。
デフォルトの固定モードは、後述の cdesc_cp / cdesc_tc / cdesc_mc オプションで与えられた値を元に色空間情報をムービーヘッダに記録します。
入力ビデオ素材の色空間が非圧縮のRGBだった場合、必ず上記の値を使って色空間を変換しますが、入力ビデオ素材の色空間が YUV だった場合、色空間の変換を行いません。
cdesc_cp / cdesc_tc / cdesc_mc オプションが省略された場合はそれぞれのデフォルトの値を用いるため、BT.601 Limited Range であるとして色空間情報を記録します。
入力ビデオ素材の色空間が YUV であり、cdesc_cp / cdesc_tc / cdesc_mc オプションで与えられた値と、実際の入力ビデオ素材の色空間が異なっていた場合、色空間の変換が行われないため誤った色空間情報が記録されてしまいます。
アプリケーション側でムービーヘッダから色空間情報を読み取って描画処理を変える場合、このモードでは正しい描画ができません。
そのような場合は自動判定モードを指定してください。
自動判定モードでは、入力ビデオ素材から色空間情報を読み取って色空間の変換を行わずにムービーヘッダに記録するため、アプリケーションで色空間情報を読み取って描画処理を適切に選択することが可能です。
なお、入力ビデオ素材が非圧縮のRGBだった場合、固定モードと同じ挙動になります。
BT.709 モードでは、入力ビデオ素材が変換可能な YUV 色空間であれば BT.709 色空間に変換を行ってからエンコードを行います。
入力ビデオ素材が YUV BT.601 色空間のもの、YUV BT.709 色空間のもので混在しているが、描画処理は BT.709 に共通化したい場合はこのモードを使用してください。
また、レンジは入力ビデオ素材の情報をそのまま使用します。(入力が BT.601 Full Range ならば変換後は BT.709 Full Range になります)
なお、このモードでも入力ビデオ素材が非圧縮のRGBだった場合、固定モードと同じ挙動になります。
【補足】
現在、Sofdec で対応している色空間は BT.601 (Limited Range/Full Range) と BT.709 (Limited Range/Full Range) のみです。
今後の更新で、BT.2020 などの色空間にも対応する予定です。
現時点で、Sofdec で対応している色空間は BT.601 (Limited Range/Full Range) と BT.709 (Limited Range/Full Range) のみです。
入力ビデオ素材の色空間が RGB で、BT.601 でエンコードしたい場合はそれぞれ 6 を、BT.709 でエンコードしたい場合はそれぞれ 1 を指定してください。
また、入力ビデオ素材の色空間が YUV である場合は、そのビデオ素材の色空間に従って上記の通りの値を指定してください。
ビデオの階調をフルレンジにするかリミテッドレンジにするかを指定します。
y_is_alpha オプションと併用する場合、-vfullrange=on を指定してください。
オーディオコーデックに関する詳細はコーデックの選択 を参照ください。
エンコード品質の設定値と、大まかな圧縮率は以下のとおりです。
品質設定 | モノラル時 | ステレオ以上 |
---|---|---|
5 | 1/4 | 1/4 |
4 | 1/6 | 1/6 |
3 | 1/8 | 1/8 |
2 | 1/10 | 1/12 |
1 | 1/12 | 1/16 |
オプションに指定できる文字列の一覧は以下のとおりです。
チャンネル数 | 文字列 | 説明 |
---|---|---|
1 | MONO | モノラル |
2 | STEREO | ステレオ |
3 | 3_LRC | 3ch(L, R, C) |
3 | 3_LRS | 3ch(L, R, Cs) |
4 | QUAD | 4ch(L, R, Ls, Rs) |
5 | 5 | 5ch |
5 | 4_1 | 4.1ch |
6 | 5_1 | 5.1ch |
7 | 6_1 | 6.1ch |
8 | 7_1 | 7.1ch |
8 | 5_1_2 | 5.1.2ch |
10 | 7_1_2 | 7.1.2ch |
12 | 7_1_4 | 7.1.4ch |