FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码

前面的两篇文章分别介绍了如何在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开发实战:从零基础到短视频上线》一书。

相关推荐
涛涛讲AI6 小时前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
lzptouch10 小时前
数据预处理(音频/图像/视频/文字)及多模态统一大模型输入方案
人工智能·音视频
casdfxx12 小时前
捡到h3开发板,做了个视频小车(二),御游追风plus做遥控器
音视频
mortimer12 小时前
FFmpeg 音画同步实践记录:从切片、变速到拼接,彻底搞定时间轴
ffmpeg
给大佬递杯卡布奇诺12 小时前
FFmpeg 基本API avcodec_send_packet函数内部调用流程分析
c++·ffmpeg·音视频
酌量14 小时前
从 ROS 订阅视频话题到本地可视化与 RTMP 推流全流程实战
经验分享·笔记·ffmpeg·音视频·ros
给大佬递杯卡布奇诺14 小时前
FFmpeg 基本API av_seek_frame函数内部调用流程分析
c++·ffmpeg·音视频
音视频牛哥19 小时前
从“小而美”到“大而强”:音视频直播SDK的技术进化逻辑
机器学习·计算机视觉·音视频·大牛直播sdk·人工智能+·rtsp播放器rtmp播放器·rtmp同屏推流
碎像19 小时前
ffmpeg下载和实战获取音视频时长
ffmpeg
空影星19 小时前
GridPlayer,一个好用的多视频同步播放器
python·flask·电脑·音视频