Videojs HLS m3u8 文件无法在 iOS 设备和 Safari 浏览器中播放
Videojs HLS m3u8 files are not playing in iOS devices and safari browser
我可以在 PC 和 android 设备中播放 m3u8 文件,但我无法在 iOS 移动设备和 Safari 浏览器中播放这些文件,
我为 android 设备禁用了 'true' 的 overrideNative,所以它在 android 中工作。
但我们不应该为 iOS 和 safari 禁用原生,因为 iOS Safari 使用原生播放器,
所以我为 iOS 设置了 overridnative false。但它不工作。
我正在关注新的 videojs 版本。
videojs : 6.4.0
videojs 贡献 hls:5.12.2
videojs 闪存:2.0.1
示例
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>videojs-contrib-hls</title>
<link href="https://unpkg.com/video.js@6.4.0/dist/video-js.css" rel="stylesheet">
<script src="https://unpkg.com/video.js@6.4.0/dist/video.js"></script>
<script src="https://unpkg.com/videojs-flash@2.0.1/dist/videojs-flash.js"></script>
<script src="https://unpkg.com/videojs-contrib-hls@5.12.2/dist/videojs-contrib-hls.js"></script>
</head>
<body>
<h1>Video.js Example Embed</h1>
<video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="600" height="268"
data-setup='{}'>
<source src="https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8" type="application/x-mpegURL">
</video>
<script>
let videojshls= videojs('my_video_1', { html5: {
nativeAudioTracks: false,
nativeVideoTracks: false,
hls: {
debug: true,
overrideNative: false
}
}});
</script>
</body>
</html>
请任何人帮助我。谢谢
试试这个 http://jsfiddle.net/fxfktztx/1/。它对我有用。
var overrideNative = false;
var player = videojs('example-video', {
html5: {
hls: {
overrideNative: overrideNative
},
nativeVideoTracks: !overrideNative,
nativeAudioTracks: !overrideNative,
nativeTextTracks: !overrideNative
}
});
player.play();
据我所知,videojs options 应该在初始化播放器时通过 data-setup
属性传递,或者像我在上面的示例中那样直接传递到构造函数中。
我可以在 PC 和 android 设备中播放 m3u8 文件,但我无法在 iOS 移动设备和 Safari 浏览器中播放这些文件, 我为 android 设备禁用了 'true' 的 overrideNative,所以它在 android 中工作。 但我们不应该为 iOS 和 safari 禁用原生,因为 iOS Safari 使用原生播放器, 所以我为 iOS 设置了 overridnative false。但它不工作。 我正在关注新的 videojs 版本。
videojs : 6.4.0
videojs 贡献 hls:5.12.2
videojs 闪存:2.0.1
示例
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>videojs-contrib-hls</title>
<link href="https://unpkg.com/video.js@6.4.0/dist/video-js.css" rel="stylesheet">
<script src="https://unpkg.com/video.js@6.4.0/dist/video.js"></script>
<script src="https://unpkg.com/videojs-flash@2.0.1/dist/videojs-flash.js"></script>
<script src="https://unpkg.com/videojs-contrib-hls@5.12.2/dist/videojs-contrib-hls.js"></script>
</head>
<body>
<h1>Video.js Example Embed</h1>
<video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="600" height="268"
data-setup='{}'>
<source src="https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8" type="application/x-mpegURL">
</video>
<script>
let videojshls= videojs('my_video_1', { html5: {
nativeAudioTracks: false,
nativeVideoTracks: false,
hls: {
debug: true,
overrideNative: false
}
}});
</script>
</body>
</html>
请任何人帮助我。谢谢
试试这个 http://jsfiddle.net/fxfktztx/1/。它对我有用。
var overrideNative = false;
var player = videojs('example-video', {
html5: {
hls: {
overrideNative: overrideNative
},
nativeVideoTracks: !overrideNative,
nativeAudioTracks: !overrideNative,
nativeTextTracks: !overrideNative
}
});
player.play();
据我所知,videojs options 应该在初始化播放器时通过 data-setup
属性传递,或者像我在上面的示例中那样直接传递到构造函数中。