langhuihui/monibuca

RTSP 拉流斷線後無法恢復

Closed this issue · 14 comments

2023-09-07T09.log

rtsp拉流發生"拉流中断"後會自動"重新拉流"
在流恢復連線後訂閱者無法成功拉流
系統顯示"puller already exists"
接著出現流"timeout"

puller already exists 是正常的,说明自动拉流的流程还在继续,但是外界又再次调用了拉流,此时会防止重复发起拉流循环。我看了一下日志,是重新拉流失败了,tcp 连接超时,这个看是不是设备有什么限制引起的。

一般的IP CAM RTSP 無帳號密碼驗證
程式重啟就可以恢復正常

還是我的config有哪邊需要更改設定?

最好能抓包看一下,重新拉流发起的请求是为啥失败了

repull: -1
pullonsub: # 收到訂閱才開始拉流
mfg/D1: rtsp://220.132.170.212:560/av0_1
listenaddr: :554

以上設定我測試使用vlc播放器對server拉流成功後
1.拔除網路線等候server顯示拉流中斷,重新拉流
2.插回網路線server顯示"SPSInfo", "no audio track", "set track"等訊息,應是有成功拉到D1的rtsp流
3.vlc重新對server拉流後依然顯示puller already exists 與 拉流動作"timeout"
但資源監視器顯示server仍有從遠端rtsp接收資料(網路接收量與斷線前相同)

看起來server是有成功從新對rtsp拉流
但用戶端要從server拉流卻失敗

看到 set track了,但是没有出现“视频轨道已附加”的日志,说明没有拿到轨道数据,导致无数据后超时,puller already exists 你可以不用管

我再看看日志

你是自己编译的还是用的二进制直接运行的

二进制直接运行

看到 set track了,但是没有出现“视频轨道已附加”的日志,说明没有拿到轨道数据,导致无数据后超时,puller already exists 你可以不用管

確實沒有出現“视频轨道已附加”,但網路流量卻有再持續接收
您可以直接使用這個串流測試
rtsp://220.132.170.212:560/av0_1

我测试没问题,你是必现还是偶现

你加我微信吧:yigehui

我测试没问题,你是必现还是偶现

必现,每次斷線發生都會這樣
作業系統windows

你加我微信吧:yigehui

已提出加入申請