<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>267121</bug_id>
          
          <creation_ts>2024-01-04 20:48:51 -0800</creation_ts>
          <short_desc>REGRESSION (iOS 16.3?): WebKit requires keyframes now for video decodes, which makes it less forgiving for IP cameras</short_desc>
          <delta_ts>2024-02-26 19:15:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>Safari 17</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 17</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>roger.hu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>gswicke</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2003106</commentid>
    <comment_count>0</comment_count>
    <who name="">roger.hu</who>
    <bug_when>2024-01-04 20:48:51 -0800</bug_when>
    <thetext>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 &quot;Playback Error&quot; 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)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2003110</commentid>
    <comment_count>1</comment_count>
    <who name="">roger.hu</who>
    <bug_when>2024-01-04 20:56:02 -0800</bug_when>
    <thetext>Actually this PR may be the culprit (the other one was for audio): 
https://github.com/WebKit/WebKit/pull/4858</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2003206</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-01-05 11:16:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/120553459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2003680</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2024-01-08 13:11:37 -0800</bug_when>
    <thetext>https://github.com/WebKit/WebKit/pull/4858 added WebCodecsVideoDecoder support, but https://chaney-field3.click2stream.com, but on iPhone uses a &lt;video&gt; element with an HLS stream:

&lt;video data-html5-video=&quot;&quot; src=&quot;https://e1-na7.angelcam.com/cameras/102610/streams/hls/playlist.m3u8?token=eyJjYW1lcmFfaWQiOiIxMDI2MTAiLCJkZXZpY2VfaWQiOiIxMDI2MTAiLCJ0aW1lIjoxNzA0NzQ3NzYyNjgxNTQ2LCJ0aW1lb3V0IjozNjAwfQ%3D%3D%2E815317f94165d5dbfedee01d29c1892e76e7a43a5ed0ca2e9f78bf0b96d7e209&quot; muted=&quot;true&quot; preload=&quot;auto&quot; playsinline=&quot;playsinline&quot; poster=&quot;data:image/svg+xml, &lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; viewBox=&amp;quot;0 0 1 1&amp;quot;&gt;&lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; fill=&amp;quot;#000000&amp;quot; /&gt;&lt;/svg&gt;&quot;&gt;&lt;/video&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017080</commentid>
    <comment_count>4</comment_count>
    <who name="Gabriel Wicke">gswicke</who>
    <bug_when>2024-02-26 19:15:48 -0800</bug_when>
    <thetext>Related discussion about server side workarounds on the nginx rtmp module site: https://github.com/arut/nginx-rtmp-module/issues/1649#issuecomment-1965653223</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>