2014-02-10 3 views
0

현재 인텔 ® 미디어 SDK 라이브러리를 사용하여 MP4 비트 스트림을 생성합니다.이 라이브러리는 ffmpeg를 커버 아래에 사용합니다. mp4 파일을 생성하여 재생할 수 있으며 작동합니다.MP5 프레임을 HTML5로 스트리밍하는 경우 무엇이 잘못 되었나요?

그러나 네트워크를 통해 mp4를 스트리밍하려고하면 Chrome, Firefox 또는 IE에서 테스트 한대로 HTML5 비디오 플레이어에서 재생되지 않습니다. 나는에서 다시 아무것도받을 수 있는지 확인하기 위해 들으면서,

Sent by Chrome: 
GET/HTTP/1.1 
Host: localhost:8085 
Connection: keep-alive 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36 
Accept-Encoding: identity;q=1, *;q=0 
Accept: */* 
Accept-Language: en-US,en;q=0.8 
Range: bytes=0- 

From my video player: 
HTTP/1.1 200 OK 
Server: Microsoft-HTTPAPI/2.0 
Date: Thu, 09 Jan 2014 17:28:14 GMT 
Content-type: video/mp4 

이 후, 나는 줄 바꿈, 모든 비디오 프레임, 잇달아 보내

이 많이

앞뒤로 네트워크를 통해 전송됩니다 브라우저.

아무 반응이 없습니다. 이 재생중인 동영상을 가져 오기위한 제안이 있으십니까? 고맙습니다!

+0

기존 스트림을 스트리밍하거나 파일에서 스트리밍 중입니까? 그 라이브 스트림이 있다면 나는 (IP 카메라 스트림에서) ffmpeg에서 생성 된 MP4 연속 스트림과 동일한 고충을 겪었고 HTML5 클라이언트가있는 실행중인 mp4 http 스트림에 연결할 수 없다는 것을 발견했습니다. 이는 HTTP 헤더가 정확하지만 (Node.js를 사용하고 코드가 스트리밍 파일에 잘 작동 함) 클라이언트가 스트림에 연결되어 있지 않고 올바른 MP4 헤더와 컨테이너 바이트를받지 못하기 때문입니다. – deandob

+1

cont .. moov 아톰이 비어 있고 키 프레임이 조각화 된 상태가되도록 (ffmpeg movflags frag_keyframe + empty_moov) moov 원자를 조정해야합니다. 파일을 스트리밍하는 것이 더 쉽지만 검색을 할 수 있도록 moov 아톰을 파일의 시작 부분으로 이동해야합니다. – deandob

+0

감사합니다 .. 알았어. 누군가가 명령 줄 대신 API에서 frag_keyframe과 같은 것을 사용할 수있는 방법을 알고 있다면? – mczarnek

답변

-1

HTML5 비디오를 iPad로 스트리밍하려고 시도한 후 WCF가 반송 바이트 범위의 길이로 0을 반환하는 문제 (0-xxxxxx, xxxxxx-yyyyyyy, 0- 등)를 인식했습니다.

나는 결국 C#에서 IKVM을 사용하여이 문제를 해결했으며 Java 소켓을 사용하여 데이터를 스트리밍했습니다. 또한 WCF에서 요구하는대로 포트 번호없이 PC/서버 IP 주소 (예 : 192.1.1.3/myvideo.html)를 사용할 수 있습니다.

관련 문제