Skip to content

Transcoded playback doesn't help with Safari #499

Description

@MinasukiHikimuna

Describe the bug
Apple Safari fails to play Cove's on-demand transcoded stream for at least two different input types: a video in a WMV container and a video encoded with HEVC. Selecting a transcode quality produces a stream that does not play correctly in Safari, while the corresponding transcoded paths play in Chromium. Because both failures occur after selecting a transcode, this appears to concern Safari compatibility of Cove's generated output or streaming response rather than Safari's ability to decode either original source.

To Reproduce

  1. In Safari, open a video whose source uses a WMV container.
  2. Select an available transcoded quality such as 360p and start playback.
  3. Confirm that the transcoded stream fails to play correctly, then seek and confirm playback does not recover.
  4. Repeat with a video whose source video codec is HEVC.
  5. Compare the same transcoded qualities in Chromium, where playback starts and rendered frames advance.

Expected behavior
Every transcode quality offered by Cove should produce a stream Safari can play and seek, regardless of the original container or codec accepted by FFmpeg.

Screenshots
No publishable screenshot is currently attached. Safari Web Inspector console output, the media element's error and ready-state values, and the failed transcode response headers would be more useful for diagnosis.

Desktop (please complete the following information):

  • OS: macOS 26.5.2
  • Browser: Safari 26.5.2
  • Cove Version: 1.3.2-dev

Additional context
A Chromium control on current main successfully played 360p transcodes for representative WMV and HEVC inputs: the media element reached HAVE_ENOUGH_DATA, playback time advanced, and rendered-frame counts increased. This does not establish the Safari root cause, but it indicates that the transcode endpoint and source decoding are not universally broken. Investigation should begin with Safari's media error, generated output container and codec parameters, MP4 fragmentation, response MIME type, byte-range behavior, and playback after seeking. No backend or frontend cause has yet been established.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    Value

    None yet

    Complexity

    None yet

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions