FFmpeg+mediamtx 实现将本地摄像头推送成RTSP流

文章目录

概要

FFmpeg+mediamtx实现将本地摄像头推送成RTSP流

FFmpeg 版本号为:N-114298-g97d2990ea6-20240321

mediamtx 版本号为:v1.6.0

推流过程

摄像头数据,经过ffmpeg的推流代码,推送到本地的收流服务器上,这样就可以通过流地址来直接查看摄像头画面了

实现过程

安装FFmpeg

由于我是Windows平台,直接去Github下载编译好的FFmpeg可执行文件就可以了,然后配置一下环境变量

下载FFmepg 传送门

配置环境变量

安装Mediamtx

也是直接去Github下载 传送门

启动推流

启动收流服务器,直接双击下载好的mediamtx即可

运行FFmepg推流代码

如果是Rtmp流就使用:

复制代码
ffmpeg -f dshow -i video="USB Camera" -vf scale=1280:720 -framerate 10 -c:v libx264 -c:a aac -f flv rtmp://127.0.0.1:1935/hls/test

如果是Rtsp流就使用:

复制代码
ffmpeg -f dshow -i video="USB Camera" -vf scale=1280:720 -framerate 10 -c:v libx264 -c:a aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1:8554/hls/test

在这个命令中:

  • -f dshow -framerate 10 -i video="USB Camera" 指定使用dshow输入设备来捕获本地摄像头,名称为"USB Camera",并设置输出帧率为10。
  • -c:v libx264 指定视频编码器为libx264,您也可以选择其他视频编码器。
  • -c:a aac 指定音频编码器为AAC,您也可以选择其他音频编码器。
  • -f rtsp 指定输出格式为RTSP。
  • rtmp://127.0.0.1:1935/hls/test是流地址,这个可以自定义,一般要用二级地址

如图出现这个就成功了:

这时,打开vlc输入我们的推流地址,就能看到摄像头画面了

相关推荐
海带紫菜菠萝汤15 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
程序员老陆2 天前
FFmpeg6的滤镜函数解析
ffmpeg·音视频·avfilter
看浪的路人2 天前
第10讲:Python 调用 FFmpeg 批量处理——打造你的视频处理工具箱
python·ffmpeg·音视频
程序员老陆3 天前
FFmpeg 时间戳全解:从 av_rescale_q 到时间基黑洞
ffmpeg·音视频·时间基
水獭比特3 天前
自动成片没报错,为什么音画还会漂?
ffmpeg
Yeauty3 天前
2026 年在 Rust 里处理音视频,该走哪条路?
rust·ffmpeg·音视频·视频
勿忘初心12214 天前
【Windows流媒体实战1】FFmpeg+Nginx-RTMP Windows详细搭建教程
ffmpeg·nginx-rtmp·windows流媒体搭建·rtmp直播
勿忘初心12214 天前
【Windows流媒体实战2】SpringBoot2.x 整合FFmpeg 完整实操教程
ffmpeg·springboot·流媒体开发·nginx-rtmp·rtmp视频录制
Yeauty7 天前
你那条 ffmpeg 命令,一键翻成 Rust builder 代码
开发语言·rust·ffmpeg
Yeauty8 天前
用 Whisper 转录前,你不用再离开 Rust
开发语言·rust·ffmpeg·音视频·视频