世の中には二種類の人がいます。字幕付きでテレビ番組を見る人と、変な人です。 冗談はさておき、ビデオにおけるクローズドキャプションの重要性を過小評価することはできません。キャプションは、聴覚障害者にとって重要であるだけでなく、音声が利用できない場合やはっきりと聞こえない場合にも重要です。もしかしたら、公共の場所でビデオを見ているときに、音声が周囲の騒音にかき消されてしまうかもしれません。あるいは、ビデオ内で話している人が最高品質ではないマイクを使用しているか、視聴者にとって馴染みのないアクセントや方言で話している可能性があります。キャプションは 良いものです。残念ながら、ライブ ストリームで音声に字幕を付けるのは難しいです。 常に ライブ ストリームのキャプションの問題を掘り下げる前に、セマンティクスについて少し話しましょう。 と 用語には違いがあることをご存知ですか? 次のように説明されています。 クローズドキャプション サブタイトルという HTML仕様 字幕は ダイアログの転写または翻訳。サウンドは利用可能だが理解できない場合に適しています (たとえば、ユーザーがメディア リソースのオーディオ トラックの言語を理解していないため)。ビデオに重ねて表示します。 仕様では のように説明されています。 キャプションについて次 会話、効果音、関連する音楽キュー、およびその他の関連する音声情報の文字起こしまたは翻訳。音が利用できない場合、またははっきりと聞こえない場合(例:音がミュートされている、周囲の騒音にかき消されている、またはユーザーが聴覚障害者であるため)に適しています。 )。ビデオにオーバーレイされます。聴覚障害者に適したものとしてラベルが付けられています。 つまり、ライブビデオの「クローズドキャプション」について話すときは、通常、 には説明的な情報が含まれるため、 ことを指します。テレビ番組で、俳優が家を出るために車に乗り、配偶者に別れを告げるシーンを考えてみましょう。このシーンのキャプションは、「さようなら、親愛なる君。[車のエンジンがかかる]」となります。 キャプション 字幕の AI システムがこのようなコンテキスト情報を説明できるようになるまでには至っていないため、純粋な「音声からテキストへの」字幕キャプションをライブ ストリームに追加することに限定されています。以下の方法を使用してそれを行うことができます。 ここで実際に話しているのは上記の定義に基づくサブタイトルですが、このブログ投稿のタイトルと本文では「キャプション」または「クローズド キャプション」という用語が使用されていることがわかります。残念ながら、「クローズド キャプション」という用語は非常に一般的に誤用されているため、開発者がこのブログ投稿を見つけて、この機能をライブ ストリームに追加する方法を学習できるように、この用語を不適切に使用することが最も合理的です。ここで本当に話しているのは字幕のことだということを知っておいてください。 注: Amazon IVS ライブ ストリームにキャプションを追加する この投稿で取り上げるソリューションは、Amazon Interactive Video Service (Amazon IVS) ライブ ストリームへのブロードキャストに焦点を当てています。 。 OBS はキャプションのネイティブ サポートを提供しませんが、必要な音声からテキストへの変換を実行し、キャプションを RTMP ストリームに公開できるプラグインがいくつかあります。 。 OBSスタジオ Amazon IVS でサポートされる CEA-708/EIA-608 形式 このデモでは、ratwithacompiler による 使用することにしました ( と )。このプラグインを使い始めるには、 と 。 OBS にインストールしたら、 を選択し、 ドックが有効になっていることを確認します。 OBS-captions-plugin GitHub プラグインページ ダウンロードしてください インストールしてください [ドック] キャプション 次に、 ドックの「歯車」アイコンを選択して設定を変更します。 キャプション が選択されていることを確認し、ニーズに合わせてプラグイン構成を変更します。たとえば、デフォルトの 秒に設定されていましたが、 秒の方が良い値であることがわかりました。 キャプション ソース キャプション タイムアウトは 15.0 5.0 設定を保存して新しいライブ ストリームを開始すると、プラグインは音声をテキストに変換し、必要なキャプション情報をライブ ストリームに生成します。 Amazon IVS プレーヤーでキャプション データを再生するには、 イベントをリッスンするイベント リスナーを追加できます ( )。 TextCue ドキュメント ivsPlayer.addEventListener(IVSPlayer.PlayerEventType.TEXT_CUE, (evt) => { console.log(evt); } 上記で構成されたハンドラーは、すべての受信 イベントをコンソールに記録します。 TextCue イベントの プロパティにはキャプション データが含まれます。 TextCue text 一部の HTML と CSS を使用すると、キャプション データを 要素上のオーバーレイとしてレンダリングできます。この実装はニーズに大きく依存しますが、キャプション データがない状態が指定された期間後にオーバーレイが自動的に非表示になることを考慮する必要があります。 <video> https://youtu.be/spFpCIqGSm8?embedable=true まとめ この投稿では、OBS プラグインを使用して音声をテキストに変換し、そのテキストをキャプション データとして Amazon IVS ライブ ストリームに公開する方法について説明しました。