hls.js icon indicating copy to clipboard operation
hls.js copied to clipboard

Bug: m3u8 Video Playback Fails on iOS Quark Browser

Open Sunny-117 opened this issue 7 months ago • 2 comments

What version of Hls.js are you using?

latest

What browser (including version) are you using?

Quark Browser

What OS (including version) are you using?

IOS

Test stream

No response

Configuration

{}

Additional player setup steps

**Description:**

On iOS devices, the Quark browser fails to play videos in the `.m3u8` format. This issue does not occur on Safari or other major iOS browsers, suggesting it is specific to Quark.

**Steps to Reproduce:**

1. Open the following demo on an iOS device using the Quark browser:
   \[Demo Link]
2. Attempt to play the video.

**Expected Behavior:**
The `.m3u8` video should load and play normally.

**Actual Behavior:**
The video does not play at all. No error is shown, but playback doesn't start.

**Environment:**

* Browser: Quark
* OS: iOS (tested on \[insert iOS version if known])
* Video format: HLS (`.m3u8`)

**Additional Info:**
The same video plays correctly in Safari and Chrome on the same iOS device.

Checklist

  • [x] The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
  • [x] The issue occurs in the stable client (latest release) on https://hlsjs.video-dev.org/demo and not just on my page
  • [x] The issue occurs in the latest client (main branch) on https://hlsjs-dev.video-dev.org/demo and not just on my page
  • [x] The stream has correct Access-Control-Allow-Origin headers (CORS)
  • [x] There are no network errors such as 404s in the browser console when trying to play the stream

Steps to reproduce

Expected behaviour

play success

What actually happened?

play error

Console output

empty

Chrome media internals output


Sunny-117 avatar Jul 16 '25 07:07 Sunny-117

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>HLS.js 播放 m3u8 示例</title>
    <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
</head>
<body>
    <h2>HLS.js 播放 m3u8</h2>
    <video id="video" controls width="640" height="360"></video>
    <script>
        const video = document.getElementById('video');
        const m3u8Url = 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8'; // 可替换为你的 m3u8 地址
        if (Hls.isSupported()) {
            const hls = new Hls();
            hls.loadSource(m3u8Url);
            hls.attachMedia(video);
            hls.on(Hls.Events.MANIFEST_PARSED, function() {
                video.play();
            });
        } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
            video.src = m3u8Url;
            video.addEventListener('loadedmetadata', function() {
                video.play();
            });
        } else {}
    </script>
</body>
</html>

Sunny-117 avatar Jul 16 '25 07:07 Sunny-117

Can you get JavaScript debug logs from this browser? Debug logs are enabled with new Hls({ debug: true }).

How do you get the Quark Browser (App store link)?

The same video plays correctly in Safari and Chrome on the same iOS device.

This is probably a bug in the Quark Browser. Have you reported the bug to them?

robwalch avatar Jul 16 '25 13:07 robwalch