使用ffmpeg+node-media-server实现从rtsp服务器拉流再推送至rtmp服务器,实现http+flv进行web播放

最近由于项目的需要,需要从海康的摄像头中读取视频流然后在web页面上展示。

由于海康摄像头使用了rtsp协议提供视频拉流服务,而web页面目前使用的插件不支持直接播放rtsp协议的视频流;因此考虑使用ffmpeg从rtsp中拉流,再推流至rtmp服务器,由于现在使用的测试环境是一台window的服务器,一般的rtmp服务器支持最多的是linux版本;这个rtmp服务器window版本的选择又转了一大圈;

首先想到的是使用srs的window版本,但发现在ffmpeg推流时,从srs中读取流时,过了1分钟左右,播放的流就中断了,再也读取不到流了,也没有明显的错误日志;

然后想到了nginx的rtmp模块和flv模块,但这个nginx配置rtmp模块+flv模块在window上,有点麻烦;只好继续找有没有更合适的服务器框架;

无意间,查到了node-media-server服务器也可以提供支持rtmp+http+flv的服务,安装后推流拉流,发现在window上还非常稳定;最后就选型了node-media-server。

下面把整体的ffmpeg推流,node-media-server配置,web播放视频流记录如下:

一、配置node-media-server支持rtmp服务器
1.使用npm安装node-media-server模块

在powershell中执行npm install node-media-server来安装node-media-server模块;

2.编写rtmp-server.js调用node-media-server提供rtmp和http+flv服务

完成node-media-server的安装后,编写rtmp-server.js调用node-media-server提供rtmp和http+flv服务,rtmp-server.js内容如下:

const NodeMediaServer= require('node-media-server');

const config = {

rtmp: {

port: 1935,

chunk_size: 60000,

gop_cache: true,

ping: 60,

ping_timeout: 30

},

//端口是登录nms服务器后台查看界面

http: {

port: 8099,

allow_origin: '*',

}

};

var nms = new NodeMediaServer(config)

nms.run();

3.启动运行rtmp-server.js,开始rtmp服务

在powershell中执行: node rtmp-server.js,开启服务;这时rrtmp的服务端口为1935,http服务的端口为8099;

可以通过http://127.0.0.1:8099/admin查看node-media-server的服务是否正常、查看对应的视频流列表。

二、使用ffmpeg从rtsp中拉流+推流至rtmp服务器(node-media-server)

ffmpeg -i "rtsp服务器url地址" -vcodec h264 -acodec aac -f flv rtmp://127.0.0.1:1935/live/livestream

三、web页面中播放视频流

在html中的video标签中配置src为http://127.0.0.1:8099/live/livestream.flv进行视频播放;

相关推荐
zone_z17 小时前
07 · 等待事件与 OWI 方法:从 OSW 到 BUG 的完整破案实录
linux·数据库·oracle·ffmpeg·bug·troubleshooting
'2062 天前
**写了个自动整理下载视频的脚本:按片名归档、自动重命名、生成目录索引
开发语言·python·ffmpeg·音视频·cctv
殷忆枫2 天前
嵌入式Linux下基于FFmpeg实现MP4解码为JPG图片(SSD202D交叉编译实战)
linux·运维·ffmpeg
≮傷£≯√3 天前
图片合并成视频 img2video ffmpeg
ffmpeg·音视频
HY小宝F3 天前
树莓派 FFmpeg 实战笔记(二):命令行、源码编译与硬件编码的真相
学习·职场和发展·ffmpeg
qq_316837754 天前
uniapp + Vite + ffmpeg-wasm 0.12.x 集成示例
ffmpeg·uni-app·wasm
qingmiaozhuan4 天前
电脑录屏黑屏?只有声音没画面?从原理到排查一篇搞定
ffmpeg·电脑·音视频开发·录屏技术·电脑录屏
大鹅办公4 天前
酷狗音乐怎么转换MP3格式?4种方法亲测对比+避坑指南(附FFmpeg命令行教程)
ffmpeg·音视频·音频格式
工具派5 天前
记一次用在线工具压缩视频的过程(两档实测)
ffmpeg·视频压缩·crf
bu_shuo6 天前
使用ffmpeg快速截取一段视频
ffmpeg·音视频