错误图

在这里插入图片描述

错误原因

  • 之前的推流客户端断开时,TCP链接不能够被正常关闭,publishing会一直存在导致的。
    查看服务端rtmp推流端口状态,都处于结束的状态
  • 通过netstat -np(查看所有端口)查看1935的端口号是否处于结束状态或者netstat -ano|findstr 1935
  • 在这里插入图片描述

解决办法

第一步.在/etc/nginx/nginx.conf 中加入红框中的内容
在这里插入图片描述
该内容含义为
最后一个ACK没有回复后隔了2秒开始TCP keep-alive 探活,间隔1秒,总共两次。

第二步.找到对应的端口号并终止

netstat -ano|findstr 1935 or netstat -ano|grep 1935 
tasklist | findstr 5020
taskkill /f /t /im ffmpeg.exe

再次运行
在这里插入图片描述

GitHub 加速计划 / ng / nginx-rtmp-module
13.26 K
3.5 K
下载
nginx-rtmp-module: nginx-rtmp-module 是一个 Nginx 模块,用于支持 RTMP、HLS 和 MPEG-DASH 直播流媒体,提供录制、转码和HTTP回调等功能。
最近提交(Master分支:2 个月前 )
2fb11dff While rtmp module does not support SSL, starting from nginx 1.25.5 an SSL connection can be passed from nginx stream pass module. Such connections should be shut down on connection closure. An rtmps example: rtmp { server { listen 1935; # rtmp application foo { live on; } } } stream { server { listen 1936 ssl; # rtmps ssl_certificate example.com.crt; ssl_certificate_key example.com.key; pass 127.0.0.1:1935; } } 7 个月前
6f9fa49a The change repeats nginx commit cb149fa03367 and is needed for stream pass module to be able to pass connections to rtmp. 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