xgplayer-lexo-decrypt-wasm
v1.0.1
Published
LEXO MEDIA CORPORATION proprietary high-performance HLS decryption loader powered by Rust + WebAssembly
Downloads
262
Readme
xgplayer-lexo-decrypt-wasm
Lexo 公司专有高性能 HLS 解密加载器,基于 Rust + WebAssembly 技术构建,专为 hls.js 和 xgplayer 设计。
⚠️ 商业机密声明
本项目包含 LEXO MEDIA CORPORATION 的专有技术和商业机密。未经授权,严禁复制、分发或用于非 LEXO MEDIA CORPORATION 公司内部或授权合作伙伴项目。 严禁对本软件包进行反编译、逆向工程或尝试提取核心算法。
版权信息
Copyright (c) 2026 LEXO MEDIA CORPORATION. All Rights Reserved.
特性
- 🚀 高性能:解密逻辑由 Rust 实现并编译为 WebAssembly,提供接近原生的执行速度。
- 🔒 安全性:核心逻辑(MD5、AES-CBC)编译为二进制,相比明文 JavaScript 更难被逆向工程。
- 📦 易于集成:作为 hls.js 加载器的直接替代品,开箱即用。
- 🛠 零配置:WASM 文件已内联到包中,无需额外的构建配置或静态文件处理。
安装
npm install xgplayer-lexo-decrypt-wasm
# 或
pnpm add xgplayer-lexo-decrypt-wasm
# 或
yarn add xgplayer-lexo-decrypt-wasm使用方法
配合 hls.js 使用
import Hls from 'hls.js';
import { createLexoHlsLoaderWasm } from 'xgplayer-lexo-decrypt-wasm';
if (Hls.isSupported()) {
const hls = new Hls({
loader: createLexoHlsLoaderWasm(),
loaderConfig: {
iv: 'your-16-byte-iv-string', // 必需参数:16字节的初始化向量
onSuccess: (response, stats, context) => {
// 解密成功回调
},
onError: (error, response) => {
console.error('解密失败', error);
}
}
});
hls.loadSource('https://example.com/video.m3u8');
hls.attachMedia(videoElement);
}配合 xgplayer 使用
import Player from 'xgplayer';
import HlsJsPlugin from 'xgplayer-hls.js';
import { createLexoHlsLoaderWasm } from 'xgplayer-lexo-decrypt-wasm';
const player = new Player({
id: 'mse',
url: 'https://example.com/video.m3u8',
plugins: [HlsJsPlugin],
hlsJsPlugin: {
hlsOpts: {
loader: createLexoHlsLoaderWasm(),
loaderConfig: {
iv: 'your-16-byte-iv-string', // 必需参数
}
}
}
});预加载 WASM(可选)
为了提高首个视频分片的加载速度,你可以选择预加载 WASM 模块:
import { preloadWasm } from 'xgplayer-lexo-decrypt-wasm';
// 建议在应用启动早期调用
preloadWasm();API
createLexoHlsLoaderWasm()
返回一个兼容 hls.js 的自定义 Loader 类。
preloadWasm()
异步初始化 WASM 模块。返回一个 Promise。
isWasmReady()
如果 WASM 模块已初始化完成,返回 true。
许可证
UNLICENSED - 保留所有权利。
未经 Lexo Inc. 书面许可,不得以任何形式使用、复制、修改或分发本软件。
