<?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>312472</bug_id>
          
          <creation_ts>2026-04-16 07:05:19 -0700</creation_ts>
          <short_desc>Safari WebRTC screen sharing via getDisplayMedia starts at extremely low quality and takes ~30 seconds to become legible for remote participants</short_desc>
          <delta_ts>2026-05-12 04:46:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>Safari 26</version>
          <rep_platform>Mac (Apple Silicon)</rep_platform>
          <op_sys>macOS 26</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>the</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2201050</commentid>
    <comment_count>0</comment_count>
    <who name="">the</who>
    <bug_when>2026-04-16 07:05:19 -0700</bug_when>
    <thetext>Environment:

macOS 26.4 (fresh install)
Safari (latest shipping version)
MacBook Pro 14-inch, November 2023, Apple M3 Pro, 18 GB RAM

Steps to reproduce:

Open Google Meet in Safari on the above hardware
Join a meeting with at least one remote participant
Share your screen (full screen or window)
Have the remote participant observe the shared screen quality

Expected result:
Screen share should be legible to remote participants within 1–2 seconds, as it is when using any Chromium-based browser on the same machine.
Actual result:
The shared screen appears extremely blurry/pixelated to all remote participants and takes approximately 30 seconds to become legible. This occurs regardless of the remote participant&apos;s OS, browser, or device.
Isolation testing performed:

Tested on Ethernet (1 Gbps upload), Wi-Fi 6 GHz, 5 GHz, and 2.4 GHz — no difference
Tested with upload bandwidth ranging from 40 Mbps to 1 Gbps — no difference
Tested with all other applications closed — no difference
Tested across multiple remote participants on macOS, Windows, and ChromeOS using various browsers — all observe the same blurry output
Tested on the same machine, same network, same meeting using Google Chrome, Ungoogled Chromium, and Brave — screen share is instantly clear and legible in all three

Assumption:
The issue appears to be in WebKit&apos;s WebRTC encoding path for screen capture content. Chromium-based browsers aggressively allocate bitrate for screen share tracks and leverage content-type hinting to prioritize sharpness over framerate. Safari&apos;s implementation appears to use a much more conservative bitrate ramp-up, and may not be optimizing the H.264 encoding for static/text-heavy screen content the way Chromium optimizes VP8/VP9 with screen-content mode.
This effectively makes Safari unusable for professional screen sharing in browser-based conferencing. Related: bug 235030.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2203678</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-04-23 07:06:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/175425085&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2207642</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2026-05-05 06:27:54 -0700</bug_when>
    <thetext>I would recommend to use degradationPreference maintain-resolution until WebKit uses that by default for screenshare.
This should be anyway the preferred approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2207649</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2026-05-05 06:55:29 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/64267</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2210093</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-05-12 04:46:40 -0700</bug_when>
    <thetext>Committed 313072@main (469467e53afb): &lt;https://commits.webkit.org/313072@main&gt;

Reviewed commits have been landed. Closing PR #64267 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>