You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署RTMP Nginx服务器:手机无法接入问题求助

解决手机无法连接RTMP服务器的问题

按以下步骤逐一排查:

1. 确认Docker端口映射配置

运行容器时必须显式映射1935端口到宿主机,否则外部设备无法访问容器内的RTMP服务。执行以下命令重启容器(替换为你实际的容器启动参数):

docker run -d -p 1935:1935 --name rtmp-server tiangolo/nginx-rtmp

若已创建旧容器,先停止并删除旧容器,再重新运行带端口映射的命令。

2. 使用正确的访问IP

手机需要访问Windows宿主机的局域网IP(而非WSL内部IP,例如172.24.160.1是WSL私有IP,手机无法直接访问):

  • 查看Windows局域网IP:打开cmd输入ipconfig,找到当前WiFi/Ethernet适配器的IPv4地址(格式通常为192.168.x.x)。
  • 手机推流/播放地址应为:rtmp://[Windows局域网IP]:1935/webcam

3. 放行Windows防火墙端口

Windows默认防火墙会阻止外部设备访问本地端口,需添加1935端口的允许规则:

  • 打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」
  • 选择「端口」→ 输入1935 → 允许连接 → 勾选所有网络类型 → 命名规则后保存。
  • 测试时可临时关闭防火墙,确认是否能连接,排除防火墙干扰。

4. 修正Nginx RTMP配置

你的配置存在冗余和逻辑问题,修改后的极简配置如下(覆盖容器内的/etc/nginx/nginx.conf):

worker_processes auto;
events {}
rtmp {
    server {
        listen 1935;
        listen [::]:1935 ipv6only=on;

        application webcam {
            live on;
            record off;
            allow publish all;
            allow play all;
        }
    }
}
  • 移除了不必要的rtmp_auto_push on和pull指令(pull用于从其他RTMP源拉流,你不需要这个)
  • 调整规则顺序,确保所有设备都能推流和播放

修改配置后重启容器生效:

docker restart rtmp-server

5. 确认手机与PC在同一局域网

手机必须和运行Docker的PC连接同一个WiFi网络,跨网络(比如PC连WiFi、手机用流量)无法直接访问。

内容的提问来源于stack exchange,提问作者JonasDenmark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:50:31