🛠

スレッド数が16を超えると特定のコーデックでエンコードしたときにエラーが起こる現象の回避法

に公開

スレッド数が16を超えると特定のコーデックでエンコードしたときにエラーが起こる現象の回避法

概要

Windows環境でスレッド数が16を超える場合、H.264コーデックでのエンコード時にエラーが発生する現象が報告されています。
私はMayaでのplayblast作成時にこのエラーが発生しました。
https://forums.autodesk.com/t5/maya-forum/who-can-playblast-h-264-with-more-than-16-cpus/td-p/9116847

そもそも、windowsでのquicktimeのサポートは終了しているためいまだに使っているのが悪いという説もあります。
https://atmarkit.itmedia.co.jp/ait/articles/1604/21/news037.html

しかし、QuickTimeを使わざるを得ない状況もあるため、ここでは一時的な回避方法を紹介します。

回避法

以下のYoutube動画で紹介されているように、windowsの設定でスレッド数を16以下にする方法が有効です。
https://www.youtube.com/watch?v=JAVABZpM90k

  1. スタートメニューからシステム構成を選択する。
    alt text

  2. ブート > 詳細オプションを選択する。
    alt text

  3. プロセッサの数 から16以下に設定する。
    alt text

設定後、再起動が必要です。この方法によりエラーは解消されますが、スレッド数を減らすことでパフォーマンスが低下する点には注意してください。

まとめ

特定のコーデックでスレッド数が多い環境においてエンコードエラーが発生する問題について、回避策を紹介しました。
ただし、これはあくまで一時的な対応策です。頻繁にエンコードを行う場合は、フォーラムで推奨されているように別のコーデックを経由してmovへ変換するなども検討してください。

GitHubで編集を提案

Discussion