Amazon Web Services ブログ
AWS Elemental LiveにSRT(Secure Reliable Transport)を入力する方法
SRTとは
SRT(Secure Reliable Transport)はHaivision社が開発したビデオストリーミングのパフォーマンスを最適化するオープンソースのビデオトランスポートプロトコルです。SRTは2つのエンドポイントを接続し信頼性の低いネットワーク上で低遅延でビデオを配信する技術パッケージとプロトコルを含んでおり、優れたビデオ品質を提供しネットワークの瞬断にも耐えるように設計されています。
SRTはジッター、パケットロス、ネットワーク帯域の変動から保護し視聴者に最高品質の映像を提供します。 またレイテンシーの設定が可能な低遅延プロトコルであり、レイテンシーと信頼性の最適化が可能です。
SRTは接続性の限られたコンサート会場やコンベンションセンターからのライブストリーミングなど、ロスの多いネットワーク上で映像を送信しなければならないお客様に最適なプロトコルです。SRTはこのようなロスの多いネットワーク上でも、信頼性の高い低遅延のストリームを配信することができます。SRTはまた、エンドツーエンドで128ビット、192ビット、256ビットのAES暗号化を提供し、コンテンツの転送中の保護を確実にします。
AWS Elemental Live (2.21.1以降)へのSRTインプット
AWS Elemental Live 2.21.1はライブ入力としてSRTに対応しています。AWS Elemental LiveはSRTのlistener-caller構成をサポートしています。AWS Elemental LiveのSRT入力は呼び出し側(Caller)として動作します。これはAWS Elemental Liveがリモートストリームとのハンドシェイクを開始することを意味します。呼び出し側(Caller)は指定されたポートを介してListener(リモートソース)に接続し、双方向のUDPトラフィックを介してハンドシェイクを開始します。両端のファイアウォールでは、UDPトラフィックの受信方向と送信方向の両方で、指定されたポートが開いている必要があります。リモートストリームは「Listner」モードでなければなりません。これはRTMP Pull endpointと同様のメカニズムと考えてください。Listenerは呼び出し側がハンドシェイクを開始するのを待ちます。
 
 
        CallerがListenerとハンドシェイクを開始する;Listenerがハンドシェイクを完了してからCallerにビデオを送信する
AWS Elemental LiveでソースストリームのIPアドレスとポートを入力します。選択したポートがファイアウォールで開いていることを確認してください。5000から5100の間のポートを使用することを推奨します。SRTはこのポートで双方向のUDP通信を行うため送信側と受信側の両方で選択したポートが開いていることを確認してください。
AWS Elemental LiveでSRTワークフローを設定する
 
 
        入力ドロップダウンメニューから「Secure Reliable Transport」を選択します。
ステップ
- AWS Elemental LiveでCreate a new Eventを選択
- Input ドロップダウンメニューからSecure Reliable Transportを選択
- ネットワークロケーションを入力 (必須)
 a) ネットワークロケーションは 「 srt://」からスタートし、ポート番号を指定する必要がります。(例: srt://192.168.10.21:5000)
- (オプション)SRTストリームを受信するAWS Elemental Liveシステム上のイーサネットインターフェースを指定します。(例:eth1)
 a) インターフェースが指定されていない場合、インターフェースの選択にはシステムルーティングテーブルが利用されます。
- (オプション) レイテンシー値を設定
 a) レイテンシー値が指定されない場合、デフォルト値120 msecが設定されます。
 b) 有効な値の範囲は120~15000です。(120 msec から15 secを意味します)
 c) 指定されたレイテンシー値はAWS Elemental Live で優先されるレイテンシーであり、SRT 回復ウィンドウの長さを指定します。このレイテンシーはパケットの回復と送信パケットのタイミングを可能な限り一致させるために役立ちます。
 d) 注意:SRTプロトコルは受信者と送信者より提案されたレイテンシーのうち、最大のものをレイテンシーとして選択します。
 e) レイテンシーを長くすると、より多くのドロップしたパケットを回復することができますが、これらのパケットはSRTライブラリによってキャッシュされる必要があるため、より多くのリソースを消費することになります。
- (オプション) 暗号化キーの長さとパスフレーズを指定します。
 a) 暗号化キーの長さが 「None 」以外の場合、パスフレーズが必要です。
 b) 暗号化キーの長さが「None」の場合、パスフレーズは空白にしておく必要があります。
 c) パスフレーズを指定する場合は、10~72文字の間で指定してください。
- (オプション)ストリームIDを指定します。
 a) ストリームIDを指定する場合は、512文字以内で指定してください。
 b) ストリームIDはSRTの送信者が指定したフォーマットに従った自由形式の文字列です。送信者と受信者(AWS Elemental Live)のストリームIDは正確に一致していなければなりません。
SRTの利用を開始する
この記事ではElemental LiveにSRT インプットを設定する方法を紹介しました。SRTを利用することでビデオワークフローで遅延を最小限に抑え、損失の多いまたは理想的とは言えないネットワーク上でパケットを修復する機能を追加することができます。SRTのストリームは暗号化によって安全に送信することができます。SRTはオープンソースであり、追加のライセンスなしに使用することができます。
ご質問やご意見、他のコミュニティメンバーとのディスカッションに参加したい場合は、AWS Developer Forums: Media Servicesをご覧ください。
参考リンク
AWS Media Services
 AWS Media & Entertainment Blog (日本語)
 AWS Media & Entertainment Blog (英語)
AWSのメディアチームの問い合わせ先: awsmedia@amazon.co.jp
 ※ 毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。
翻訳は BD山口とSA長澤が担当しました。原文はこちらをご覧ください。