WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
267121
REGRESSION (iOS 16.3?): WebKit requires keyframes now for video decodes, which makes it less forgiving for IP cameras
https://bugs.webkit.org/show_bug.cgi?id=267121
Summary
REGRESSION (iOS 16.3?): WebKit requires keyframes now for video decodes, whic...
roger.hu
Reported
2024-01-04 20:48:51 PST
https://github.com/WebKit/WebKit/pull/16432/files
introduces a change in requiring key frames for initial video decodes. This works fine for most movies but I was trying to figure out why
https://chaney-field3.click2stream.com/
shows "Playback Error" across Safari, Chrome, Firefox, etc. on iPhone devices (particularly iOS 16.3.1 and above). I believe is triggered by IP cameras that are reliant on converting its RTSP packets into MPEG-TS video frames without doing any transcoding. Most other devices are forgiving and will find the first keyframe, but this PR seems to make things more stringent? See original issue:
https://developer.apple.com/forums/thread/743087
It may also be related to this discussion too:
https://ipcamtalk.com/threads/blue-iris-ui3.23528/page-194#post-754082
I realize now that Chrome on iPhones are still using WebKit underneath the hood, which explains why it also happens for Chrome on iPhones (
https://www.lifewire.com/why-it-matters-that-google-is-developing-a-browser-not-based-on-webkit-7107099
)
Attachments
Add attachment
proposed patch, testcase, etc.
roger.hu
Comment 1
2024-01-04 20:56:02 PST
Actually this PR may be the culprit (the other one was for audio):
https://github.com/WebKit/WebKit/pull/4858
Radar WebKit Bug Importer
Comment 2
2024-01-05 11:16:56 PST
<
rdar://problem/120553459
>
Eric Carlson
Comment 3
2024-01-08 13:11:37 PST
https://github.com/WebKit/WebKit/pull/4858
added WebCodecsVideoDecoder support, but
https://chaney-field3.click2stream.com
, but on iPhone uses a <video> element with an HLS stream: <video data-html5-video="" src="
https://e1-na7.angelcam.com/cameras/102610/streams/hls/playlist.m3u8?token=eyJjYW1lcmFfaWQiOiIxMDI2MTAiLCJkZXZpY2VfaWQiOiIxMDI2MTAiLCJ0aW1lIjoxNzA0NzQ3NzYyNjgxNTQ2LCJ0aW1lb3V0IjozNjAwfQ%3D%3D%2E815317f94165d5dbfedee01d29c1892e76e7a43a5ed0ca2e9f78bf0b96d7e209
" muted="true" preload="auto" playsinline="playsinline" poster="data:image/svg+xml, <svg xmlns="
http://www.w3.org/2000/svg"
; width="1" height="1" viewBox="0 0 1 1"><rect x="0" y="0" width="1" height="1" fill="#000000" /></svg>"></video>
Gabriel Wicke
Comment 4
2024-02-26 19:15:48 PST
Related discussion about server side workarounds on the nginx rtmp module site:
https://github.com/arut/nginx-rtmp-module/issues/1649#issuecomment-1965653223
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug