M3U8 播放器
一款适用于 XIUNOX 1.1 的帖子 HLS/M3U8 视频播放插件,为编辑器提供快捷插入按钮,并兼容原生 HLS 与 HLS.js 双解码方案。
插件信息
项目 | 内容 |
|---|---|
插件名称 | M3U8 播放器 |
插件目录 |
|
当前版本 |
|
兼容版本 | XIUNOX |
插件类型 | Plugin |
作者 | 金小颖论坛 |
官方网站 | |
配置存储 | XIUNOX KV,无需创建数据表 |
插件简介
M3U8 播放器可以识别帖子正文中的
地址仅接受 http:// 或 https:// 协议。
双解码播放
Safari、iPhone、iPad 等优先使用系统原生 HLS。
Chrome、Edge、Firefox 等浏览器使用内置 HLS.js。
原生解码失败时可切换 HLS.js。
HLS.js 失败且系统支持原生 HLS 时,可回退到系统解码器。
兼容优先
当主播放清单同时提供多种编码时,插件可以:
优先保留 H.264/AVC 视频层级。
优先选择 AAC 音轨。
避免自动清晰度切换到兼容性较差的 H.265、AV1 或 VP9 版本。
兼容优先不能将单一 H.265 视频实时转码为 H.264;此类视频仍需在源站完成转码。
自动比例与响应式
视频元数据加载后读取实际宽高比。
桌面端按照设置的最大高度限制播放器尺寸。
手机和平板自动占满正文宽度。
避免固定高度造成不必要的上下黑边。
支持横屏、竖屏和非常规画面比例。
错误恢复
网络错误自动重试。
使用递增等待时间降低重复请求压力。
媒体错误尝试恢复解码。
必要时切换音频解码方式。
最终失败时显示错误原因、重新加载和打开源地址操作。
动态内容支持
支持 XIUNOX htmx 局部刷新。
使用 MutationObserver 识别新插入的帖子内容。
页面替换前主动销毁播放器和 HLS 实例。
页面关闭前释放媒体资源。
板块范围
管理员可以逐个选择允许使用播放器的板块:
所有板块开关均关闭:全站开放。
开启任意板块:切换为白名单模式。
编辑器按钮、服务端解析和前端兜底均遵循板块范围。
后台设置页
版本 1.0.6 按 WAJXY 统一规范重构后台设置页面,包含:
Hero 插件信息区
运行状态和版本徽章
HLS.js 与响应式能力徽章
四格环境信息卡
Pills 胶囊 Tab 导航
左侧说明、右侧开关的设置行
带
px单位的胶囊数字输入组粘性保存栏
居中渐变版权栏
设置分组
基础设置:启用播放器、桌面端最大高度。
播放行为:控制栏、自动播放、默认静音、兼容优先。
可用板块:逐个控制插件生效范围。
插入说明:查看标准标记和跨域注意事项。
后台保存采用原生 Fetch,支持表单校验、按钮 Loading、Toast 反馈和 Tab 位置记忆。
安装方法
下载
wajxy_m3u8player_v1.0.6.zip。登录 XIUNOX 后台并进入插件管理。
上传、安装并启用插件。
进入插件设置页面。
配置播放器高度、播放行为和可用板块。
在发帖编辑器点击“M3U8 视频”按钮插入播放地址。
ZIP 内部结构:
wajxy_m3u8player_v1.0.6.zip
└── wajxy_m3u8player/
├── conf.json
├── icon.png
├── logo.png
├── install.php
├── upgrade.php
├── uninstall.php
├── setting.php
├── hook/
└── static/
├── css/
│ ├── admin.css
│ └── m3u8player.css
└── js/
├── hls.min.js
└── m3u8player.js
推荐配置
设置项 | 推荐值 |
|---|---|
启用播放器 | 开启 |
桌面端最大高度 | 460 px |
显示控制栏 | 开启 |
尝试自动播放 | 关闭 |
默认静音 | 按需 |
兼容优先 | 开启 |
可用板块 | 按内容类型选择;全部关闭表示全站 |
如果确实需要自动播放,建议同时开启默认静音,以符合大多数浏览器的自动播放策略。
视频源要求
M3U8 清单必须可通过公网或当前访客网络访问。
清单、分片、加密密钥必须允许跨域请求。
HTTPS 论坛不应加载 HTTP 视频源,否则会被浏览器拦截为混合内容。
防盗链规则需要允许论坛域名的 Origin 或 Referer。
推荐编码:H.264/AVC(yuv420p)+ AAC-LC。
安全设计
后台仅管理员和后台管理组可访问。
设置保存执行 CSRF 校验。
播放器高度在服务端限制为
180–1080 px。板块 ID 会转换为整数、去重并过滤无效值。
M3U8 地址仅接受有效的 HTTP/HTTPS URL。
服务端输出使用
esc_attr()转义。编辑器插入时移除尖括号,降低标记注入风险。
不依赖 jQuery 或 Alpine.js。
常见问题
帖子仍显示原始 [m3u8] 标记
确认插件已安装并启用。
确认当前板块在允许范围内。
从旧版升级时执行插件“升级”。
清理 XIUNOX 模板缓存。
强制刷新浏览器缓存。
播放器出现但视频无法播放
通常与以下因素有关:
视频源未配置 CORS。
分片或密钥地址不可访问。
HTTPS 页面加载 HTTP 资源。
防盗链拦截论坛域名。
视频只有当前设备不支持的 H.265/AV1/VP9 编码。
M3U8 清单格式不规范。
为什么自动播放没有生效?
现代浏览器通常禁止有声视频自动播放。请同时开启“默认静音”,并注意最终行为仍由访客浏览器决定。
为什么 H.265 视频仍无法播放?
“兼容优先”只会在清单已经提供 H.264 备选流时选择 H.264,不能在浏览器内完成实时转码。只有 H.265 的视频需要在服务器端转码。
全部板块开关关闭是什么意思?
表示不限制板块,播放器在所有板块生效。只要开启任意板块,就会切换为白名单模式。
v1.0.6 更新内容
后台设置页按 WAJXY 第 2 节 UI 规范重构。
使用规范包提供的统一图标和 Hero Logo。
设置保存升级为原生 Fetch 交互。
内部配置键、变量、CSS、DOM 和 JavaScript 全局统一为
wajxy前缀。静态资源文件名整理为规范结构。
支持从旧配置键自动迁移设置。
移除静态 JavaScript 中的
innerHTML操作。
版权信息
Copyright 2026 金小颖论坛 版权所有。

M3U8播放器 wajxy_m3u8player_v1.0.6【插件】
