webrtc推拉流 srs报错:DTLS_HANG DTLS: > Hang, done=0, version=-1, arq=0

执行了./objs/srs -c conf/rtc.conf
打开了srs的推拉流网页:

推流

拉流
srs报错如下:

[2023-11-08 21:55:23.489][Warn][44992][8xvf4d62][104][DTLS_HANG] DTLS:
Hang, done=0, version=-1, arq=0

webrtc推拉流 srs报错:DTLS_HANG DTLS: > Hang, done=0, version=-1, arq=0_第1张图片
观看srs日志,在sdp offer,answer交换完以后,DTLS交换失败,报上述错误。

RTC remote offer:
RTC local answer:

原因是因为conf/rtc.conf中candidate的配置,当推拉流浏览器在本地时,如果srs也在本地,那么可以使用官网默认。如果srs在公网上,由于srs是lite-ice端,导致他不会主动到srs获取自己的公网ip,因此需要在这里帮他指定 ,他才会把这个ip放到sdp中,发给full-ice的浏览器客户端。
切忌什么时候都不可以写为127.0.0.1,也会报上述错误,如果浏览器和srs都在一个pc上,也可以使用 “*” 如"candidate *;"

rtc_server {
    enabled on;
    listen 8000; # UDP port
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
    candidate $CANDIDATE; #如139.169.8.2;
}

参考srs官网
webrtc是音视频必备,但即使从业数年,它似乎依然有无穷的秘密,感兴趣添加笔者微信:YQW1163720468,加入webrtc微信群讨论。但记得备注:webrtc爱好者

你可能感兴趣的:(Server,webrtc,srs)