hls.js
hls.js copied to clipboard
Bug: m3u8 Video Playback Fails on iOS Quark Browser
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
<!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>
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?