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>