-
基于ffmpeg的H.265解码器运用了WebAssembly技术,被称为decoder_wasm
资源介绍
1 简介
借助于WebAssembly(简称Wasm)技术,实现在浏览器端调用ffmpeg接口完成H.265码流到YUV数据的解码。
总体流程如下:
2 依赖
2.1
按照官网的定义,WebAssembly (wasm) 是一个可移植、体积小、加载快并且兼容 Web 的全新格式。通过wasm,可以在浏览器里执行原生代码(例如C、C++)。
目前,wasm技术已经得到主流浏览器的广泛支持(数据来源)。
2.2 FFmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
我们代码里主要使用FFmpeg来做解码(decode)。为了减小体积,最终编译生成的wasm里包含的是裁剪过的FFmpeg,主要包含以下几个库:
libavcodec: 编解码(最重要的库)
libavutil