2016-10-04 6 views
0

나는 MP4 컨테이너의 내부 MediaSource의 요소에 공기 방송 H264 비디오 (WebSocket을 통해) 스트리밍에 관한 질문의 번호를 가지고 : 스트리밍 MP4 라이브 비디오 콘텐츠

  • 내가해야합니까 ftyp? 그럴 경우 동일한 Uint8Array에 moov과 같이 있어야합니까?
  • 모든 mp4 상자를 별도로 보내야합니까, 아니면 sourceBuffer.appendBuffer(data)을 사용하여 이들을 정렬 할 수 있습니까?
  • moofmdat을 함께 보내야하거나 sourceBuffer.appendBuffer(data)으로 다른 전화를 받아야합니까?
  • 타임 스탬프를 표시하기 위해 다른 종류의 상자가 필요합니까?
  • 첨부 된 데이터 청크 재생을 시작할 때 MediaSource 요소에 표시해야합니까?
  • 기간/타임 스탬프 오프셋 관련 항목을 설정해야합니까?
  • moov 상자에 중요한 점이 있습니까? 라이브 스트림을 제작하려고 할 때 알고 있어야합니까?

답변

1

moov 상자가 초기화 세그먼트와 디코더는, 다른 상자는 무시해야 디코딩 할 필요가 무엇인지 알 수 있도록이 필요합니다 그래서 (그래서 아마 그 허용하지 않는다, 초기에 단편을 포함하도록 시도하지 않음) 그들을 제거 할 필요가 없습니다.

moofmdat 상자는 단일 호출로 추가해야하며 (다른 세그먼트는 필요 없음) 다른 상자는 필요하지 않습니다. 내가 아는 한 타임 스탬프 데이터는 moof 상자에 포함되어 있으므로 다른 것을 추가 할 필요가 없습니다.

기본적으로 moov [moof mdat]+의 시퀀스가 ​​좋습니다.