信頼性の観点から、VODトランスコーディングの素晴らしい点の1つは、単純に再試行できることです。トランスコード中に何か問題が発生しても、最初からプロセスを再実行するだけです。不手際による最悪の影響は、ジョブに少し時間がかかることで、それは残念なことですが、最終的にはトランスコードされたファイルが顧客に納品され、すべてがうまくいきます。
しかし、ライブイベントでは、単純に再試行する余裕はありません。これらのイベントはリアルタイムでトランスコードされるため、エンドユーザーに完璧なトランスコードを提供するチャンスは一度しかありません。システムがどんなに信頼できるものであっても、電源やネットワークカードのようなものがいつ故障するかわからないので、注目度の高いイベントには冗長性が不可欠です。
これを考慮し、当社はライブ配信の冗長トランスコーディングを発表しました。簡単に言うと redundant_transcode
が有効で、少なくとも1つの secondary_url
が指定された場合、Zencoderは透過的に、元のリクエストの出力で指定されたセカンダリURLを使用して新しいジョブを作成します。このジョブは元のジョブとすべて同じ設定を持ちますが、まったく異なるクラウドプロバイダーの最も近いトランスコード領域で実行されるという重要な違いがあります。
例を見てみよう:
{
"redundant_transcode": true,
"live_stream": true,
"region": "us-virginia",
"output": [
{
"label": "super-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"secondary_url": "rtmp://backup.example.com/live/stream",
"live_stream": true
},
{
"label": "not-as-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"live_stream": true
}
]
}
これは1つのストリーム名を返すが、2つのストリームURL(1つはプライマリ、もう1つは冗長)を返す。
{
"stream_name": "as230d982389askdfsdkjf2380ejd93d93dj",
"outputs": [
{
"label": "super-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"id": 260281679
},
{
"label": "not-as-important-stream",
"url": "rtmp://primary.example.com/live/stream",
"id": 260281680
}
],
"stream_url": "rtmp://live01.us-va.zencoder.io:1935/live",
"redundant_job_id": 12345678,
"redundant_stream_url": "rtmp://backup-endpoint.zencoder.io:1935/live",
"id": 98091238
}
そして、エンコーダーを設定して、両方に同時にストリーミングすることができます。以下の例ではFlash Media Live Encoderを使用していますが、ほとんどのエンコーダーはプライマリストリームとバックアップストリームのURLをサポートしており、追加設定はほとんど必要ありません。
この設定により、Amazon Eastがダウンしても、バックアップストリームはGoogle Compute Engine上で問題なく継続される。Akamaiのような適切なバックアップURLを持つCDNを使用している場合、再生URLは何事もなかったかのように機能し続けるでしょう。
簡単にするために、1つのエンコーダーにバックアップURLを追加することだけを説明した。これにより、エンコーダーの下流での問題は軽減されるが、エンコーダーが何らかの理由でパブリッシュできなくなった場合、ストリームは依然として危険にさらされる。しかし、バックアップURLは、可能な限り安全にするために、まったく別のネットワーク上にある別のエンコーダーに設定することもできる。
備考
- ストリームはプライマリエンドポイントとバックアップエンドポイントの両方にプッシュされる必要があるため、ストリームの公開に必要な帯域幅が2倍になる。
- バックアップジョブは、標準的なライブ料金で別のジョブとして請求されます。
- アカマイは再生前にプライマリーストリームとバックアップストリームの整列を試みるため、ストリーム間の移行中に短い中断が発生する可能性があります。