1

現在、ほとんどのAWS技術を使用して、単純なVODブラウザベースのサービスに取り組んでいます。 HLSは、Elastic Transcoderでサポートされているストリーミングプロトコルとして使用されます。HLS、AWSエラスティックエンコーダ、アダプティブストリーミング

現在、ソースの素材は720p(1280x720)です。これは、これを処理できるすべてのデバイスに表示したい解像度です。私はビデオをデスクトップ、iPad、そしてほとんどのスマートフォンで動作させたいと思います。私はViBlastとvideojsをプレイヤーとして使用しています。

は、私は、次の質問がある:

  • M3U8プレイリストは、複数のストリームを指定することができます。各解像度には独自のプレイリスト(異なるビットレートの異なるソースストリームを使用)が必要ですか、すべてを1つのプレイリストに入れることができます(したがって、1つのプレイリストは異なる解像度とビットレートを提供できます)。
  • デスクトップと最近のタブレットでは1280x720が表示されるようですが、同じプレイリストを使用することができます。ビットレートを指定するだけです。しかし、携帯電話の最高の解像度は何ですか?あらゆるデバイスが他の次元を持っているようだ(ここではAndroidを見ている)。
  • 各デバイスに使用するビットレートはどれですか?私はいくつかの調査をしていますが、すべての記事が「最良の」設定について異なる推奨事項を示しているようですが、それらの数字をどのように取得したかは決して説明しません。
  • 解像度が異なるさまざまなソースを含むプレイリストを使用する場合、プレイリスト内の順序は関係しますか?私はどこかで最低のビットレートを最初に挙げるべきだと読んだことがありますが、これは決議にも当てはまりますか?または、プレイヤーは自動的に画面に最も合ったストリームを選択しますか?

私は、ほとんどのデバイスに適合する「十分に良い」ソリューションを探しています。

答えて

2

希望すると便利です。

m3u8プレイリストでは複数のストリームを指定できます。各 解決策は自分自身のプレイリストを取得するか( 異なるビットレートの異なるソースストリームを使用する)、1つのプレイリストにすべてを入れることができます( プレイリストは異なる解像度とビットレートを提供できます)。

参考までに、ここにアップルの「テクニカルノートTN2224」がありますので、下記の情報の参考にしてください。 https://developer.apple.com/library/content/technotes/tn2224/_index.html

短い答え:それぞれの解像度には独自のバリアントプレイリストが必要です。

通常、バリアントプレイリスト(別名演奏)を参照するマスタープレイリストが1つあります。バリアントプレイリストは、同じビデオの異なる品質のストリームで、ビットレートと解像度が異なります。しかし、各バリアントはのビットレートレベルしか含んでいません。サンプルマスタープレイリスト:

#EXTM3U 
#EXT-X-VERSION:3 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4648000,RESOLUTION=3840x2160 
4648k/stream.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2670000,RESOLUTION=1920x1080 
2670k/stream.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1823000,RESOLUTION=1280x720 
1823k/stream.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=975000,RESOLUTION=854x480 
975k/stream.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=491000,RESOLUTION=640x360 
491k/stream.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=186000,RESOLUTION=256x144 
186k/stream.m3u8 

(TN2224) "ビットレートは、帯域幅の属性を使用して、EXT-X-STREAM-INFタグに指定されています"。また、利用可能なデータが少なく、通常、より小型のモバイル画面で見ることが期待されるため、各降順帯域幅(ビットレート)レベルは対応するより低い解像度を有する。

デスクトップと最新のタブレットでは1280x720が表示されるようですが、 と同じプレイリストを使用することができます。ビットレートを指定するだけです。 しかし、携帯電話の最高の解像度は何ですか? デバイスには他のサイズがあります(Androidについてはこちらをご覧ください)。

解像度とビットレートが一緒になります。 186Kビットレート(非常に低い)でエンコードされたストリームには、1280x720の画面を満たすのに十分なデータがありません。しかし、セルネットワーク上のモバイルデバイスは、高いビットレートをダウンロードできないことがあります。したがって、適切な解像度とビットレートを持つ複数のバリアントオプションが必要です。

特定のデバイスにフォーカスしないでください。そうしないと終了しません。共通の16:9アスペクト比を使用して、ビットレート/解像度の種類のはしごを構築します。例えば。 1280x720,1024x576,640x360、...

考慮すべき点がいくつかあります。既に考慮しているビットレート、解像度。しかし、これらのビデオはH.264でエンコードされていますか?その場合は、プロファイルレベルを考慮する必要があります。ここでは、トピックに関する良い記事:http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=94216&PageNum=1です。私は、各デバイスのために使用すべきビットレート

enter image description here

?私はいくつかの調査を行っていますが、 という記事がありますが、すべての記事は の「ベスト」設定のための別の推奨事項を持っているようですが、それらの番号の入手方法は決して説明しません。

解決策と同じ回答です。実際のデバイスに集中しないでください。私は別の 解像度の異なるソースが含まれているプレイリストを使用する場合は、

など、デバイスが利用可能な帯域幅、バッテリ寿命、処理能力に基づいて、最も適切なを選択することができますビットレート/解像度変異体のはしごを構築プレイリストの順序は関係しますか?私は を読んだことがあります。最も低いビットレートが最初にリストされるはずですが、これは も解決に適用されますか?または、プレーヤーが画面に最も一致する ストリームを自動的に選択しますか?

各パブリッシャまたはメーカーは、プレーヤを異なる方法で構築する場合があります。しかし、これはAppleがTN2224で推奨しているものです。

"最初のビットレートは、ほとんどのクライアントが維持できるものでなければなりません マスタープレイリストの最初のエントリは、ストリームの開始時に再生され、テストの一部として使用され、最も適切なストリームを判断します。他のストリームの順序は関係ありませんので、プレイリストの最初のビットレートは、ほとんどのクライアントが維持できるビットレートにする必要があります。

希望に役立ちます。

イアン

関連する問題