paint-brush
Amazon IVS ライブ ストリームにクローズド キャプション (CC) を追加する方法@amazonivs
468 測定値
468 測定値

Amazon IVS ライブ ストリームにクローズド キャプション (CC) を追加する方法

長すぎる; 読むには

ビデオにおけるクローズドキャプションの重要性を過小評価することはできません。音声が利用できない場合、またははっきりと聞こえない場合、キャプションは重要です。 AI システムがこのようなコンテキスト情報を説明できるようになるまでには至っていません。代わりに、純粋な「音声からテキストへの」字幕キャプションをライブ ストリームに追加することに限定されます。
featured image - Amazon IVS ライブ ストリームにクローズド キャプション (CC) を追加する方法
Amazon Interactive Video Service (IVS)  HackerNoon profile picture
0-item
1-item

世の中には二種類の人がいます。字幕付きでテレビ番組を見る人と、変な人です。


冗談はさておき、ビデオにおけるクローズドキャプションの重要性を過小評価することはできません。キャプションは、聴覚障害者にとって重要であるだけでなく、音声が利用できない場合やはっきりと聞こえない場合にも重要です。もしかしたら、公共の場所でビデオを見ているときに、音声が周囲の騒音にかき消されてしまうかもしれません。あるいは、ビデオ内で話している人が最高品質ではないマイクを使用しているか、視聴者にとって馴染みのないアクセントや方言で話している可能性があります。キャプションは常に良いものです。残念ながら、ライブ ストリームで音声に字幕を付けるのは難しいです。


ライブ ストリームのキャプションの問題を掘り下げる前に、セマンティクスについて少し話しましょう。クローズドキャプションサブタイトルという用語には違いがあることをご存知ですか? HTML仕様字幕は次のように説明されています。


ダイアログの転写または翻訳。サウンドは利用可能だが理解できない場合に適しています (たとえば、ユーザーがメディア リソースのオーディオ トラックの言語を理解していないため)。ビデオに重ねて表示します。


仕様ではキャプションについて次のように説明されています。


会話、効果音、関連する音楽キュー、およびその他の関連する音声情報の文字起こしまたは翻訳。音が利用できない場合、またははっきりと聞こえない場合(例:音がミュートされている、周囲の騒音にかき消されている、またはユーザーが聴覚障害者であるため)に適しています。 )。ビデオにオーバーレイされます。聴覚障害者に適したものとしてラベルが付けられています。


つまり、ライブビデオの「クローズドキャプション」について話すときは、通常、キャプションには説明的な情報が含まれるため、字幕のことを指します。テレビ番組で、俳優が家を出るために車に乗り、配偶者に別れを告げるシーンを考えてみましょう。このシーンのキャプションは、「さようなら、親愛なる君。[車のエンジンがかかる]」となります。


AI システムがこのようなコンテキスト情報を説明できるようになるまでには至っていないため、純粋な「音声からテキストへの」字幕キャプションをライブ ストリームに追加することに限定されています。以下の方法を使用してそれを行うことができます。


注:ここで実際に話しているのは上記の定義に基づくサブタイトルですが、このブログ投稿のタイトルと本文では「キャプション」または「クローズド キャプション」という用語が使用されていることがわかります。残念ながら、「クローズド キャプション」という用語は非常に一般的に誤用されているため、開発者がこのブログ投稿を見つけて、この機能をライブ ストリームに追加する方法を学習できるように、この用語を不適切に使用することが最も合理的です。ここで本当に話しているのは字幕のことだということを知っておいてください。

Amazon IVS ライブ ストリームにキャプションを追加する

この投稿で取り上げるソリューションは、Amazon Interactive Video Service (Amazon IVS) ライブ ストリームへのブロードキャストに焦点を当てています。 OBSスタジオ。 OBS はキャプションのネイティブ サポートを提供しませんが、必要な音声からテキストへの変換を実行し、キャプションを RTMP ストリームに公開できるプラグインがいくつかあります。 Amazon IVS でサポートされる CEA-708/EIA-608 形式


このデモでは、ratwithacompiler によるOBS-captions-plugin使用することにしました ( GitHubプラグインページ)。このプラグインを使い始めるには、ダウンロードしてくださいインストールしてください。 OBS にインストールしたら、 [ドック]を選択し、キャプションドックが有効になっていることを確認します。



次に、キャプションドックの「歯車」アイコンを選択して設定を変更します。



キャプション ソースが選択されていることを確認し、ニーズに合わせてプラグイン構成を変更します。たとえば、デフォルトのキャプション タイムアウトは15.0秒に設定されていましたが、 5.0秒の方が良い値であることがわかりました。



設定を保存して新しいライブ ストリームを開始すると、プラグインは音声をテキストに変換し、必要なキャプション情報をライブ ストリームに生成します。


Amazon IVS プレーヤーでキャプション データを再生するには、 TextCueイベントをリッスンするイベント リスナーを追加できます (ドキュメント)。


 ivsPlayer.addEventListener(IVSPlayer.PlayerEventType.TEXT_CUE, (evt) => { console.log(evt); }


上記で構成されたハンドラーは、すべての受信TextCueイベントをコンソールに記録します。



TextCueイベントのtextプロパティにはキャプション データが含まれます。



一部の HTML と CSS を使用すると、キャプション データを<video>要素上のオーバーレイとしてレンダリングできます。この実装はニーズに大きく依存しますが、キャプション データがない状態が指定された期間後にオーバーレイが自動的に非表示になることを考慮する必要があります。

まとめ

この投稿では、OBS プラグインを使用して音声をテキストに変換し、そのテキストをキャプション データとして Amazon IVS ライブ ストリームに公開する方法について説明しました。