PGS字幕を有効にした場合だけ同じチャプターで再生が停止するなら、通常はチャプターマーカー自体ではなく、字幕の焼き込みトランスコード経路に原因があります。
同じ映画、クライアント、チャプター、音声トラック、ネットワーク経路を維持し、字幕の状態だけを変更してください。字幕をオフにした場合、またはSRTなどのテキスト字幕を使用した場合に停止箇所を通過できるなら、確認すべき経路は画像字幕の処理です。具体的には、焼き込み、ハードウェアデコードとエンコードの切り替え、トーンマッピング、一時トランスコードファイル、クライアント互換性を確認します。字幕が原因の経路であることを確認するまでは、映画全体をリマックスしたり置き換えたりしないでください。
PGS字幕に従って問題が発生することを確認する
同じ区間をPGS無効で再生し、続いて同じPGSトラックを有効にして再生します。可能であれば、クライアントとビデオトラックを同じにしたまま、SRT字幕でも繰り返してください。各テストで、サーバーがダイレクトプレイ、ダイレクトストリーム、完全なトランスコードのどれを報告したかを記録します。
Jellyfinの再生解説では、PGSは単純なテキストオーバーレイとして扱われるのではなく、字幕の焼き込みを使用すると説明されています。
どの字幕状態でも同じチャプターで停止するなら、一般的な固定位置での再生停止診断に戻ります。PGS経路だけで停止する場合は、字幕レンダリングとトランスコード動作に絞って修復してください。
焼き込みがサーバーに過負荷をかけているか確認する
再生が停止箇所に近づいたときのCPU、GPU、メモリ、トランスコード速度、ドロップフレームの指標を確認します。同じチャプターをPGSなし、またはテキスト字幕で再生した場合の値と比較してください。
Jellyfinに関する詳しいガイドでは、クライアントが画像ストリームを直接レンダリングできない場合、PGSが低性能サーバーに過負荷をかける可能性があると説明されています。
再生終了前にトランスコード速度がリアルタイムを下回る場合は、ボトルネックを確認してから処理能力を増やしてください。テキスト字幕の代替は、元のBlu-ray字幕トラックを変更せずに互換性を確認する有効なテストになります。
停止した正確な位置でトランスコーダーログを調べる
停止の数分前からセッション終了まで、サーバーログとFFmpegログを取得します。フィルターエラー、破損した字幕パケット、エンコーダーのリセット、一時ファイルの失敗、サーバーがトランスコードを誤って完了扱いしている状況を探してください。
Embyの事例では、トランスコード中の再生が早期に終了することがある一方、元のメディアファイルは後から再開できました。
サーバーが同じタイムスタンプでトランスコードを終了している場合は、設定を変更する前にそのログを保存してください。サーバーが出力を生成し続けているのに1つのクライアントだけが停止する場合は、次のテストをクライアントの再生互換性に移します。
ハードウェア字幕処理とソフトウェア字幕処理を比較する
ハードウェアアクセラレーションを有効にしたテストと、サポートされている最小限のソフトウェアフォールバックを使用したテストを、1回ずつ実施します。出力解像度と字幕トラックを同じにして、主な違いがデコード・フィルター・エンコード経路だけになるようにしてください。
Plexのトラブルシューティングスレッドでは、通常のハードウェアトランスコードが機能していても、PGSによってハードウェアトランスコードが機能しなくなる可能性があることが示されています。
ソフトウェア処理ではチャプターを正常に通過し、アクセラレーション経路で停止する場合は、元のファイルを維持したまま、ハードウェアトランスコード経路、ドライバー、またはサーバーバージョンを調整してください。十分な範囲のテストなしに、すべてのタイトルでアクセラレーションを恒久的に無効にしないでください。
字幕をビデオに焼き込む必要があるか確認する
クライアントがPGSを直接レンダリングできるか確認します。対応していない場合、サーバーはデコード済みのビデオフレームにビットマップ字幕を重ね、そのセッション用に新しいビデオストリームをエンコードする必要があります。
FFmpegの議論では処理の境界が明確に示されています。字幕を画像にハードコードする場合、焼き込みにはビデオの再エンコードが必要です。
ライブラリを変更する前に、PGSをネイティブ対応している別のクライアントでテストしてください。そのクライアントでチャプターをダイレクトプレイできるなら、ソースファイルが破損している可能性は低く、クライアントの対応能力を修正対象にする方が安全です。
元のチャプターで修正を確認する
確認済みの変更だけを適用します。たとえば、正常に動作するアクセラレーション経路、そのクライアントに対応した字幕形式、更新済みのサーバーまたはクライアント、十分なトランスコードリソースなどです。元の停止箇所の数分前から再生し、停止箇所を越えて2回続けて再生します。
Firecoreの議論では、PGSの対応はクライアントによって異なるため、すべての再生デバイスが同じ字幕ストリームを同じように処理するわけではないことが示されています。
意図した字幕を有効にした状態で、同じクライアントがチャプターを繰り返し通過できれば問題は解決です。PGS字幕の再生に限定されない問題になった場合は、関連するZimaSpaceガイドの家庭用メディアワークフロー全般を次の確認先にしてください。
よくある質問
チャプターマーカー自体がPGS再生を停止させるのでしょうか?
通常は違います。チャプターは再現可能なタイムスタンプを提供しますが、その位置で到達する字幕パケット、トランスコード状態、フィルター処理、またはクライアントの切り替えが原因である可能性があります。
すべてのPGS字幕をSRTに変換すべきですか?
いいえ。SRTのコピーは、原因を切り分けるテスト、またはクライアント固有の互換性対策として使用してください。スタイル、強制表示される標識、言語レイアウトが重要な場合は、元の画像字幕を維持します。
字幕をオフにすると、なぜ映画を正常にダイレクトプレイできるのですか?
対応していない画像字幕を無効にすると、焼き込みの必要がなくなり、問題のあるトランスコード経路を経由せずに、クライアントが元のビデオストリームを受信できる場合があるためです。
サポートとヒント
もっと読む

Plexは別のDockerコンテナとGPUを共有できますか?
Plexと別のコンテナは同じGPUにアクセスできることが多いですが、ドライバーのサポート、デバイスマッピング、ビデオエンジンの負荷、メモリ、復旧動作をテストする必要があります。

Plexのエラーがクライアント側とサーバー側のどちらに起因するかを見分ける方法
別のクライアントで同じ項目を再現し、セッションパスを比較してから、スコープによって障害の実際の所在が特定された後にのみサーバーの証拠を収集してください。

Plexのキャッシュとトランスコード用一時ストレージを設定する方法
永続的な Plex の状態を保護しつつ、トランスコードの一時ファイルを適切なローカルストレージに配置し、クリーンアップ、空き容量、再起動時の動作を確認します。

