什么是 AV1
AV1 全称 AOMedia Video 1 是 AOM (Alliance for Open Media) 在 2018 年推出的新一代视频编码标准,其设计目的是提供更好的质量、更小的体积,以用于在互联网上传输高质量的视频。目前 Chrome 69 和 Firefox 63 中都添加了对 AV1 的支持(需要手动开启),LAV 在 0.73 中开始支持对 AV1 的解码。
更详细的介绍可以参考以下两篇文章:
编译 AV1 codec
编译所需环境:
- CMake version 3.5 or higher.
- Git.
- Perl.
- For x86 targets, yasm, which is preferred, or a recent version of nasm.
- Building the documentation requires doxygen.
- Building the unit tests requires Python.
- Emscripten builds require the portable EMSDK.
环境搭建:
- cmake:cmake 3.7.1
- make/gcc:MinGW-W64 (一定要选 64 位的 MinGW)
- perl:strawberry-perl-5.28.1.1-64bit
- yasm:yasm-1.3.0-win64
安装上述环境并添加环境变量后即可开始编译
编译流程:
- clone 代码
git clone https://aomedia.googlesource.com/aom
- 在
aom
文件夹外新建一个文件夹aom_build
cd aom_build
cmake ../aom
make
- 一切正常的话你会在
aom_build
中看到aomenc.exe
和aomdec.exe
,这就是我们要的 codec
// aomenc --help 可以看到编码器版本
Included encoders:
av1 - AOMedia Project AV1 Encoder 1.0.0-1047-gf4e775cf3 (default)
Use --codec to switch to a non-default encoder.