RESOLVED CONFIGURATION CHANGED 240336
The quality of the video transmitted by WebRTC is very low on iOS Safari 15.4(only Offerer situation)
https://bugs.webkit.org/show_bug.cgi?id=240336
Summary The quality of the video transmitted by WebRTC is very low on iOS Safari 15.4...
yuki uchida
Reported 2022-05-12 02:32:32 PDT
# Overview The quality of the video transmitted by WebRTC is very low on iOS Safari 15.4. And, changing MediaStreamTrack.enabled eliminate this problem. ## steps to reproduce device A: iOS Safari device B: Any(ChromeM101 on Mac and iPadOS(unknown version) was tested) 1. (device A&B) visit https://yasubaba.github.io/prodSkyWay/room_videoMute/ 2. (device A&B) Accept permissions for camera and microphone. 3. (device A&B) join Room and start WebRTC Connection. 4. (device B) received Video is very low quality. (However, the image quality seems to be normal on webrtc internals.) 5. (device A) click `Video Mute/Unmute` 6. (device B) received Video is good quality. (However, But on webrtc internals it looks no different than step 4) The mute procedure is very simple as follows ``` document.getElementById('js-videoEnabled').addEventListener('click', () => { localStream.getVideoTracks().forEach( track => { track.enabled = !track.enabled; }); }) ``` ## Actual Results iOS Safari always send low quality video at first, but changing track.enabled is workaround. ## Expected Results device B receive good quality Video. ## Hardware iPhone11 iOS15.4
Attachments
yuki uchida
Comment 1 2022-05-12 02:48:59 PDT
(In reply to yuki uchida from comment #0) > # Overview > The quality of the video transmitted by WebRTC is very low on iOS Safari > 15.4. > And, changing MediaStreamTrack.enabled eliminate this problem. > > > ## steps to reproduce > device A: iOS Safari > device B: Any(ChromeM101 on Mac and iPadOS(unknown version) was tested) > > 1. (device A&B) visit https://yasubaba.github.io/prodSkyWay/room_videoMute/ > 2. (device A&B) Accept permissions for camera and microphone. > 3. (device A&B) join Room and start WebRTC Connection. > 4. (device B) received Video is very low quality. (However, the image > quality seems to be normal on webrtc internals.) > 5. (device A) click `Video Mute/Unmute` > 6. (device B) received Video is good quality. (However, But on webrtc > internals it looks no different than step 4) > > > The mute procedure is very simple as follows > ``` > document.getElementById('js-videoEnabled').addEventListener('click', () => { > localStream.getVideoTracks().forEach( track => { > track.enabled = !track.enabled; > }); > }) > ``` > > > ## Actual Results > iOS Safari always send low quality video at first, but changing > track.enabled is workaround. > > ## Expected Results > device B receive good quality Video. > > ## Hardware > iPhone11 iOS15.4 Postscript. This problem seems to occur only when iOS Safari is the Offerer. iOS Safari is the Answerer, Chrome receives a clean image from the beginning. ## steps to reproduce device A: iOS Safari device B: Any(ChromeM101 on Mac and iPadOS(unknown version) was tested) 1. (device A&B) visit https://yasubaba.github.io/prodSkyWay/room_videoMute/ 2. (device A&B) Accept permissions for camera and microphone. 3. (device B) join Room and start WebRTC Connection. 4. (device A) join Room and start WebRTC Connection.(createOffer) 5. (device A&B) WebRTC Connection start. 6. (device B) received Video is very low quality. (However, the image quality seems to be normal on webrtc-internals.) 7. (device A) click `Video Mute/Unmute` 8 (device B) received Video is good quality. (However, But on webrtc-internals it looks no different than step 6)
youenn fablet
Comment 2 2022-05-12 06:40:05 PDT
Can you try on latest iOS 15.5 beta to see whether that fixes your issue?
Radar WebKit Bug Importer
Comment 3 2022-05-12 06:41:17 PDT
Kyle Foley
Comment 4 2022-05-12 09:02:59 PDT
15.5 beta fixes the Safari issue for me
youenn fablet
Comment 5 2022-05-18 05:45:59 PDT
Marking as configuration changed
Note You need to log in before you can comment on or make changes to this bug.