ZLMediaKit / ZLMediaKit

WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
https://docs.zlmediakit.com
Other
13.9k stars 3.41k forks source link

[BUG]: 客户端双网卡情况下推webrtc流失败 #2244

Open myway116 opened 1 year ago

myway116 commented 1 year ago

现象描述

客户端为ubuntu 20 desktop ,配置为双网卡环境,有两个IP地址,192.168.0.230 及 192.168.174.128 ,服务器地址 192.168.0.235 ,服务器端系统为centos , 在chrome浏览器中输入https://192.168.0.235/webrtc 进行推流 ,推流失败,浏览器端日志显示为 webrtc:181 当前状态==> connecting webrtc:181 当前状态==> connected webrtc:181 当前状态==> disconnected webrtc:181 当前状态==> failed

如何复现?

可以部署虚拟机环境,系统为ubuntu 20 desktop , 配置双网卡,或者用实际带双网卡的机器,其中一个网卡可以和服务器互相通信,另一个网卡设置为不同网段 使用chrome浏览器,输入https://服务器ip/webrtc/ ,测试推流,查看浏览器日志输出及相应服务器端日志

相关日志或截图

展开查看详细日志
服务器端日志:
2023-02-16 09:43:03.433 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:137 OnDtlsTransportConnected | 
2023-02-16 09:43:03.567 W [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:923 inputRtp | unknown rtx rtp, rid:, ssrc:3291817156, codec:H264, seq:16587
2023-02-16 09:43:03.570 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:866 createRtpChannel | create rtp receiver of ssrc:640913216, rid:, codec:H264
2023-02-16 09:43:03.570 D [MediaServer] [4332-event poller 2] MediaSink.cpp:137 emitAllTrackReady | all track ready use 136ms
2023-02-16 09:43:03.570 T [MediaServer] [4332-event poller 2] MediaSink.cpp:259 addMuteAudioTrack | mute aac track added
2023-02-16 09:43:03.570 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注册:fmp4://__defaultVhost__/live/test
2023-02-16 09:43:03.570 I [MediaServer] [4332-event poller 2] MultiMediaSourceMuxer.cpp:368 onAllTrackReady | stream: rtc://192.168.0.235/live/test?app=live&stream=test&type=push&session=21-58 , codec info: mpeg4-generic[8000/1/16] H264[320/180/0] 
2023-02-16 09:43:03.570 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注册:rtmp://__defaultVhost__/live/test
2023-02-16 09:43:03.571 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注册:ts://__defaultVhost__/live/test
2023-02-16 09:43:03.571 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注册:rtsp://__defaultVhost__/live/test
2023-02-16 09:43:03.607 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:1063 setSession | rtc network changed: 192.168.0.230:56537 -> 192.168.174.128:41187, id:zlm_4
2023-02-16 09:43:03.607 I [MediaServer] [4332-event poller 2] WebRtcSession.cpp:93 onRecv_l | 23-61(192.168.174.128:41187) 
2023-02-16 09:43:03.607 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:112 OnIceServerSelectedTuple | 
2023-02-16 09:43:03.725 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:03.725 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:03.725 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:03.725 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:03.725 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:03.725 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:03.726 W [MediaServer] [4332-event poller 2] HlsMaker.cpp:83 inputData | stamp reduce: 1676511783605 -> 1676511783586
2023-02-16 09:43:03.733 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:03.733 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:03.763 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:03.763 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:03.802 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:03.802 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:03.834 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:03.835 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:03.863 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:05.924 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:05.925 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:112 OnIceServerSelectedTuple | 
2023-02-16 09:43:05.934 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:05.934 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
...
2023-02-16 09:43:18.372 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:112 OnIceServerSelectedTuple | 
2023-02-16 09:43:18.372 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:112 OnIceServerSelectedTuple | 
2023-02-16 09:43:18.500 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:18.500 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:18.501 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:112 OnIceServerSelectedTuple | 
2023-02-16 09:43:18.501 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:112 OnIceServerSelectedTuple | 
2023-02-16 09:43:18.628 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:18.628 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:18.629 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:112 OnIceServerSelectedTuple | 
2023-02-16 09:43:18.684 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:18.684 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:18.748 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:18.748 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:18.812 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:18.812 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:18.875 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:19.628 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:19.629 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:19.683 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:19.683 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:19.748 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:19.748 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:19.811 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:19.811 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:19.876 W [MediaServer] [4332-event poller 1] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread
2023-02-16 09:43:19.876 T [MediaServer] [4332-event poller 1] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd
2023-02-16 09:43:25.900 W [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:1050 onShutdown | 接受rtp/rtcp/datachannel超时
2023-02-16 09:43:25.901 W [MediaServer] [4332-event poller 2] WebRtcSession.cpp:112 onError | 23-61(192.168.174.128:41187) 接受rtp/rtcp/datachannel超时
2023-02-16 09:43:25.901 W [MediaServer] [4332-event poller 2] WebRtcSession.cpp:112 onError | 22-59(192.168.0.230:56537) 接受rtp/rtcp/datachannel超时
2023-02-16 09:43:25.901 I [MediaServer] [4332-event poller 2] WebRtcSession.cpp:57 ~WebRtcSession | 22-59(192.168.0.230:56537) 
2023-02-16 09:43:25.901 D [MediaServer] [4332-event poller 2] DtlsTransport.cpp:1436 OnSslInfo | sending DTLS warning alert: close notify
2023-02-16 09:43:25.901 D [MediaServer] [4332-event poller 2] DtlsTransport.cpp:1018 SendPendingOutgoingDtlsData | 31 bytes of DTLS data ready to sent to the peer
2023-02-16 09:43:25.901 W [MediaServer] [4332-event poller 2] WebRtcPusher.cpp:129 onDestory | RTC推流器(__defaultVhost__/live/test)结束推流,耗时(s):22
2023-02-16 09:43:25.901 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:412 ~WebRtcTransportImp | zlm_4
2023-02-16 09:43:25.901 I [MediaServer] [4332-event poller 2] WebRtcSession.cpp:57 ~WebRtcSession | 23-61(192.168.174.128:41187) 
2023-02-16 09:43:33.785 T [MediaServer] [4332-event poller 2] HttpSession.cpp:119 onError | 21-58(192.168.0.230:40804) session timeout
2023-02-16 09:43:33.786 T [MediaServer] [4332-event poller 2] HttpSession.cpp:33 ~HttpSession | 21-58(192.168.0.230:40804) 

2023-02-16 09:43:40.902 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注册:hls://__defaultVhost__/live/test
2023-02-16 09:43:40.902 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注销:hls://__defaultVhost__/live/test
2023-02-16 09:43:40.902 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注销:ts://__defaultVhost__/live/test
2023-02-16 09:43:40.902 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注销:rtmp://__defaultVhost__/live/test
2023-02-16 09:43:40.902 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注销:fmp4://__defaultVhost__/live/test
2023-02-16 09:43:40.902 I [MediaServer] [4332-event poller 2] MediaSource.cpp:523 emitEvent | 媒体注销:rtsp://__defaultVhost__/live/test

浏览器端日志:
[RTCPusherPlayer] offer: v=0
o=- 5953608471624032826 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 96 97 102 103 104 105 106 107 108 109 127 125 39 40 45 46 98 99 100 101 112 113 114
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:epiC
a=ice-pwd:DLQfXranMnQOtJe13Jbfy6bI
a=ice-options:trickle
a=fingerprint:sha-256 9A:6A:60:EF:A7:56:2E:3C:DE:8E:09:42:D6:FE:2A:BE:0D:F4:23:63:46:FA:97:34:B3:4A:B2:09:D3:63:A8:FC
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:- 698a2b31-a6b8-4ee7-99aa-53ac7ad0b0c2
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:103 rtx/90000
a=fmtp:103 apt=102
a=rtpmap:104 H264/90000
a=rtcp-fb:104 goog-remb
a=rtcp-fb:104 transport-cc
a=rtcp-fb:104 ccm fir
a=rtcp-fb:104 nack
a=rtcp-fb:104 nack pli
a=fmtp:104 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:105 rtx/90000
a=fmtp:105 apt=104
a=rtpmap:106 H264/90000
a=rtcp-fb:106 goog-remb
a=rtcp-fb:106 transport-cc
a=rtcp-fb:106 ccm fir
a=rtcp-fb:106 nack
a=rtcp-fb:106 nack pli
a=fmtp:106 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=106
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=127
a=rtpmap:39 H264/90000
a=rtcp-fb:39 goog-remb
a=rtcp-fb:39 transport-cc
a=rtcp-fb:39 ccm fir
a=rtcp-fb:39 nack
a=rtcp-fb:39 nack pli
a=fmtp:39 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=4d001f
a=rtpmap:40 rtx/90000
a=fmtp:40 apt=39
a=rtpmap:45 AV1/90000
a=rtcp-fb:45 goog-remb
a=rtcp-fb:45 transport-cc
a=rtcp-fb:45 ccm fir
a=rtcp-fb:45 nack
a=rtcp-fb:45 nack pli
a=rtpmap:46 rtx/90000
a=fmtp:46 apt=45
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:112 red/90000
a=rtpmap:113 rtx/90000
a=fmtp:113 apt=112
a=rtpmap:114 ulpfec/90000
a=ssrc-group:FID 640913216 3291817156
a=ssrc:640913216 cname:spILVIZrm5W1aERl
a=ssrc:640913216 msid:- 698a2b31-a6b8-4ee7-99aa-53ac7ad0b0c2
a=ssrc:3291817156 cname:spILVIZrm5W1aERl
a=ssrc:3291817156 msid:- 698a2b31-a6b8-4ee7-99aa-53ac7ad0b0c2

debug.js:17 Remote ICE candidate: 
 candidate:998485425 1 udp 2122260223 192.168.0.230 56537 typ host generation 0 ufrag epiC network-id 1
debug.js:17 Remote ICE candidate: 
 candidate:2701957918 1 udp 2122194687 192.168.174.128 41187 typ host generation 0 ufrag epiC network-id 2
debug.js:17 [RTCPusherPlayer] answer: v=0
o=- 5953608471624032826 2 IN IP4 192.168.0.235
s=-
t=0 0
a=group:BUNDLE 0
a=msid-semantic: WMS
m=video 8000 UDP/TLS/RTP/SAVPF 102 103
c=IN IP4 192.168.0.235
a=rtcp:8000 IN IP4 192.168.0.235
a=ice-ufrag:zlm_4
a=ice-pwd:ZkKykmz61XUB9QD0yXFNrJRf
a=ice-options:trickle
a=fingerprint:sha-256 93:9D:52:2C:5A:24:EA:5F:51:46:75:1F:0D:5B:2E:85:B0:F3:7B:F5:71:50:C2:B8:67:39:7F:ED:D4:CF:3A:04
a=setup:passive
a=mid:0
a=ice-lite
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtpmap:102 H264/90000
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=rtcp-fb:102 transport-cc
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:103 rtx/90000
a=fmtp:103 apt=102
a=candidate:udpcandidate 1 udp 120 192.168.0.235 8000 typ host
a=candidate:tcpcandidate 1 tcp 115 192.168.0.235 8000 typ host tcptype passive

debug.js:17 [RTCPusherPlayer] set remote sucess
webrtc:181 当前状态==> connecting
webrtc:181 当前状态==> connected
webrtc:181 当前状态==> disconnected
webrtc:181 当前状态==> failed

配置

展开查看详细配置
配置为默认配置

各种环境信息

xia-chu commented 1 year ago

多网卡情况下确实存在webrtc可能不通的情况 这个是底层库限制的 因为多网卡的情况下 udp socket不知道从哪张网卡回复数据

xia-chu commented 1 year ago

我待会提供个patch给你测试下

xiongguangjie commented 1 year ago

这个我感觉是客户端问题路由设置的问题,我发现192.168.0.230 及 192.168.174.128 都能与服务器通,这个感觉是路由选择的问题

myway116 commented 1 year ago

好的,等待Patch测试看看! 192.168.174.128这个地址 在虚拟机中设置的是仅主机模式 和 服务器地址192.168.0.235 是不通的,从192.168.0.235中能ping通192.168.0.230 , 但是ping不通192.168.174.128 , 用实际的双网卡机器也测试过,效果是一样的。 好像问题出在这个地方 : 2023-02-16 09:43:03.607 I [MediaServer] [4332-event poller 2] WebRtcTransport.cpp:1063 setSession | rtc network changed: 192.168.0.230:56537 -> 192.168.174.128:41187, id:zlm_4

xia-chu commented 1 year ago

可以收到 但是无法回复数据

xia-chu commented 1 year ago

查看了些文章: https://dandelioncloud.cn/article/details/1555531340567498754 https://stackoverflow.com/questions/37597410/ip-pktinfo-socket-option-not-working https://learn.microsoft.com/zh-hk/windows/win32/winsock/ip-pktinfo 这个问题需要修改ZLToolKit底层网络框架 上层业务逻辑也需要适配

myway116 commented 1 year ago

看起来要做的修改不少吧,预计多久能有patch测试版本啊? 现在想到几个临时的解决思路,不知道行不行的通 1)有没有可能在js端过滤一下candidate ,只允许收集192.168.0.230 。 现有js端代码,只有日志显示: _onIceCandidate=(event)=> { if (event.candidate) { log('Remote ICE candidate: \n ' + event.candidate.candidate); // Send the candidate to the remote peer } }

2) 服务器端 rtc network changed 在不考虑网络切换的情况下,假定设置的都是静态IP地址,将现有 WebRtcTransportImp::setSession 代码做如下修改有没有什么问题?是否可以持续正常运行?(修改后的代码尝试运行了一下,确实可以暂时推流成功,但不知道是否能持续运行或者有没有其他的问题) 现有代码: void WebRtcTransportImp::setSession(Session::Ptr session) {

_history_sessions.emplace(session.get(), session);
if (_selected_session) {
    InfoL << "rtc network changed: " << _selected_session->get_peer_ip() << ":"
          << _selected_session->get_peer_port() << " -> " << session->get_peer_ip() << ":"
          << session->get_peer_port() << ", id:" << getIdentifier();

}
_selected_session = std::move(session);
_selected_session->setSendFlushFlag(false);
unrefSelf();

}

修改后代码: void WebRtcTransportImp::setSession(Session::Ptr session) {

if (_selected_session) {
    InfoL << "rtc network changed: " << _selected_session->get_peer_ip() << ":"
          << _selected_session->get_peer_port() << " -> " << session->get_peer_ip() << ":"
          << session->get_peer_port() << ", id:" << getIdentifier();
          unrefSelf();
          return;
}
_history_sessions.emplace(session.get(), session);
_selected_session = std::move(session);
_selected_session->setSendFlushFlag(false);
unrefSelf();

}

xia-chu commented 1 year ago

@myway116 今天刚修改了zlm的webrtc代码 你可以验证下。 另外udp多网卡不兼容的问题 你可以先强制用webrtc over tcp模式应付下,配置文件rtc.port置0,rtc.tcpPort置8000即可

myway116 commented 1 year ago

使用最新版本,默认配置下,初步测了一下,双网卡下好像能正常推流了,还有个问题就是推流和收流的过程中查看日志有大量的警告信息,不知道是否正常,使用之前的版本也是有这样的情况。

1)W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2)W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread

