meetecho / janus-gateway

Janus WebRTC Server
https://janus.conf.meetecho.com
GNU General Public License v3.0
8.17k stars 2.47k forks source link

[1.x] #3390

Closed manjunath1399 closed 3 months ago

manjunath1399 commented 3 months ago

What version of Janus is this happening on? 1.1.3

Have you tested a more recent version of Janus too? No

Was this working before? No

Is there a gdb or libasan trace of the issue? Not sure

Additional context We are facing an issue with the Janus VideoRoom plugin where participants using iOS 17 and later are unable to view the remote peer’s video feed. Despite successful SRTP and DTLS handshakes, the video remains invisible on iOS devices, while other platforms work fine. We’ve conducted thorough testing across multiple iOS devices, ruling out connectivity and permission issues. Could you provide insights on any known compatibility issues or potential solutions for this specific platform?

Note: We tried with iPhone 14 Pro Max in official website demo in video room, there also the stream are not going, but working in other older version of ios iPhones like iPhone 11,12 working there as well as in my code also.

Below is the logs FYR, Got a Janus API request from janus.transport.websockets (0x7f43d8002450) No more remote candidates for handle 2784050585203576! [2784050585203576] New selected pair for component 1 in stream 1: 4 <-> 2109610619 [2784050585203576] Component is ready enough, starting DTLS handshake... [2784050585203576] Component state changed for component 1 in stream 1: 3 (connected) [2784050585203576] Creating retransmission timer with ID 9 [2784050585203576] DTLS established, yay! [2784050585203576] Computing sha-256 fingerprint of remote certificate... [2784050585203576] Remote fingerprint (sha-256) of the client is 55:32:D3:A6:D7:58:59:9E:65:C8:B0:87:33:14:81:D0:D2:D9:48:7D:05:A8:12:05:84:AA:1C:80:9A:F0:8D:02 [2784050585203576] Fingerprint is a match! [2784050585203576] SRTP_AEAD_AES_256_GCM [2784050585203576] Key/Salt/Master: 44/32/12 [2784050585203576] Created inbound SRTP session for component 1 in stream 1 [2784050585203576] Created outbound SRTP session for component 1 in stream 1 [2784050585203576] Connecting the SCTP association [2784050585203576] Connected to the DataChannel peer [2784050585203576] The DTLS handshake for the component 1 in stream 1 has been completed [2784050585203576] The DTLS handshake has been completed [2784050585203576] Telling the plugin about it (JANUS VideoRoom plugin) [janus.plugin.videoroom-0x7f43d8002570] WebRTC media is now available New subscriber available sending PLI to 1762638959726676 (#0, aarthi.d@ezee.ai) [2784050585203576] Sending event to transport...; 0x7f442800c7c0 [2784050585203576] DTLS already set up, disabling retransmission timer! SSRC changed, 0 --> 3566567930 SSRC changed, 0 --> 3916231614 PLI from subscriber sending PLI to 1762638959726676 (#0, aarthi.d@ezee.ai) PLI from subscriber sending PLI to 1762638959726676 (#0, aarthi.d@ezee.ai) Association change SCTP_COMM_UP, streams (in/out) = (300/300), supports PR MULTIBUF RE-CONFIG. [2784050585203576] Opened channel 'JanusDataChannel' (protocol=??, id=0) (0/0/0) [janus.plugin.videoroom-0x7f43d8002570] Data channel available [3918276759999753] Sent NACKs for 2 missing packets (video stream #0) [6227092578789541] Retransmitted 2 packets due to NACK (video stream #0) [2784050585203576] Component state changed for component 1 in stream 1: 4 (ready) Got a Janus API request from janus.transport.websockets (0x7f43d8005e80) Got a keep-alive on session 6854430954361722 Got a Janus API request from janus.transport.websockets (0x7f43d8002450) Got a keep-alive on session 2679292483863779 [6227092578789541] Retransmitted 2 packets due to NACK (video stream #0) [150671042082258] Retransmitted 1 packets due to NACK (video stream #0) [5081280449823432] Retransmitted 1 packets due to NACK (video stream #0) [7346417459812653] Retransmitted 1 packets due to NACK (video stream #0) [2784050585203576] Retransmitted 1 packets due to NACK (video stream #0) [3918276759999753] Sent NACKs for 1 missing packets (video stream #0) [6227092578789541] Retransmitted 1 packets due to NACK (video stream #0) [5081280449823432] Retransmitted 1 packets due to NACK (video stream #0) [7346417459812653] Retransmitted 1 packets due to NACK (video stream #0) [150671042082258] Retransmitted 2 packets due to NACK (video stream #0) Got a Janus API request from janus.transport.websockets (0x7f43d8005e80) Got a keep-alive on session 6854430954361722 [2784050585203576] Retransmitted 10 packets due to NACK (video stream #0) [150671042082258] Sending event to transport... [150671042082258] Sending event to transport...; 0x7f4428008e00 [2784050585203576] Sending event to transport... [2784050585203576] Sending event to transport...; 0x7f442800c7c0 [7346417459812653] Sending event to transport... [7346417459812653] Sending event to transport...; 0x7f4428009950 [5081280449823432] Sending event to transport... [5081280449823432] Sending event to transport...; 0x7f442800c0e0 [7346417459812653] Sending event to transport... [7346417459812653] Sending event to transport...; 0x7f4428009950 [5081280449823432] Sending event to transport... [5081280449823432] Sending event to transport...; 0x7f442800c0e0 [5081280449823432] Retransmitted 23 packets due to NACK (video stream #0) [7346417459812653] Retransmitted 19 packets due to NACK (video stream #0) [150671042082258] Retransmitted 22 packets due to NACK (video stream #0) [2784050585203576] Sending event to transport... [2784050585203576] Sending event to transport...; 0x7f442800c7c0 [150671042082258] Sending event to transport... [150671042082258] Sending event to transport...; 0x7f4428008e00 [2784050585203576] Retransmitted 11 packets due to NACK (video stream #0)

lminiero commented 3 months ago

This is already being discussed on the group, so please don't open the same topic in different places. There's no issue here: the PeerConnection is created correctly, and media is being exchanged. It's very likely an issue related to either codecs being negotiated (maybe H.264 with the wrong profile) or autoplay issues. In both cases, not a code issue so it doesn't belong here. Closing.