wasm(WebAssembly)
简单来说就是在浏览器端调用C/C++功能
目前我了解到的主要是视频调用后端解码
Emscripten
Emscirpten是一套基于LLVM构建的编译器工具链,通过该工具链我们可以将基于C/C++语言编写的传统应用程序源代码编译成asm.js或者WebAssembly模块等,可以供Web浏览器使用。
1.安装 Emscripten环境
// 安装依赖环境
sudo apt-get install -y python cmake default-jre
// 下载源码
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
git pull // 保证最新版本
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
emcc -v // 验证安装成功
安装指定版本
./emsdk install version
// 版本可以通过 ./emsdk list 查看 建议安装 1.39.1
卸载
sudo rm -rf emsdk/
WasmVideoPlayer 环境搭建
git clone https://git.ffmpeg.org/ffmpeg.git
git clone https://github.com/sonysuqin/WasmVideoPlayer.git
cd WasmVideoPlayer
./build_decoder.sh
// 如果ffmpeg 已经有编译好的直接放在dist 目录下即可
然后启动http server 就可以使用WasmVideoPlayer 提供的视频功能了
else
目前wasm 不支持硬件解码;