webm或ogv可以做到这一点,
由于它的MDAT原子,Mp4不能做到这一点. (不能实时地包装h264和mp3,并将其包装并发送给客户端)
说我从我的内置麦克风的网络摄像头和音频输入.
分片mp4可以处理这个,但它是一个麻烦找到libs来做到这一点).
我需要做这个cuz我不想分开发送音频和视频.
如果我可以分离发送,通过音频标签和视频通过视频发送音频>(音频和视频被复制和发送)
我可以在客户端浏览器上使用javascript进行同步.我看到一些例子,但还不确定.
解决方法
由于您最初曾问这个问题,媒体来源扩展
https://www.w3.org/TR/media-source/已经成熟到足以播放非常短(30ms)的ISO-BMFF视频/ mp4片段,只需稍微缓冲.
所以你的声明
(one can not wrap h264 and mp3 in real time and wrap it and send it to the client)
现在已经过时了.是的,您可以使用h264 AAC.
那里有几个实现;看看Unreal Media Server.
从虚幻媒体服务器常见问题解答:http://umediaserver.net/umediaserver/faq.html
How is Unreal HTML5 live streaming different from MPEG-DASH?
Unlike MPEG-DASH,Unreal Media Server uses a WebSocket protocol for live streaming to HTML5 MSE element in web browsers. This is much more efficient than fetching segments via HTTP requests per MPEG-DASH. Also,Unreal Media Server sends segments of minimal duration,as low as 30 ms. That allows for low,sub-second latency streaming,while MPEG-DASH,like other HTTP chunk-based live streaming protocols,cannot provide low latency live streaming.
他们的演示网页有一个来自RTSP摄像头的实时HTML5 Feed:
http://umediaserver.net/umediaserver/demos.html请注意,HTML5播放器中的延迟与Flash Player中的延迟相当.