本文主要是介绍【Codecs系列】H.266开源编解码器:vvenc和vvdec介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DATE: 2021.8.11
文章目录
- 前言
- 1、VVenC介绍
- 2、VVenc和VVdec开源地址
- 3、VVenC编译和运行命令
- 3.1、编译方法
- 3.2、运行命令行
- 4、VVenC如何使用Lowdelay P配置编码?
前言
VVC(Versatile Video Coding)是由MPEG和ITU-T共同开发的最新一代视频编码标准,相比于HEVC(High Efficiency Video Coding)在相同质量下能节省50%的码率。VTM(VVC Test Model)是VVC的官方参考软件,由于VVC集成了大量新的编码工具导致复杂度也急剧上升,VTM的编码速度也非常慢。Fraunhofer 开发了速度比VTM更快和更实用的VVC编码器和解码器,号称是最快的VVC开源编解码器,分别为VVenC和VVdeC,具体介绍如下:
1、VVenC介绍
VVenC软件是在VTM的基础上进行了针对性的优化,包括重新设计软件以减轻性能瓶颈,广泛的SIMD优化,改进的编码器搜索算法以及基本的多线程支持。最新版本是v1.1.0,在最新版本中,faster档次速度提升20%,fast档次提升15%,medium档次提升7%。
特点:开源,BSD协议
2、VVenc和VVdec开源地址
https://github.com/fraunhoferhhi/vvenc
https://github.com/fraunhoferhhi/vvdec
3、VVenC编译和运行命令
VVenC编译完成之后会产生两个可执行文件,分别是标准编码器vvencapp和专业级编码器vvencFFapp。
3.1、编译方法
cmake ./
make
注意事项: cmake版本需要3.12.0及以上。
3.2、运行命令行
- 标准编码器vvencapp:
假设输入的序列采样格式为YUV420,位深为8比特,分辨率为416x240,使用faster preset进行编码:
./vvencapp -i BlowingBubbles_416x240_50.yuv -s 416x240 -c yuv420 --preset faster -p -1 -o out.266
- 专家级编码器vvencFFapp:
vvencFFapp的使用方式类似于VTM,也是使用配置文件进行。大部分编码参数和VTM保持一致,但是某些参数会增加额外的可选模式。其配置文件可在cfg文件夹下找到。
./bin/release-static/vvencapp -i SlideEditing_1280x720_30_300.yuv -s 1280x720 -c yuv420 -r 30 -ip 96 --preset faster -v 6 -b 0 --qp 45 -o out.266
4、VVenC如何使用Lowdelay P配置编码?
vvenc的默认配置是Random Access,但是我们需要测试Lowdelay P(IPPP)的编码场景怎么办呢?
1、首先需要在vvenc根目录下面的cfg/experimental中找到lowdelay_faster.cfg配置文件,这个配置文件是LDB的配置,即IBBBBBBB的时域参考结构,需要将其中的B帧改成P帧,参考VTM中的encoder_lowdelay_P_vtm.cfg对应修改成P帧;
2、命令行参数配置如下:
vvencFFapp -c ~/H266/vvenc/cfg/experimental/lowdelay_faster.cfg -s 1280x720 -fr 30 -ip 96 -dr 2 -i SlideShow_1280x720_20_500.yuv -b out.266
运行结果如下图所示:
THE END!
这篇关于【Codecs系列】H.266开源编解码器:vvenc和vvdec介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!