온라인 TV 서비스를 다하고 있습니다. 목표 중 하나는 추가 브라우저 플러그인 (플래시 제외)없이 비디오를 재생하는 것입니다.라이브 스트리밍 (MP4)
대부분의 HTML5 브라우저와 Flash (대체)에서 지원되므로 MP4를 사용하기로 결정했습니다. 비디오는 FFMpeg에 의해 서버의 ASF에서 코드 변환됩니다.
그러나 MP4는 길이를 지정해야하는 메타 데이터 용 moov 원자를 가지고 있기 때문에 실시간 스트리밍 할 수없는 것으로 나타났습니다. FFMpeg는 mp4를 stdout으로 직접 스트리밍 할 수 없습니다. 파일 끝에 moov를 넣기 때문입니다. (Live transcoding and streaming of MP4 works in Android but fails in Flash player with NetStream.Play.FileStructureInvalid error)
물론 MPEG-TS가 있지만 HTML5 <video>
에서는 지원되지 않습니다.
내가 MP4로 실시간으로 스트림을 트랜스 코딩하는 방법에 대해 생각한 것이고, 새로운 HTTP 요청이있을 때마다 먼저 비디오의 길이에 대해 매우 긴 숫자를 지정하는 moov를 보낸 다음 전송을 시작합니다 나머지는 MP4 파일입니다.
그런 방식으로 스트리밍 할 때 MP4를 사용할 수 있습니까?
일부 연구 및 av501의 답변을받은 후 프레임의 크기를 알아야 작동 할 수 있음을 이해합니다.
mp4 파일을 스트리밍 할 수 있도록 더 작은 부분으로 분할 할 수 있습니까?
물론 다른 컨테이너/형식으로 전환하는 것도 옵션이지만 Flash 및 HTML5와 호환되는 형식은 mp4/h264뿐이므로 두 가지를 모두 지원해야한다면 두 번 코드 변환해야합니다.
여기에 rtmp 또는 일부 사용자 지정 프로토콜과 같은 소리가 나기 시작하는 좋은 설명이 있습니다. http://fabiensanglard.net/mobile_progressive_playback/index.php –
답변에주의가 필요합니다. 시간은 스트리밍 및 재생에 대한 문제입니다. 그래서 -1 – agfe2