我该如何使用HTML5读取Red5(RTMFP)流?
Red5支持不同类型的流媒体,因此我不知道您想要哪种类型的流媒体:
*来源:Red5 on Google Code。
您可能想使用HTML5 Video Tag和/或HTML5 Audio Tag来“播放”流。因此,您需要进行一些转换。
新技术,许多浏览器但尚未具备普遍的编解码器支持。
查看浏览器+支持的编解码器*:
FireFox 3.6+
Safari 5+
Chrome 6
Opera 10.5+
Internet Explorer 9 (beta)
*来源:Native Audio in the browser。
目前有一场关于HTML5 Video Codec的讨论,涉及Ogg Theora和H.264之间的选择。因此,请将其转换为其中一个格式。我建议使用H.264,因为它看起来像Red5将会在未来实现H.264支持。
与音频一样,视频也是如此。新技术,许多浏览器,但尚无通用编解码器支持。请参见列表:维基百科上的HTML5视频。
检查视频和音频标签的支持最简单的方法是使用脚本动态创建其中一个或两个,并检查函数是否存在:
var hasVideo = !!(document.createElement('video').canPlayType);
canPlayType()
函数。通过使用!!运算符
,结果被转换为布尔值,指示是否可以创建视频对象。
您可以提供2个带有Flash回退的流:
<video src="video.ogg">
<object data="videoplayer.swf" type="application/x-shockwave-flash">
<param name="movie" value="video.swf"/>
</object>
</video>
如果浏览器不支持,将默认使用视频标签,否则将使用Flash播放器。
我现在知道Red5支持H.264(实时流发布)。在这里阅读如何使用HTML5视频标签与H.264编解码器。
您还可能想看看:Adobe的视频播放器小部件。
RTMFP和HTML5(WebRTC或Websocket)协议都在WCS4中得到支持。
因此,您可以将RTMFP流发布到服务器上,并使用Chrome(WebRTC)、Firefox(WebRTC)或iOS Safari浏览器(Websocket)播放此流。
Red5不支持RTMFP。
RTMFP是一种点对点设计的协议,但服务器也可以像RTMP一样用作RTMFP节点,因此它可以简单地实现客户端-服务器连接。