Summary: | The quality of the video transmitted by WebRTC is very low on iOS Safari 15.4(only Offerer situation) | ||
---|---|---|---|
Product: | WebKit | Reporter: | yuki uchida <rantarn0326> |
Component: | WebRTC | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED CONFIGURATION CHANGED | ||
Severity: | Normal | CC: | kyle, webkit-bug-importer, youennf |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari 15 | ||
Hardware: | iPhone / iPad | ||
OS: | iOS 15 | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=238366 |
Description
yuki uchida
2022-05-12 02:32:32 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) Can you try on latest iOS 15.5 beta to see whether that fixes your issue? 15.5 beta fixes the Safari issue for me Marking as configuration changed |