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>

example jsfiddle

请任何人帮助我。谢谢

试试这个 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 属性传递,或者像我在上面的示例中那样直接传递到构造函数中。