2017-03-07 4 views
1

ライブストリームを作りたいです。そして、私はHLSを使いたいです。HLSライブストリーミング(S3) - これらの仮定は正しいですか?

私は、HLSライブストリームが、再生されるすべてのファイルをリストする '.m3u8'拡張子のメインプレイリストファイルであることを理解します。すべてのファイルが容易に入手できないので、彼らが来るとしてライブストリームのために、それらが追加され

しかし、。

私は、これらのファイルやプレイリストファイルをホストするために今のS3を使用したいです。

ここで、S3のプレイリストファイルを更新したいとします。しかし実際にはの代わりにthis answerによる)を更新するのではなく、既存のプレイリストファイルを置き換えることになります。

私は、ファイルの置き換え中にデッドタイムがないと仮定しています。デッドタイムがある場合、どうすればそれを克服できますか?これを行う方法ですか、これを行うには他にも良い方法があります。

私はNodeJSサーバーを使用していますが、これはFYIです。

※ファイルがない場合のデッドタイム。

答えて

1

ライブストリームを作りたいです。そして、私はHLSを使いたいです。

なぜHLSですか? DASHはなぜですか? DASHはセグメント化され、HLSとほぼ同じように実装されますが、コーデックの選択肢まで柔軟性があります。いずれにしても問題ありませんが、今日から始めようとしている場合は、DASHとMedia Source Extensionsを使用するDASH.jsリファレンスプレーヤーコードをお勧めします。

私は、HLSライブストリームは、再生するすべてのファイルをリストする '.m3u8'拡張子のあるメインプレイリストファイルであることを理解しています。

正しい。

しかし、すべてのファイルが容易に入手できないので、彼らが来るとしてライブストリームのために、それらが追加されます。

正しいです。

ここで、S3のプレイリストファイルを更新したいとします。しかし、実際にはそれを更新するのではなく、既存のプレイリストファイルを置き換えることになります。

はい、その他の回答としては違いはありません。プレイリストファイルは新しいフルコピーで上書きされます。 S3 APIでは、マルチパートアップロードを行わない限り、ファイルに追加することはできませんが、実際には同じではありません。いずれにしても、ライブストリームのプレイリストファイルには、各セグメントが含まれることはありません。通常、再生リストには最後のセグメントしか残っていませんが、これはどのくらい前に戻るかを決めるのはあなた次第です。

私は、ファイルの置き換え中にデッドタイムがないと仮定しています。

完全な新しいオブジェクトがアップロードされて保存されるまで、S3はそのオブジェクトを置き換えません。部分的なファイルが存在することは決してありません。 S3は通常のファイルシステムと似ていません。さらに、後続のアップロードが失敗した場合、古いオブジェクトはそのまま残ります。

HLSとDASHプレーヤーは再生を開始する前に、プレイリストを読み込んで1トンのデータをバッファします。これは、彼らが待ち時間が長いことが知られている理由です。新しいセグメントがアップロードされてプレイリストに追加されるまでには数秒かかるため、再生するバッファにデータがあることが重要です。これは、時間内にアップロードが失敗しない限り、ドロップアウトが心配する必要がない理由です。

私はNodeJSサーバーを使用しています。これはFYIです。

そうですか?あなたが私にS3を使っているように聞こえる... Node.jsがこれと何をしなければならないのかよくわからない。

+0

これはちょっとした解答です。どうもありがとう。私はこのDASHについて聞いたことがありません。興味深いですね。私はそれを調べます。非常に包括的な答えのためにもう一度ありがとう。 –

+0

私はNodeJSを使ってプレイリストファイルを置き換えるためにS3 APIにアクセスしていました。 –

+1

iOSはDashをサポートしていませんが、Dashは一般的にデスクトップでより広くサポートされているため、最終的には両方をサポートする必要があります。 – duncanwilcox

関連する問題