... 2023-03-07 10:16:05.811 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:05.816 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.816 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.820 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.820 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.825 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.825 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.829 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.829 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.831 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.831 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.836 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.836 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.839 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.839 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.853 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.853 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.858 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.858 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.862 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.863 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.866 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.866 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.870 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.870 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.874 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:05.875 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.875 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.879 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.879 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.884 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.884 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.888 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.888 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.892 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.892 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.896 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.897 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.900 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.900 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.904 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.904 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.907 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.907 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.913 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.913 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.916 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.916 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.920 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.920 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.925 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.925 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.928 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.928 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.933 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.933 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.936 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.936 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.937 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:05.940 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.940 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.946 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.946 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.949 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.950 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.953 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.953 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.957 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.957 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.962 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.962 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.967 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.968 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.977 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.977 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.986 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.987 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.987 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.987 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.987 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.987 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.987 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.987 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.991 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.992 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:05.999 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:05.999 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.000 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:06.001 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.001 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.004 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.004 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.008 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.008 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.013 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.013 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.017 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.017 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.020 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.020 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.025 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.025 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.029 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.029 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.034 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.034 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.038 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.038 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.043 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.043 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.045 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.046 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.049 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.049 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.053 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.053 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.057 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.057 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.061 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:06.062 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.062 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.064 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.064 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.066 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.066 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.067 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.067 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.071 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.071 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.077 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.077 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.081 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.081 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.085 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.085 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.089 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.090 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.109 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:06.116 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.116 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.120 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.120 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.124 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:06.125 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.125 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.129 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.129 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.132 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.132 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.135 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.135 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.139 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.139 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.167 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.167 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.179 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.179 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.183 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.183 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.187 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.187 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.191 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.191 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.194 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.194 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.199 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.199 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.202 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.203 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.206 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.206 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.211 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.211 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.213 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.213 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.218 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.218 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.221 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.221 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.225 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.225 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.229 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.229 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.232 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.232 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.242 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.242 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.246 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.246 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.250 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.250 W [MediaServer] [2333-event poller 5] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-07 10:16:06.250 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.271 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.271 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.274 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.274 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd 2023-03-07 10:16:06.303 W [MediaServer] [2333-event poller 6] UdpServer.cpp:163 onRead_l | UDP packet incoming from other thread 2023-03-07 10:16:06.303 T [MediaServer] [2333-event poller 6] UdpServer.cpp:176 onRead_l | UDP packet incoming from server fd ...

