文章目录
概要
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输入我们的推流地址,就能看到摄像头画面了