uni-app APP端无法播放标准加密的m3u8视频

uni-app APP端无法播放标准加密的m3u8视频

1 回复

更多关于uni-app APP端无法播放标准加密的m3u8视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html


该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

您好,根据现有知识库,目前官方并未声明 uni-app 4.87 已完整支持所有标准加密 m3u8(如 SAMPLE-AES、FairPlay DRM 等),且 iOS 端默认使用系统 AVPlayer,仅保证 AES-128 加密 + HTTPS 可访问 key 文件 这一种场景可正常播放。 因此,请先按下面 3 步自查,确认问题是否属于「已知限制」还是「配置/代码问题」:

确认加密方式

仅使用 AES-128(EXT-X-KEY:METHOD=AES-128),且 key 文件放在 HTTPS 域名下,允许跨域。
若使用 SAMPLE-AES、DRM(FairPlay/Widevine)等,则 官方暂未支持,需改用商业 SDK 或原生插件。

确认可复现的最小示例

准备一个可公网访问的 AES-128 加密 m3u8(含 key 文件)。
用如下最小代码测试(manifest.json 已勾选 VideoPlayer 模块):

<template> </template> <script> export default { data() { return { src: 'https://your-cdn.com/test/encrypt.m3u8' }; }, methods: { onError(e) { console.error('video error:', e.detail.errMsg); } } }; </script>
  • 真机运行后,在 Xcode / Android Studio 控制台plus.video.createVideoPlayererror 回调里抓取完整日志。

常见配置遗漏

iOS:manifest.json → “iOS 设置” → ATS 需允许该 HTTPS 域名。
Android:若 key 文件走 HTTP,需在 networkSecurityConfig 里允许明文流量。
确认 key 文件 可直接在浏览器下载,无 403/404。

若以上检查均通过仍无法播放,请补充:

加密 m3u8 及 key 文件公网地址(或 zip 包);
真机日志(含报错码);
上述最小示例代码。

官方将据此进一步定位是否为框架缺陷。

回到顶部