xia-chu commented 1 year ago

UDP packet incoming from other thread 是Trace级别日志 你 -l 1 运行屏蔽下吧 这个不影响功能 但是大量出现这个日志 说明性能会有损失 你升级下内核 应该能解决这个问题

myway116 commented 1 year ago

升级内核后,没有之前的UDP packet 告警日志了,但是还是有大量的Srtp 告警日志 "srtp replay check failed " : ... 2023-03-25 16:37:22.078 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.092 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.092 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) Last message repeated 37 times 2023-03-25 16:37:22.452 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.453 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.453 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) Last message repeated 12 times 2023-03-25 16:37:22.583 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.592 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.592 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) Last message repeated 12 times 2023-03-25 16:37:22.717 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.718 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.718 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) Last message repeated 14 times 2023-03-25 16:37:22.875 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.886 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:22.886 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) Last message repeated 18 times 2023-03-25 16:37:23.078 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:271 DecryptSrtcp | srtp_unprotect_rtcp() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:23.078 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) 2023-03-25 16:37:23.078 W [MediaServer] [2025-event poller 0] SrtpSession.cpp:246 DecryptSrtp | srtp_unprotect() failed:replay check failed (bad index) (srtp_err_status_replay_fail) Last message repeated 13 times ...

xia-chu commented 1 year ago

srtp replay check failed 说明你的网络有大量的丢包,不过这个一般不影响什么

xia-chu commented 11 months ago

udp支持多网卡感觉没必要支持了 这个不符合云原生的发展趋势 不管物理网卡多少张 容器中只会有一个ip和网卡

mc373906408 commented 9 months ago

我觉得有必要支持,不一定所有应用场景都是云原生

xia-chu commented 9 months ago

那docker部署也行

mc373906408 commented 9 months ago

@myway116 我提交了一份pr,你可以帮忙测试下吗