摄像头视频推流python_python中用FFmpeg向rtmp服务器推流,实现摄像头直播

该博客介绍了如何利用Python结合FFmpeg将摄像头视频推流到rtmp服务器,实现直播。首先通过Docker搭建rtmp服务器,然后使用FFmpeg验证推流功能。最后,通过一个专门的`stream_pusher`类实现Python中的多进程推流,并展示了VLC软件拉流观看直播的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、目的

从OpenCV中读取帧后,一方面对帧进行其他处理,同时把获取的帧推送到rtmp服务器实现直播。

二、docker中搭建rtmp服务器

本文忽略如何安装docker,docker的命令等。

(一) 拉取rtmp镜像并运行

我用的是 jun3/rtmp 这个镜像(GitHub地址是:https://github.com/jun3372/rtmp)

docker pull jun3/rtmp

docker run --name rtmp -p 1935:1935 -p 8080:80 -d -it jun3/rtmp

(二) rtmp服务器的简单操作

运行镜像后在浏览器地址栏输入:127.0.0.1:8080即可看到这个界面:

image.png

不过可能是我浏览器的缘故,即使在推流时也无法播放。

在浏览器地址栏输入:127.0.0.1:8080/stat 可查看rtmp服务器当前推拉流的情况。

没有视频流推送时是这样的:

image.png

有视频流推送时是这样的:

image.png

(三) FFmpeg推流验证

怎么装FFmpeg就忽略过了。我是从ARM嵌入式主机推流的,Ubuntu18的操作系统。在终端中用此命令推流:

$ ffmpeg -f video4linux2 -s 640x480 -i /dev/video10 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://1.2.3.4:1935/stream/pupils_trace

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值