使用mediamtx搭建RTSP流媒体服务器
1、下载地址(运行环境:centos 7下载mediamtx_v1.8.5_linux_amd64.tar.gz)
https://github.com/bluenviron/mediamtx/releases
2、安装
mkdir /data/mediamtx
mv mediamtx_v1.8.5_linux_amd64.tar.gz /data/mediamtx/
tar -zxvf mediamtx_v1.8.5_linux_amd64.tar.gz
3、配置文件修改
vim mediamtx.yml
11 # Destinations of log messages; available values are "stdout", "file" and "syslog".
12 logDestinations: [file] 把默认的stdout修改为file,指的是日志存储为文件
51 authInternalUsers:
52 # Default unprivileged user.
53 # Username. 'any' means any user, including anonymous ones.
54 - user: wzh 设置验证用户名
55 # Password. Not used in case of 'any' user.
56 pass: Hbps@601 设置验证密码(注意不能是简单密码)
4、后台启动
cd /data/mediamtx/
把执行文件复制到/usr/local/sbin 下,全局生效
cp mediamtx /usr/local/sbin/
nohup mediamtx mediamtx.yml &
这样启动后,退出xshell再连接,进程也不会退出
5、mediamtx 端口如下:
rtmp server端口:1935
rtsp server端口:8554
hls server端口:8888
webrtc server端口:8889
[RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
[HLS] listener opened on :8888
[WebRTC] listener opened on :8889 (HTTP), :8189 (ICE/UDP)
[SRT] listener opened on :8890 (UDP)
6、使用ffmpeg推流
ffmpeg -re -i C:\Users\WZH\Desktop\wzh.mp3 -rtsp_transport tcp -f rtsp rtsp://192.168.1.80:8554/test
ffmpeg -re -i C:\Users\WZH\Desktop\wzh.mp3 -rtsp_transport udp -f rtsp rtsp://192.168.1.80:8554/test
ffmpeg -re -i C:\Users\WZH\Desktop\wzh-2.wav -rtsp_transport udp -f rtsp rtsp://192.168.1.80:8554/test
用账户密码的方式推流
ffmpeg -re -i C:\Users\WZH\Desktop\wzh-2.wav -rtsp_transport tcp -f rtsp rtsp://wzh:Hbps@601@192.168.1.80:8554/test
用vlc拉流,正常填写网络URL,点击播放的时候,会跳出输入用户名密码界面
rtsp://192.168.1.80:8554/test
在web中播放webrtc
在web中不能直接播放rtsp流,需要通过mediamtx流媒体服务器转换成rtmp或hls或webrtc流
推流视频命令如下:(注意加-c参数)
-c:v copy 试图直接复制视频流(如果源是编码的格式),但如果源是原始格式,则需要用编码器(如 -c:v libx264)
ffmpeg -re -i C:\Users\WZH\Desktop\wzh1.mp4 -c:v copy -rtsp_transport tcp -f rtsp rtsp://wzh:Hbps@601@192.168.1.80:8554/test
web浏览器播放推流视频命令如下:
http://192.168.1.80:8889/test/