0

iOS 장치에 대한 정적 비디오 파일 HTTP Live Streaming의 "청크"측면을 이해하려고합니다. 비디오 파일의 청킹은 어디에서 발생합니까?정적 파일을 iOS 장치로 HTTP 라이브 스트리밍

편집 : 비디오 파일이 서버에 .TS 세그먼트로 분할처럼 HTTP LIve Streaming 읽기에서와 약간 http://tools.ietf.org/html/draft-pantos-http-live-streaming-07 더 들린다. 또는 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 당신 만 MediaPlayer를하고, 예를 들어 "매니페스트 파일"사이의 연결을해야 그런 식으로 ...

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]; 

... 참고 :

일본어 매니페스트 파일

/매니페스트 (체재 = 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

엣지가 비디오를 재생하기에 충분하지 않다고 생각합니다. 아마도 매우 낮은 품질로 출력을 생성해야합니다. –