1. 第一次接触时做h5直播时,用wasm做H5 实时直播使用的解码库文件,二进制编码。
  2. asm H5 实时直播使用的解码库文件,JavaScript 编码,降级处理。

asm > wasm 文件大小
wasm > asm 性能

wasm 是一个可移植、体积小、加载快并且兼容 Web 的全新格式

1)WebAssembly 是一种二进制编码格式,而不是一门新的语言。
2)WebAssembly 不是为了取代 JavaScript,而是一种补充(至少现阶段是这样),结合 WebAssembly 的性能优势,很大可能集中在对性能要求高(例如游戏,AI),或是对交互体验要求高(例如移动端)的场景。
3)C/C++ 等语言可以编译 WebAssembly 的目标文件,也就是说,其他语言可以通过编译器支持,而写出能够在浏览器前端运行的代码。

  1. 开发编译条件(macos) http://webassembly.org.cn/getting-started/developers-guide/
    1.1 git
    1.2 CMake 安装了好几遍
    1.3 xcode
    1.4 Python 2.7.x
    1.5 emrun (http://emscripten.org/docs/compiling/Running-html-files-with-emrun.html)
    1.6 go(配置见文档, 学习 syscall/js 包)

git go Python
https://webassembly.studio/

不一定非要使用wasm https://www.zhihu.com/question/265700379/answer/956235550
(学习曲线,耗时,用户体验,)

如何看待:https://www.zhihu.com/question/362649730

用途:

  1. 视频编解码(https://www.zhihu.com/question/265700379)
  2. 如多功能视频播放器,音频转码工具,网页游戏,加解密,播放器进度条视频帧。
  3. https://github.com/mcuking/Awesome-WebAssembly-Applications
  4. 视频帧图片获取(bilibili 视屏投稿当你的视频还在上传中,已经可以自由选择AI推荐的封面 webassembly 负责读取本地视频,生成图片; https://www.zhihu.com/question/265700379

image.png