0
目前我正在使用英特尔的媒体SDK库生成MP4比特流,该库使用底下的ffmpeg。我可以生成一个mp4文件,并播放它,它的工作原理。将MP4帧流式传输到HTML5,我做错了什么?
但是,当我尝试通过网络传输mp4时,它不会在HTML5视频播放器中播放,如Chrome,Firefox或IE中所测试的。
有一点是可以来回发送跨网络:
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
在此之后,我送一个换行符,和所有的视频帧,一个接一个,一边听,看看我得到了什么回来从浏览器。
然后没有任何反应。任何建议来获得这个播放视频?谢谢!
您是从一个文件流式传输现有的流或流?如果它是一个直播流,那么我也有同样的挣扎 - 从ffmpeg(从IP摄像机流)生成的MP4连续流,并发现我无法使用HTML5客户端连接到正在运行的mp4 http流。这是因为尽管HTTP头是正确的(我使用Node.js,并且代码对于流式文件工作正常),但客户端并未干净地连接到流并且没有收到正确的MP4头和容器字节。 – deandob
cont ..您还需要调整moov原子,以便moov原子为空,并将关键帧设置为碎片(ffmpeg movflags frag_keyframe + empty_moov)。如果您正在流式传输文件,则更容易,但您需要将moov原子移动到文件的开头,以便寻找作品。 – deandob
很高兴知道,谢谢..任何人都知道是否有方法从API而不是命令行启用类似frag_keyframe的东西? – mczarnek