当前位置: 首页 > news >正文

使用ffmpeg和mediamtx模拟多通道rtsp相机

首先下载ffmpeg,在windows系统上直接下载可执行文件,并配置环境变量即可在命令行当中调用执行。
下载地址:

https://ffmpeg.org/

再在github上下载mediamtx搭建rtsp服务器,使用ffmpeg将码流推流到rtsp服务器。
下载地址:

https://github.com/13meimei/mediamtx

搭建模拟多通道rtsp相机:

注意:此篇文章是配置多个rtsp服务器,每个服务具有一个端口。如果不需要多个端口,直接修改ffmpeg推流rtsp url当中端口后的地址段即可:

ffmpeg -re -stream_loop -1 -i .\video.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream1
ffmpeg -re -stream_loop -1 -i .\video.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream2

1、修改配置文件mediamtx.yml

在这里插入图片描述
把不必要开启的监听服务关闭。防止再开启另一个mediamtx进程作为另一个rtsp服务器时端口冲突,被占用报错。

2、重新开启mediamtx进程,rtsp监听8554端口

在进程已经启动之后,修改配置文件,保存之后也会立即生效。
在这里插入图片描述
在mediamtx.exe所在文件夹的命令行当中执行mediamtx.exe时,命令行可以看到只剩下监听rtsp,并且可以看到当前占用的端口。

3、开启另一个进程,rtsp监听9554端口

在这里插入图片描述

4、ffmpeg推流

当前使用两张图片作为输入,推流命令:

rtsp:8554

ffmpeg -re -stream_loop -1 -i left_road.png -c:v libx264 -f rtsp rtsp://127.0.0.1:8554/live

rtsp:9554

ffmpeg -re -stream_loop -1 -i right_road.png -c:v libx264 -f rtsp rtsp://127.0.0.1:9554/live

5、ffplay播放

ffplay是ffmpeg当中的一个套件,安装完成ffmpeg之后也就有了ffplay。播放命令:

rtsp:8554

ffplay rtsp://127.0.0.1:8554/live

在这里插入图片描述

rtsp:9554

ffplay rtsp://127.0.0.1:9554/live

在这里插入图片描述

附:

1、命令行当中还可以,通过配置环境变量设置rtsp监听地址和端口:

$env:MTX_RTSPADDRESS = "127.0.0.1:8554"
.\mediamtx.exe

2、可以使用python将以上步骤自动化

  • 拷贝文件
  • 关闭除了rtsp的其他协议
  • 按照需要开启的rtsp通道数量,递增修改监听套接字
  • 启动服务,监听套接字
  • 打印rtsp url地址,用于ffmpeg推流
  • ffmpeg推流
  • 监听按键
  • 按下按键,退出rtsp服务器和ffmpeg推流进程
  • 删除文件,方便下次继续使用

http://www.mrgr.cn/news/65531.html

相关文章:

  • 递归 搜索 回溯 算法专题
  • 链接分析与反向链接的重要性及最佳实践解析
  • 新160个crackme - 091-DOSKEY-CRACKME2
  • 【Java 8】方法引用
  • RT-Thread PIN设备 UART设备
  • 2023年SCRM系统排名分析及市场趋势解读
  • 7. 触发模式
  • C++中,如何找到一个vector中最大的元素
  • Spring Boot框架
  • 数字身份发展趋势前瞻:身份即服务
  • Matlab实现海马优化算法(SHO)求解路径规划问题
  • IA应用加速,让电子供应链更智能高效
  • 安当KSP密钥管理系统:引领未来,全面支持抗量子算法
  • 如何快速把多个视频文件生成一个二维码来印刷使用?
  • 【OH】openHarmony整仓代码下载
  • Day24 opencv预处理
  • 云原生周刊:微服务架构 2025 年的发展趋势丨2024.11.04
  • Qt项目实战:红绿灯小程序
  • 二分查找算法上篇
  • SQL server 列转行