头图

​前面的两篇文章分别介绍了如何在Linux环境和Windows环境给FFmpeg集成H.266的编码器vvenc,接下来利用ffmpeg把视频文件转换为VVC格式,观察新生成的vvc视频能否正常播放。

确保Linux系统已经按照《FFmpeg开发实战:从零基础到短视频上线》该书第一章的“1.2  Linux系统安装FFmpeg”安装了FFmpeg,并且Windows系统已经按照《FFmpeg开发实战:从零基础到短视频上线》该书第八章的“8.1  Windows环境编译FFmpeg”安装了FFmpeg,然后进入各自系统的控制台界面。\
先执行下面命令,把视频文件转为h264编码格式(即H.265视频编码标准):

ffmpeg -i fuzhous.mp4 -vcodec h264 ff_recode_video1.mp4

再执行下面命令,把视频文件转为hevc编码格式(即H.265视频编码标准):

ffmpeg -i fuzhous.mp4 -vcodec hevc ff_recode_video2.mp4

再执行下面命令,把视频文件转为vvc编码格式(即H.266视频编码标准):

ffmpeg -i fuzhous.mp4 -vcodec vvc ff_recode_video3.mp4

接着执行下面命令查看转换后的视频信息:

ls -lrt

命令行返回转换后的视频信息如下所示:

-rw-r--r-- 1 root root 640320 May 13 16:46 ff_recode_video1.mp4
-rw-r--r-- 1 root root 306139 May 13 16:48 ff_recode_video2.mp4
-rw-r--r-- 1 root root 278684 May 13 16:48 ff_recode_video3.mp4

由以上视频信息可见,采取H.264格式的视频大小约640K,采取H.265格式的视频大小约306K,采取H.266格式的视频大小约278K,可见hevc和vvc编码的视频大小都比h264编码的视频大为减小,其中vvc视频比起hevc视频又缩小了少许。\
因为FFmpeg从7.1开始支持解码vvc格式,所以编译出来的ffplay程序能够播放vvc视频。于是运行下面命令播放新转换的vvc格式视频文件:

ffplay ff_recode_video3.mp4

发现弹出了ffplay播放窗口如下图所示,说明vvc视频可以正常播放。

虽然通过ffplay命令能够播放vvc视频,但是VLC media player的3.0.21版本尚不支持vvc格式。若想通过可交互界面播放vvc视频,需下载最新版的PotPlayer,最新的PotPlayer支持播放VVC格式视频。

使用PotPlayer播放vvc视频的效果如下图所示:

可见通过ffplay和PotPlayer都能播放VVC格式视频,证明之前的vvenc编码器正确集成到了FFmpeg。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。


aqi00
12 声望7 粉丝

著有技术书籍《FFmpeg开发实战:从零基础到短视频上线》、《Android Studio开发实战:从零基础到App上线》、《好好学Java:从零基础到项目实战》、《Kotlin从零到精通Android开发》等等。