基于mediamtx+ffmpeg实现视频推流,基于python-deffcode实现视频拉流

软件依赖:mediamtx、ffmpeg

python包依赖:deffcode

mediamtx下载地址:https://github.com/bluenviron/mediamtx/releases

ffmeg下载地址:https://ffmpeg.org/download.html

deffcode安装命令:pip install deffcode

1、mediamtx下载安装

MediaMTX(原名 rtsp-simple-server)是一款即用型、零依赖的实时媒体服务器和媒体代理,可用于发布、读取、代理、录制和播放视频和音频流。它被设想为一个"媒体路由器",可将媒体流从一端路由到另一端。

其支持的流协议有:

打开https://github.com/bluenviron/mediamtx/releases/tag/v1.9.0,根据自己的硬件环境+操作系统下载软件。

下载后解压文件,得到mediamtx.exe与mediamtx.yml。

mediamtx.ym是软件配置文件,其可以配置各种协议的默认端口,如rtspAddress设置

2、进行推流与拉流

2.1 下载安装ffmpeg

打开 https://github.com/BtbN/FFmpeg-Builds/releases ,根据自己系统下载软件包

解压项目,同时将 ffmpeg-master-latest-win64-gpl-shared\bin 的路径添加到系统环境变量中

2.2 启动mediamtx

双击mediamtx即可,可以看到开始监听指定端口了

2.3 进行推流

在cmd或终端中执行

ffmpeg -re -stream_loop -1 -i 风景视频素材分享.flv -c copy -f rtsp rtsp://127.0.0.1:8554/input

其中风景视频素材分享.flv为视频文件名称,rtsp://127.0.0.1:8554/input为推流的地址

执行推流时的终端如下

此时mediamtx的输出如下

2.4 拉流播放

custom_ffmpeg是ffmpeg中bin目录

py 复制代码
from deffcode import FFdecoder
import cv2
# FFedecoder创建视频源和视频解码规则,formulate在ffmpeg中执行语句
# 本地视频
# decoder = FFdecoder("test.mp4").formulate()
# rtsp流
decoder = FFdecoder("rtsp://127.0.0.1:8554/input", custom_ffmpeg=r"D:\视频推流\ffmpeg-master-latest-win64-gpl-shared\bin").formulate()
 
# 从decoder中抓取RGB图像
for frame in decoder.generateFrame():
    # 将rgb图像转换为bgr图像,送给opencv展示
    frame_bgr = frame[:, :, ::-1]
    cv2.imshow("Output Frame", frame_bgr)
 
    key = cv2.waitKey(1) & 0xFF
    if key == ord("q"):
        break
 
# 安全关闭解码进程
decoder.terminate()

流播放效果如下所示

此时mediamtx软件页面信息如下

相关推荐
蹦蹦跳跳真可爱58934 分钟前
Python----计算机视觉处理(Opencv:道路检测之提取车道线)
python·opencv·计算机视觉
SKYDROID云卓小助手40 分钟前
三轴云台之相机技术篇
运维·服务器·网络·数码相机·音视频
yunteng5212 小时前
音视频(一)ZLMediaKit搭建部署
音视频·zlmediakit·安装搭建
Tanecious.3 小时前
机器视觉--python基础语法
开发语言·python
ALe要立志成为web糕手3 小时前
SESSION_UPLOAD_PROGRESS 的利用
python·web安全·网络安全·ctf
Tttian6224 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
蹦蹦跳跳真可爱5895 小时前
Python----机器学习(KNN:使用数学方法实现KNN)
人工智能·python·机器学习
Merokes5 小时前
关于Gstreamer+MPP硬件加速推流问题:视频输入video0被占用
c++·音视频·rk3588
独好紫罗兰5 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
DREAM.ZL7 小时前
基于python的电影数据分析及可视化系统
开发语言·python·数据分析