使用工具:node.js、ffmpeg、flv.js
简单说,就是使用node安装本地媒体服务node-media-server,ffmpeg将rtsp转换为rtmp流,最后使用flv.js,就完成了!
首先需要安装node.js,可以在官网下载:http://nodejs.cn/
下载完成后配置好环境变量,在本地工程目录新建package.json文件,输入{}即可。
使用npm安装node-media-server,在cmd中直接输入npm node-media-server
安装好之后,在本地工程目录新建index.js文件,内容参考如下:
const NodeMediaServer = require('node-media-server');
const config = { rtmp:{ port:1935, chunk_size:60000, gop_cache:true, ping:60, ping_timeout:30 },
http:{ port:85, allow_origin:'*' } };
var nms = new NodeMediaServer(config);
nms.run();
在node下运行index.js,完成后使用ffmpeg将rtsp流转换成rtmp流,格式如下:
ffmpeg -i rtsp地址 -c copy -f flv rtmp地址(一定是rtmp,之前使用http不行)
看到无报错且有数据解析,则表示拉流成功,可以使用vlc播放器播放rtmp地址,查看是否成功。
完事具备!在html中复制flv地址标签,可以在flv官网查看。
添加“video”标签,使用js代码:
if (flvjs.isSupported()){ //判断浏览器是否支持flv
var videoElement = document.getElementById('video'); //获取video标签
var flvPlayer = flvjs.createPlayer({ //创建播放器对象
type:'flv', //播放器类型flv
url:'http://localhost:85/live/test.flv'}); //rtmp播放地址
flvPlayer.attachMediaElement(videoElement); //将播放器赋予video标签
flvPlayer.load(); //加载视频
flvPlayer.play(); //播放视频
}
网友评论