我听说HTML5有很多有趣的特性,
但它能否从网络摄像头提供实时媒体流服务呢?
我几天前已经证明了这一点。答案是肯定的和否定的。是的,XMLHttpRequest允许您在数据从相机流式传输时访问数据。但不是所有浏览器都支持。
在XMLHttpRequest中,当异步完成时,您可以从对象获取状态消息。问题在于每个浏览器处理方式略有不同。最大的问题是,即使Internet Explorer支持状态更新,如果您尝试在状态3中访问数据,它也会出现错误。有关更多信息,请参阅link。
如果您的相机可以发送标准媒体类型的视频流,就像其他海报所说的那样,那将是您最好的选择。也许在IE 9发布后,XMLHttpRequest将按预期工作。
rtp/rtsp
格式? - user198729这可能是你正在寻找的内容:
很遗憾,我目前不清楚浏览器的支持情况,而且标准本身似乎经常变化。
这实际上与HTML 5无关。在HTML中,您只需将浏览器指向资源,指定其为视频即可。如果您的相机以浏览器能够呈现的格式发出流,则应该可以正常工作。尽管根据我的经验,许多相机产生MJPEG,并且直接在浏览器中支持它的能力似乎非常有限。
您可以使用ffmpeg将摄像机格式(MJPEG等)的视频实时转换,然后在生成文件时访问转换后的文件。 MP4容器将一些信息存储在文件末尾,这会阻止流式传输,因此除非您使用不同的容器(ogg,mkv等),否则您需要使用qt-faststart之类的工具来生成实时兼容的MP4文件。
rtp/rtsp
格式? - user198729