どのようなHTTP適応ビットレートストリーミングのiPhone?
-
21-08-2019 - |
質問
AppleはHTTP適応ビットレートストリーミング、iPhone OS3.0、特にサファリを扱うこの動します。
るように頑張りたいと思いますし、低コスト的にも期待していま必要とカスタムHTTPサーバの最悪の場合には、興味深いPHP/スクリプティングなどに最適。
があった場合、リンクからマウスアウのプロトコルの違いは標準です。HTTP合理的に単純なプロトコルが適応ビットレートのファイルサイズが異なるチャンクの場所により異なるbitrates。例えば、お客様のサーバーも約のストリームとしてのこのダウンロード、またはすべて取り扱うサーバ側では?
廃バッファリングのために一時停止し、エンドユーザーは非常に魅力的なライブに記載されているビデオストリーム、両HTTP上でも多くのネットワークや政府の制限外のポート80す。
- その技術の詳細はHTTP適応ビットレートストリーミング、アップルの実行?
はこの実施のHTTPサーバ自体のmodは、スクリプト...?
どのような変化のために必要なクライアント側の場を実施することになりますか。
解決
更新
AppleはIETFのドラフト案を作った、と一部の人々はすでにsegmentersに取り組んでいるように見えます:
HTTPライブストリーミング - ドラフト - pantos-HTTPライブストリーミング-01
http://tools.ietf.org/id/draft -pantos-HTTPライブストリーミング-01.txtする
ffmpegのとiPhone HTTPストリーミングとオープンソースセグメンタ
ます。http:// www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/する
HTTPサーバは、単にダムHTTPサーバとして動作するように見えます。アカマイが提供するサンプルWebサイトの周り突っついすることは私に静的コンテンツのストリーミングを始めるために十分な情報を与えます。
ホワイトペーパー( http://www.akamai.com/dl/akamai/iphone_wp .PDF の)トランスポートストリームのエンコーディングに関する情報を提供するので、.TSストリームは簡単である。
エンコーダ(または別セグメンタ H.264 / AACを生成しますプロセス) 小さなコンテンツのシーケンスの内容 MPEG-2 TS形式のセグメント(.TS)。 そのM3U8インデックスファイルもあります 参照セグメント;その場合 M3U8は、ライブコンテンツの 継続的に反映するために更新 最新のコンテンツます。
H.264エンコーディングは、シングルパスでなければなりません ベースラインプロファイル、フレームの並べ替え 無効。キーフレームが提案されています 理想的には、5秒ごとに、でも 選択されたセグメント長の除数
のウェブサイトは、単にM3UプレイリストですM3U8ファイルを、提供していますが、UTF-8文字エンコーディング形式でます。
このファイルは、各ビットレートのためのM3U8ファイルにリンクします。私は切り替えがシームレスにできるように、彼らはすべて(例えば、すべての2秒または10秒)と同じ位置でカットを持っている必要がありますと仮定します。完全にクライアントを駆動するように見える - クライアントは、帯域幅およびバージョンそれを得るために起こっているのをどのように測定するかを決定します。
。メインファイルの内容は次のとおりです:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=860000
hi/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=512000
med/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=160000
lo/prog_index.m3u8
その後、他の各ファイルは、以下のとおりです。
HI / prog_index.m3u8
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
fileSequence0.ts
#EXTINF:10,
fileSequence1.ts
#EXTINF:10,
fileSequence2.ts
#EXTINF:10,
fileSequence3.ts
#EXTINF:1,
fileSequence4.ts
#EXT-X-ENDLIST
MED / prog_index.m3u8
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
fileSequence0.ts
#EXTINF:10,
fileSequence1.ts
#EXTINF:10,
fileSequence2.ts
#EXTINF:10,
fileSequence3.ts
#EXTINF:1,
fileSequence4.ts
#EXT-X-ENDLIST
LO / prog_index.m3u8
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
fileSequence0.ts
#EXTINF:10,
fileSequence1.ts
#EXTINF:10,
fileSequence2.ts
#EXTINF:10,
fileSequence3.ts
#EXTINF:1,
fileSequence4.ts
#EXT-X-ENDLIST
これはHTML 5ビデオタグで動作します:
<video width="640" height="480">
<source src="content1/content1.m3u8" />
</video>
があり未回答の質問の多くはまだですが、これはおそらく始めるには十分です。
他のヒント
とPython + GStreamerの中の小さなプレーヤー http://code.google.com/ P / HLS-プレーヤー/ の
オープンソースエンコーダとセグや他のいくつかのクールなもののためにこれを参照してください)。