鲍渔爱好者 2024-04-16 16:29 采纳率: 33.3%
浏览 800
已结题

docker模式webrtc-streamer 无法播放公网rtsp

github地址 https://github.com/mpromonet/webrtc-streamer
测试环境:centos7 + docker
犹豫直接部署webrtc-streamer 需要升级gcc和若干系统依赖,比较麻烦,所以采用docker方式部署,同样turn公网穿透服务也采用docker方式部署,经测试服务turn服务正常
目前的问题:可以正常播放局域网rtsp,但是无法播放公网rtsp,一直没有找到问题

img


img


webrtc-streamer docker启动命令
局域网模式:docker run --network host -p 8000:8000 --name webrtc-streamer -itd mpromonet/webrtc-streamer
公网模式:docker run -itd --network host --name webrtc-streamer mpromonet/webrtc-streamer -o -H 192.168.1.66:8000 -Tadmin:abc123456@116.162.XXX.XXX:3478
turn服务启动命令
docker run -itd --name turnserver -e EXTERNAL_IP=116.162.xxx.xxx -e TURN_USERNAME=admin -e TURN_PASSWORD=abc12345 -p 3478:3478 -p 3478:3478/udp passerma/turnserver

turn服务测试正常

img


在容器内部测试连接turn服务是通的,服务器上的防火墙都是关闭的,云上防火墙也全部放通的

播放测试时一直转圈播放不了,js日志都显示ice已连接上了,局域网rtsp可以正常播放,求指点

img

img


这是容器启动日志,不知道是否跟着错误有关系,局域网模式启动也是一样的问题,但是可以正常播放

  • 写回答

14条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-04-16 16:32
    关注

    🕒下午好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:七弦抚尽,何处觅知音,但向朗月空林。翰墨残迹,谁得千秋理,且听松涛竹意。

    看起来你正在尝试在Docker中部署WebRTC-Streamer来播放公网RTSP流,但遇到了问题。根据你的描述,我将尝试提供一些可能的解决方案:

    1. Docker网络设置

      • 确保你在运行WebRTC-Streamer的Docker容器时,使用了--network host选项。这允许容器访问宿主机的网络,包括公网RTSP流。如果只在局域网内工作,可能会导致无法访问外部资源。
    2. RTSP源验证

      • 公网RTSP源可能需要身份验证。检查你的 -o 参数是否包含了正确的用户名和密码,以及RTSP服务器的URL格式。例如:
        docker run -itd --network host --name webrtc-streamer mpromonet/webrtc-streamer -o -H <your_rtsps_url> -u <username> -p <password>
        
    3. 防火墙设置

      • 除了云防火墙,确认你的Docker容器和宿主机之间的防火墙没有阻止8000端口的通信。你可以通过运行 sudo ufw allow 8000/tcp(如果使用ufw)或 iptables -A INPUT -p tcp --dport 8000 -j ACCEPT 来临时开放。
    4. DNS解析

      • 如果RTSP源的IP地址是动态的,确保DNS能够正确解析到公网IP。你可以在WebRTC-Streamer的Dockerfile中添加DNS配置,或者在运行时指定固定的域名。
    5. ICE服务器配置

      • 确认TURN服务器配置正确,包括服务器地址和端口。如果不是默认值,可能需要在WebRTC-Streamer中显式指定。
    6. 日志分析

      • 查看WebRTC-Streamer的日志文件,寻找有关连接失败或权限错误的详细信息。通常这些日志会提供有用的线索。

    由于你没有提供具体的代码,我只能提供一般性的指导。如果你能提供更多的详细信息,如完整的启动命令、错误日志或RTSP源的URL,我可能能提供更精确的帮助。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月17日
  • 赞助了问题酬金15元 4月16日
  • 修改了问题 4月16日
  • 创建了问题 4月16日