確実なダイレクト再生のための埋め込み字幕と外部字幕

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

複数の利用者がいる家庭で安定したダイレクトプレイを重視するなら、外部字幕を通常の安全な既定値とするのが一般的です。ただし、「外部」であること自体が保証になるわけではありません。決定的な要素は、字幕形式、コンテナの対応状況、再生クライアントです。互換性のあるクライアントでは、埋め込みSRTなどのテキスト字幕でも問題なくダイレクトプレイできます。一方、外部の画像ベース字幕や複雑なスタイル付き字幕では、リマックスや映像への焼き付けが必要になる場合があります。字幕ファイルをどこに保存するかを変えるだけではなく、クライアントごとの例外を最も減らせる字幕ポリシーを選びましょう。

埋め込みか外部かを決める前に字幕の種類を確認する

最初に判断すべきなのは、字幕が単純なテキストトラックなのか、スタイル指定の多いテキストトラックなのか、それとも画像ベース字幕なのかという点です。この分類は、字幕トラックがMKVファイル内にあるか、映画ファイルと同じ場所に別ファイルとして置かれているかよりも重要です。映像と音声をデコードできるクライアントでも、選択した字幕をネイティブに描画できなければ、再生方式が変わることがあります。

Plexは、PGSやVobSubでは字幕の焼き付けが必要になることが多いと説明しています。Jellyfinも、クライアントのコーデックおよび字幕互換性マトリクスで同じ基本的な違いを示しています。対応していない字幕は、ダイレクトストリームや映像全体のトランスコードを引き起こす可能性があります。

つまり、比較すべきなのは「どの保存方法なら互換性のある字幕を最も簡単に配信できるか」であり、「どの保存方法ならダイレクトプレイが保証されるか」ではありません。クライアントが字幕形式を描画できない場合、同じトラックをファイルの外に移しただけで互換性の問題が消えるわけではありません。

外部テキスト字幕は、複数クライアント間のコンテナ依存を減らす

外部のSRTやWebVTT形式のテキスト字幕は、複数のデバイスで利用するライブラリに適しています。映像ファイルをリマックスせずに、字幕を差し替えたり、名前を変更したり、削除したりできるためです。テレビ、ブラウザー、スマートフォン、ストリーミングボックスのいずれかが別の動作をしても、保守の負担を抑えられます。

W3Cは、WebVTTを外部の時刻付きテキストリソースとして定義しています。これは、テキストトラックを個別に扱えるようにすることの利点を示すものです。同じ運用上の考え方は外部SRTファイルにも当てはまります。元のメディアに触れずに字幕だけを変更できます。

この方法は、多数のクライアントでライブラリを利用する場合、字幕言語を個別に更新する場合、または埋め込み字幕によってクライアントがリマックスしてしまう際に、すぐ使える代替手段が必要な場合に適しています。一方、1ファイルでの可搬性を重視し、対象クライアントが選択したテキストトラックを安定してサポートしているなら、埋め込み字幕が適しています。

1ファイルでの可搬性を重視するなら埋め込み字幕が有利

埋め込み字幕では、映像、音声、言語メタデータ、強制字幕フラグ、字幕トラックを1つにまとめられます。アーカイブ、多言語ライブラリ、サイドカーファイルが分離することなく、1つのMKVをコピーするだけで完全な再生パッケージを維持したいワークフローに便利です。

Matroskaは、テキスト形式と画像形式を含む字幕トラックに対応しており、スタイル付き字幕の描画に使用するフォントを添付することもできます。字幕トラックモデルが示すように、埋め込みは優れたパッケージング方法です。ただし、パッケージングとクライアント互換性は別の問題です。

重要なクライアントがすべて埋め込みテキストトラックをダイレクトプレイできるなら、性能だけを理由に外部化する必要はほとんどありません。クライアントごとに異なる字幕の代替手段が必要になったり、字幕を1つ変更するたびに大容量のメディアファイルを繰り返しリマックスしたりする場合は、埋め込みのほうが単純な選択ではなくなります。

本当のトランスコードリスクは画像ベース字幕と複雑なスタイル付き字幕にある

PGSやVobSubなどの画像ベース字幕や、クライアントが直接描画できないスタイル付き形式では、運用上のリスクが大きく高まります。この場合、サーバーは各映像フレームに字幕を描画する必要があり、通常なら互換性のあるストリームでも映像トランスコードに変わる可能性があります。

