CRI Sofdec  Last Updated: 2024-09-25 20:36 p
高解像度ムービーデータをエンコードするには?
4K素材といった高解像度のビデオ素材をエンコードする場合、以下のエラーが
発生してエンコードに失敗することがあります。

An error (code 0x8007000e) is occurred at
ITMPGLib_VideoEncoder5::Encode() in TMPGLib::Encoder
Code 0x8007000e: Out of memory.

これはエンコード内部のエンジンで使用するワーク用メモリ確保に失敗してしまった
場合に発生します。
この場合は以下の対応でワーク用メモリサイズが減少し、エラー回避できる
可能性がありますのでお試し下さい。

  • コンソール版Sofdec.Primeエンコーダー のオプションでGOP周期の設定を短いものへ
    設定変更してみて下さい。
    例えば以下のようにGOP周期を13(デフォルト)から10へ短くしてお試し下さい。(*1)
    GOP周期 コマンドオプション
    13 -gop_i=1 -gop_p=4 -gop_b=2
    10 -gop_i=1 -gop_p=3 -gop_b=2
  • 入力ビデオ素材をAVI形式でなく、連番静止画(BMP、TGA)形式の素材に
    変換するなどしてしてエンコードを行ってみてください。
(*1) Sofdec2 Encoding WizardではGOP周期の設定は未対応です。以下の手順で
一度コンソール版のコマンドへ出力し直してお試し下さい。
(1) Sofdec2 Encoding Wizardでファイル指定やパラメーター指定を通常通り全て指定する。
(2) Sofdec2 Encoding Wizardのエンコードページ(STARTボタンがあるところ)まで設定を進めます。
(3) ツール左下のメニューから「エクスポート」−「バッチファイル(新規)」を選択します。
(4) バッチファイルの保存先とファイル名を指定。ここでは仮に sample.bat とします。
(5) テキストエディタで sample.bat を開きます。
(6) コマンドオプションが色々記述されますが最後のところにGOP周期の設定
(-gop_i=1 -gop_p=4 -gop_b=2)があります。
(7) GOP周期の設定を変更し、バッチファイルを実行します。