我已经访问了MediaMtx https://github.com/aler9/mediamtx的官方github页面
- 我首先使用以下命令下载并启动映像
docker run --rm -it --network=host aler9/rtsp-simple-server
字符串
- 然后,我编辑了mediamtx.yml文件,在路径部分做了以下更改,在那里我提到了我的源URL。
paths:
proxied:
# url of the source stream, in the format rtsp://user:pass@host:port/path
source: rtsp://original-url
型
- 我用来编辑yml的命令是
docker run --rm -it --network=host -v $PWD/mediamtx.yml:/mediamtx.yml aler9/rtsp-simple-server
- 现在,正如文档所说,我试图监听代理地址rtsp://localhost:8554/proxied,但我得到的错误是exit 1。
- 这是ffmpeg命令,我用它来读取流,使用不同的程序本地
cmd := exec.Command("ffmpeg", "-rtsp_transport", "tcp", "-re", "-i", "rtsp://localhost:8854/proxied", "-c:v", "copy", "-f", "segment", "-segment_time", "300", "-segment_format", "mp4", "-segment_list", "recordings/playlist.m3u8", "-segment_list_entry_prefix", "recordings/", "-nostdin", "recordings/output-%03d.mp4")
其中我存储的流作为mp4文件及时的基础上。
我尝试将用户身份验证(rtsp://user:pass@host:port/path)添加到YML的paths部分,希望这就是问题所在
paths:
all:
readUser: user
readPass: userpass
型
但这似乎并不奏效。我不知道该往哪个方向看,因为我是RTSP协议的新手。希望这能总结我的问题。
1条答案
按热度按时间gojuced71#
1.创建Docker容器docker run --name rtps-proxy -it -e MTX_PROTOCOLS=tcp -p 8554:8554 -p 1935:1935 -p 8888:8888 -p 8889:8889 -d bluenviron/mediamtx
1.编辑mediamtx.yml
路径:代理:#源流的url,格式为rtsp://user:pass@host:port/path source:rtsp://原始URL
1.将mediamtx.yml复制到docker容器
docker cp mediamtx.yml rtps-proxy:/mediamtx.yml
docker restart rtps-proxy container
您可以在浏览器上观看http://host:8888/proxied视频