windows下ffmpeg+nginx-rtmp环境搭建及opencv+ffmpeg+python实现拉流和rtmp直播推流

本文详细介绍了在Windows下如何搭建ffmpeg和nginx-rtmp服务器,包括ffmpeg的下载安装、nginx-rtmp的配置与启动。同时,通过opencv+ffmpeg+python实现了rtsp拉流和rtmp直播推流,涉及线程处理、图像处理与ffmpeg推流关键代码。在实践过程中注意帧分辨率和管道设置,以避免 Broken pipe 错误。
摘要由CSDN通过智能技术生成

由于工作需要最近在研究rtsp拉流与直播推流的问题,目前先在我本机上进行了实验,本博客记录学习的内容,包含windows下ffmpeg、nginx-rtmp环境搭建及opencv+ffmpeg+python进行拉流、直播推流的实施代码,还有一些遇见的问题的处理。

一.nginx-rtmp服务器搭建及ffmpeg、VLC下载安装

1.ffmpeg下载安装

下载地址:http://ffmpeg.org/download.html
安装教程:https://zhuanlan.zhihu.com/p/118362010
我按照这个下载安装是没有问题的,直接下载的是22M的那个。

2.nginx-rtmp环境搭建

参考教程:https://www.cnblogs.com/linuxAndMcu/p/12517787.html
我最开始找的那个教程启动nginx时报错:

D:\ProgramFile\nginx\nginx-1.20.1>nginx.exe -c conf\nginx-win.conf
nginx: [emerg] unknown directive "rtmp" in D:\ProgramFile\nginx\nginx-1.20.1/conf\nginx_win.conf:19

问题分析:经过查阅资料,问题可能是1.文件编码格式问题 2.nginx无rtmp模块或未对rtmp模块进行编译
解决办法:看网上的帖子,说是要将编码模式从utf8改为无bom。经过尝试后无效,如果是编码格式的问题,提示的应该是下面这句:

nginx: [emerg] unknown directive "锘?user" in D:\ProgramFile\nginx\nginx-1.20.1/conf\nginx_win.conf:1

所以问题应该是未编译,在git上作者提供了linux下编译步骤:
在这里插入图片描述
对于我windows,教程中提到可以自行编译,但最好的方法就是安装编译好的版本,如教程中的nginx 1.7.11.3 Gryphon,下载地址详见教程,但是我打开已经404了。在查找了很多资料之后,这个下载路径是可用的:http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip
成功下载后按照原教程中的方式将下载好的东西添加到对应位置,注意如果下载的是nginx 1.7.11.3 Gryphon,修改好nginx-win.conf后,直接使用nginx.exe -c conf\nginx-win.conf启动即可,使用netstat -ano | findstr 0.0.0.0:80检查是否成功启动。

D:\ProgramFile\nginx\nginx>nginx.exe -c conf\nginx-win.conf 
C:\Users\YYL>netstat -ano | findstr 0.0.0.0:80
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       15884

提一下,windows下cmd可以使用nginx.exe -s stop -c conf\nginx-win.conf停止nginx服务,此时使用命令查看已无对应服务

D:\ProgramFile\nginx\nginx>netstat -ano | findstr 0.0.0.0:80

3.本博客还涉及到使用VLC Media Player

安装及使用教程:https://blog.csdn.net/u012130706/article/details/79508721

4.总结一下实际操作中常用的几个命令:

本地视频测试:

ffmpeg.exe -re -i .\test_video\test.mp4 -vcodec libx264 -</
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值