使用 mediamtx 在 Golang 中为 RTSP 流创建代理,因为源是 IP 摄像机的带宽挑战

问题描述 投票:0回答:0

我已经访问了 MediaMtx 的官方 github 页面text

  • 我首先使用以下命令下载并启动图像
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:
  all:
    readUser: user
    readPass: userpass

但这似乎没有用。由于我是 RTSP 协议的新手,不知道应该研究哪个方向。希望这总结了我的问题。

go proxy video-streaming rtsp
© www.soinside.com 2019 - 2024. All rights reserved.