H.266是H.265的升级版本,H.265的视频编码标准为HEVC(High Efficiency Video Coding,高效视频编码),H.266的视频编码标准为VVC(Versatile Video Coding,多功能视频编码)。其中VVC是HEVC的后继者,目标是在相同视觉质量下将比特率降低50%。
至于VVEnc(Versatile Video Encoder)是一个开源的高效视频编码器,它实现了最新的视频编码标准VVC,能够把视频数据按照H.266标准编码为VVC格式。VVEnc的源码托管地址为https://github.com/fraunhoferhhi/vvenc,国内的镜像地址为https://gitee.com/mirrors/vvenc。
接下来以华为的欧拉系统为例,介绍如何在Linux环境给FFmpeg集成H.266的编码器vvenc,具体的操作步骤说明如下:
一、编译安装VVEnc
先下载最新的vvenc源码,再把vvenc源码包上传到Linux服务器的/usr/local/src目录下。接着登录Linux服务器的控制台,执行下面命令解压源码包:
然后执行下面命令配置vvenc的编译环境:
如果看到cmake命令返回类似下面的“Configuring done”和“Generating done”字样,就表示配置好了vvenc的编译环境:
于是执行下面命令编译和安装vvenc,编译完成的vvenc库将会安装到cmake指定的/usr/local目录。
二、编译安装FFmpeg
先下载最新的FFmpeg源码(版本号需大于等于7.1),再把FFmpeg源码包上传到Linux服务器的/usr/local/src目录下。接着登录Linux服务器的控制台,执行下面命令解压源码包:
确保Linux环境已经按照《FFmpeg开发实战:从零基础到短视频上线》该书第一章的“1.2 Linux系统安装FFmpeg”安装了H.264的编码器libx264和H.265的编码器libx265,然后执行下面命令配置FFmpeg的编译环境:
配置完毕执行下面命令编译和安装FFmpeg,编译完成的ffmpeg库将会安装到configure指定的/usr/local/ffmpeg目录。
三、查看FFmpeg的安装结果
运行下面命令查看FFmpeg的安装版本:
上面命令返回的FFmpeg版本信息如下:
根据以上返回的版本信息,可知已安装的FFmpeg版本号为7.1.1,同时configuration这行找到“--enable-libvvenc”,说明FFmpeg已经启用了H.266的编码器libvvenc。
更多详细的FFmpeg开发知识参见
原创作者: aqi00 转载于: https://www.cnblogs.com/aqi00/p/18895292