0

HTTP Live Streamingの「チャンク」の側面をiOSデバイスに理解しようとしています。 ビデオファイルのチャンクはどこで起こりますか?静的ファイルからiOSデバイスへのHTTPライブストリーミング

編集:ビデオファイルがサーバー上.TSのセグメントに分割されるようにhttp://tools.ietf.org/html/draft-pantos-http-live-streaming-07HTTP LIve Streamingともう少し読んでから、それが聞こえます。または、m3u8プレイリストは、ファイルにバイトオフセットを指定できます(明らかにEXT-X-BYTERANGEを使用しています)。

は、ここで私はApple's HLS descriptionhttp://tools.ietf.org/html/draft-pantos-http-live-streaming-07を読んだ後、このプロセスの理解ものです:

  • 静的ファイルは私のサーバー上に住んでいます。それは適切なオーディオ/ビデオエンコーディング(H.264とAAC)を持っています。
  • m3u8プレイリストを私のアプリのメディアプレーヤー(MPMoviePlayerなど)に渡します。
  • メディアの再生中にアプリが「インデックスを再読み込みします」。言い換えれば、アプリは追加のセグメントの再生をリクエストします。
  • 各10秒セグメントは、MPEG Transport Streamコンテナ内にある。

このプロセスについて私は理解していません(おそらくは間違っている)。追加情報は非常に高く評価されます。

答えて

1

あなたは何を求めていますか?情報??? - 正しいエンコードされたファイルを切り替えるM3U8ファイルを使用して、アプリケーションがインデックスを再ロードせずに再生しています。私は追加しているNSURLはあなたのmanifestFileへのURLであるあなたが唯一のメディアプレーヤおよび例えば「マニフェストファイル」の間の接続を確認する必要がありそうすれば...

NSURL *fileURL = [NSURL URLWithString:@"http://techxvweb.fr/html5/AppleOutput/2012-03-10-j23-dax-smr-mt1-m3u8-aapl.ism/manifest(format=m3u8-aapl)"]; 
moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; 
/* Inset the movie frame in the parent view frame. */ 
CGRect viewInsetRect = CGRectInset ([self.view bounds],0.0, 0.0); 
[[moviePlayerController view] setFrame: viewInsetRect ]; 
[self.view addSubview:moviePlayerController.view]; 
[moviePlayerController play]; 

...注:

元のマニフェストファイルへ

/マニフェスト(FORMAT = M3U8-AAPL)

は、何が正しいM3U8構文

NSURL *fileURL = [NSURL URLWithString:@"http://techxvweb.fr/html5/AppleOutput/2012-03-10-j23-dax-smr-mt1-m3u8-aapl.ism/manifest(format=m3u8-aapl)"]; 
012に "ISM" ファイルを解析します
+0

低速ネットワークで問題が発生しましたか?私は同じことをしていますが、ビデオは悪いネットワーク(2G)で再生されませんが、音声は継続します。助けてください... –

+0

私はエッジがあなたのビデオを再生するのに十分ではないと思う、あなたは多分それをサポートするために非常に非常に低い品質で出力を生成する必要があります –

関連する問題