上篇文章我们谈到使用 EasyDarwin 推流后 前端HTML播放器 播放无画面的情况,找了各种播放器都服务正常解决,但使用VLC却能正常播放的问题,我们尝试了很久最后另辟蹊径,找到 nginx安装rtmp模块后 使用FFmpeg往 nginx推流 的解决方案
带有 rtmp 模块的 nginx 下载地址 https://github.com/illuspas/nginx-rtmp-win32
下载后将两个工具放在同一个目录下,如下图
1:打开 FFmpeg 目录 双击 ffmpeg.exe 先运行(注意启动先后顺序)
2:打开 nginx-rtmp-win32-master 双击 nginx.exe 运行
3:打开 nginx 目录下的 conf 文件夹下面的 nginx.conf 文件 我们看到 http server在监听 8089 端口 rtmp 播放端口为 1935
4:我们再浏览器里面输入 http://localhost:8089/ 访问出现如下界面(注意这里使用360浏览器默认有flash插件)
这个是 nginx-rtmp-win32-master 自带的rtmp测试工具,有直播测试器、安卓端和IOS端的 sdk
5:我们需要先使用命令行工具,让 FFmpeg 拉取海康摄像头视频流往 nginx 推,这样才可以在此 rtmp测试器里面播放,首先打开cmd命令行窗口,进入 ffmpeg的根目录
然后执行如下命令
ffmpeg -i "rtsp://admin:Aa123456@10.24.18.3:554/Streaming/Channels/101" -f flv -r 20 -s 510x440 -an rtmp://localhost:1935/live/3