You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shaka Player中使用获取的Widevine License URL播放DASH文件

Shaka Player配置Widevine DRM播放DASH流实现方案

核心实现流程

  • 引入Shaka Player依赖并初始化播放器实例
  • 请求DRM ticket接口获取返回的licence_server_url许可证地址
  • 将许可证地址配置到Shaka Player的DRM规则中
  • 加载DASH格式的.mpd manifest文件触发播放

完整代码示例

<!DOCTYPE html>
<html>
<head>
  <!-- 可替换为本地引入的Shaka Player库文件 -->
  <script src="shaka-player.compiled.min.js"></script>
</head>
<body>
  <video id="playback-video" width="100%" controls></video>
  <script>
    async function startPlayback() {
      const videoElement = document.getElementById('playback-video');
      const shakaPlayer = new shaka.Player(videoElement);
      // 全局错误监听
      shakaPlayer.addEventListener('error', (err) => {
        console.error('播放器运行错误:', err.detail);
      });
      // 1. 请求接口获取Widevine许可证服务器地址
      const ticketRes = await fetch('https://example/v1/drm/content/ticket/?streamId=47072');
      const ticketResult = await ticketRes.json();
      const widevineLicenseUrl = ticketResult.licence_server_url;
      // 2. 配置DRM参数
      shakaPlayer.configure({
        drm: {
          servers: {
            // 该值为Widevine固定系统标识,不可修改
            'com.widevine.alpha': widevineLicenseUrl
          }
          // 若许可证请求需要携带自定义请求头,取消下方注释并修改对应配置
          // , advanced: {
          //   'com.widevine.alpha': {
          //     headers: {
          //       '自定义头字段': '对应值'
          //     }
          //   }
          // }
        }
      });
      // 3. 加载DASH manifest文件启动播放
      try {
        await shakaPlayer.load('https://example.com/7844-6093f36b051c9/manifest.mpd');
      } catch (loadErr) {
        console.error('资源加载失败:', loadErr);
      }
    }
    // 页面加载完成后启动初始化流程
    document.addEventListener('DOMContentLoaded', startPlayback);
  </script>
</body>
</html>

配置注意事项

  • com.widevine.alpha是Widevine DRM在Chromium内核浏览器、安卓设备中的固定系统标识,配置时不可修改
  • 确保DASH资源、许可证服务、当前页面域名满足CORS跨域规则,避免浏览器拦截请求
  • 若许可证服务器要求POST请求携带特定格式的挑战数据,可通过drm.advanced下的licenseRequestFilter钩子自定义请求逻辑

内容的提问来源于stack exchange,提问作者jay.jivani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 02:15:10