HandBrakeは、ソフト字幕とハードサブ字幕を区別しています。この違いはメディアサーバーにとって重要です。ソフト字幕は個別に選択できますが、焼き付け字幕は映像の一部になるため、オンデマンドで作成する際には映像処理が必要です。

ダイレクトプレイの信頼性を重視するなら、視聴体験に問題がない限り、単純なテキスト字幕を優先してください。表示の忠実度が重要な場合はPGSや複雑なASS字幕を残しても構いませんが、一部のクライアントではより高いトランスコード性能が必要になる既知の例外として扱いましょう。

サーバーだけでなく、実際に重要なクライアントをテストする

サーバーのダッシュボードは、クライアントが実際に何を要求したかを確認する場合に最も役立ちます。同じ映画を、字幕なし、推奨するテキスト字幕、最も負荷の高い字幕トラックで再生してテストしてください。重要な各クライアントがダイレクトプレイ、リマックス、トランスコードのどの状態になるかを記録します。

クライアント互換性とトランスコード性能に関するZimaSpaceの関連比較記事も参考になります。字幕は、ストリームをクライアント側のデコードからサーバー側の処理へ移す条件の1つだからです。同じサーバーでも、あるテレビでは余裕で動作し、別のテレビでは大きな負荷がかかることがあります。

優先するすべてのクライアントが意図した再生経路を利用できるようになったら、字幕のパッケージングを変更し続けるのはやめましょう。古い端末の1台だけが焼き付けを強制するなら、その制限に合わせてライブラリ全体を再構成するより、端末を交換または再設定するほうが安価な場合があります。

既定の字幕と例外用トラックを分けたライブラリポリシーを使う

異なるデバイスが混在する家庭では、広く互換性のあるテキスト字幕を既定の再生オプションとして保持し、より豊かな埋め込みトラックを任意の代替手段として残す方法が実用的です。これにより、アーカイブの完全性を維持しながら、すべてのクライアントで最も負荷の高い字幕が既定になるのを防げます。

FFmpegは字幕を独立したストリームとして扱い、選択してマッピングできます。これは字幕ストリームの選択機能で説明されています。運用上は、ライブラリに複数の字幕候補を保持しながら、通常のクライアントには互換性を優先したトラックを提示できるということです。

クライアントの種類が多く、簡単な差し替えを最も重視するなら、既定では外部テキスト字幕を選びましょう。1ファイルでの完全性と安定したクライアント対応を重視するなら、既定では埋め込みテキスト字幕を選びます。画像ベース字幕や非常に複雑なスタイル付き字幕は、サーバー側処理が発生する可能性の高さよりも、視覚的な忠実度に価値がある場合に限って保持してください。

よくある質問

外部SRTファイルなら必ずダイレクトプレイできますか?

いいえ。一般的に互換性は高いものの、サーバーがダイレクトプレイ、リマックス、トランスコードのどれを行うかは、クライアント、メディアアプリケーション、コンテナ経路、選択した再生モードによって決まります。

埋め込み字幕は常に負荷が高いのですか?

いいえ。対応している埋め込みテキストトラックなら、サーバー負荷への影響はほとんどない場合があります。通常、負荷が高くなるのは、対応していない字幕や画像ベース字幕を映像に焼き付ける必要がある場合です。

ライブラリからPGS字幕を削除すべきですか?

必ずしもそうする必要はありません。元のディスクの表示を重視するなら残して構いません。ただし、家庭内のデバイスで焼き付けが頻繁に発生する場合は、互換性のあるテキスト字幕を追加してください。

例外を最も減らせる字幕構成を選ぶ

多様なデバイスで安定したダイレクトプレイを実現するなら、外部テキスト字幕は一般的に最も扱いやすい既定値です。メディアコンテナを書き換えずに簡単に差し替えられるためです。ただし、この利点は運用上のものであり、特別な仕組みによるものではありません。互換性のある埋め込みテキスト字幕でも、同じように良好に動作します。

クライアントが分かっていて安定している場合、特に自己完結型にしたい多言語ライブラリでは、埋め込み字幕のほうが優れたアーカイブパッケージになります。決め手となるのは、実際に重要なデバイスで選択したトラックをネイティブに描画できるかどうかです。

停止条件はシンプルです。優先するクライアントが、実際に利用する字幕トラックでダイレクトプレイできるようになったら、理論上の互換性のためにライブラリを再編成しないでください。実際のクライアントや字幕形式によって再生が望ましくないトランスコードへ繰り返し移行する場合にだけ、パッケージングを変更しましょう。

製品比較

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.