RTSP、RTMP 也有很多在说的。然而我就是总结下我最近在使用RTMP的理解。
首先说一下RTMP协议的定义, 实时消息协议(英语:Real-Time Messaging Protocol,缩写RTMP)也称实时消息传输协议,是最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。Macromedia后被Adobe Systems收购,该协议也已发布了不完整的规范供公众使用。
也就是说RTMP协议是在 flash 播放器上播放的。所以对于H5的video播放器是不能播放的。
如果你的PM说只能在H5的video 播放器上播放,那么你就要和后台的同事沟通了,想办法让他把视频再转码成 .m3u8结尾的 http协议了。
对RTMP协议的视频地址播放,基本上可以理解为 flash 视频播放。那么这样的方法就很多了,我说一下我的方法 flowplayer
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>直播</title><link rel="stylesheet" href="css/video-js.css"><link rel="stylesheet" href="css/h5splayer.css"><script src="./js/flowplayer-3.2.13.min.js"></script></head>
<body><div class="h5video" id="playerDiv1"></div><script>var url = 'rtmp://地址';var oPlayerDiv = document.getElementById('playerDiv1');var idStr = 'playerDiv1',swfStr = "swf/flowplayer-3.2.18.swf",obj = {clip: {provider: 'rtmp',bufferLength: 0,bufferTime: 0,autoPlay: true,live: true},plugins: {rtmp: {url: "flowplayer.rtmp-3.2.13.swf",netConnectionUrl: url}}};flowplayer(idStr, swfStr, obj);</script></body>
</html>