登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频 ...
FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频编解码器EVC
[ 复制链接 ]
袁勤
2025-9-26 10:37:17
MPEG-5是新一代的国际音视频编解码标准,像我们熟悉的MP3、MP4等音视频格式就来自于MPEG系列。MP3格式的说明介绍参见《FFmpeg开发实战:从零基础到短视频上线》一书的“5.2 MP3音频”,MP4格式的说明介绍参见《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.2 音视频文件的封装格式”。 MPEG-5有关视频编解码的内容主要有两部分,一个是Part 1的基本视频编码(Essential Video Coding,EVC),另一个是Part 2的低复杂度增强视频编码(Low Complexity Enhancement Video Coding,LCEVC)。其中Part 1的EVC是由三星、华为、高通、Divideon 支持的MPEG标准,它由两个配置文件组成,一个为只使用过期专利且免版税的基线规范,另一个为需要版税并使用创新编码工具的主规范。EVC旨在提供比现有视频编码标准更高的压缩效率,同时解决专利许可问题,实现免专利费的编码方案。
相比现有的H.624和H.265标准,EVC在视频编解码方面拥有下列几点优势:
1、在主模式下,EVC的平均比特率比H.265低26%;在基线模式下,比H.264低31%。
2、EVC的解码时间比H.264减少60%。
3、EVC的基线方案包含了超过20年的技术,可以实现免专利费的要求。
MPEG-5现已开源MPEG-5 EVC的视频编解码器,其中视频解码器的开源库叫libxevd,视频编码器的开源库叫libxeve。如今EVC的编解码器libxevd和libxeve日渐成熟,从7.0版本开始的最新FFmpeg源码已经支持EVC的编解码器libxevd和libxeve。
接下来以华为的欧拉系统为例,介绍如何在Linux环境给FFmpeg集成MPEG-5 EVC视频编解码器libxevd和libxeve,具体的操作步骤说明如下:
一、安装libxevd
libxevd是一款MPEG-5的EVC视频解码器。它的源码托管页面在https://github.com/mpeg5/xevd/,最新版本是2024年4月发布的xevd-0.5.0,该版本的源码包下载地址是https://codeload.github.com/mpeg5/xevd/tar.gz/refs/tags/v0.5.0。
libxevd的安装步骤说明如下。
1、将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。
tar zxvf xevd-0.5.0.tar.gz
cd xevd-0.5.0
复制代码
2、在xevd目录下创建新文件version.txt,文件内容填入“v0.5.0”,表示解码器的版本为0.5.0。
3、执行以下命令配置libxevd
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=1 --install-prefix=/usr/local ..
复制代码
配置完成后,打开src_main/CMakeFiles/xevd_dynamic.dir/link.txt,在“-shared”后面补充“ -lm”,表示生成的动态库要链接数学函数库。
4、运行下面命令编译libxevd。
make
复制代码
5、编译完成后,运行下面命令安装libxevd。
make install
复制代码
二、安装libxeve
libxeve是一款MPEG-5的EVC视频编码器。它的源码托管页面在https://github.com/mpeg5/xeve/,最新版本是2024年6月发布的xeve-0.5.1,该版本的源码包下载地址是https://codeload.github.com/mpeg5/xeve/tar.gz/refs/tags/v0.5.1。
注意:由于FFmpeg仅支持版本号大于等于0.5.1的libxeve,因此务必下载xeve-0.5.1,不可下载xeve-0.5.0。
libxeve的安装步骤说明如下。
1、将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。
tar zxvf xeve-0.5.1.tar.gz
cd xeve-0.5.1
复制代码
2、在xeve目录下创建新文件version.txt,文件内容填入“v0.5.1”,表示编码器的版本为0.5.1。
3、执行以下命令配置libxeve
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=1 --install-prefix=/usr/local ..
复制代码
配置完成后,打开src_main/CMakeFiles/xeve_dynamic.dir/link.txt,在“-shared”后面补充“ -lm”,表示生成的动态库要链接数学函数库。
4、运行下面命令编译libxeve。
make
复制代码
5、编译完成后,运行下面命令安装libxeve。
make install
复制代码
三、让FFmpeg启用libxevd和libxeve
由于FFmpeg默认未启用libxevd和libxeve,因此需要重新配置FFmpeg,标明启用libxevd和libxeve,然后重新编译安装FFmpeg。
先下载最新的FFmpeg源码(版本号需大于等于7.0),再把FFmpeg源码包上传到Linux服务器的/usr/local/src目录下。接着登录Linux服务器的控制台,执行下面命令解压源码包:
cd /usr/local/src
unzip ffmpeg-n7.1.1.zip
复制代码
确保Linux环境已经按照《FFmpeg开发实战:从零基础到短视频上线》该书第一章的“1.2 Linux系统安装FFmpeg”安装了H.264的编码器libx264和H.265的编码器libx265,并且按照之前的文章安装了H.266的编码器libvvenc,然后执行以下的liblc3启用步骤。
1、回到FFmpeg源码的目录,执行以下命令重新配置FFmpeg,主要增加启用libxevd和libxeve。(增加了选项“ --enable-libxevd --enable-libxeve”)
cd ffmpeg-n7.1.1
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH
./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-zlib --enable-libx264 --enable-libx265 --enable-libvvenc --enable-liblc3 --enable-libxevd --enable-libxeve --enable-libxevd --enable-libxeve --enable-iconv --enable-gpl --enable-nonfree
复制代码
2、运行下面命令编译FFmpeg。
make clean
make -j4
复制代码
3、执行下面命令安装FFmpeg。
make install
复制代码
四、查看FFmpeg的安装结果
运行下面命令查看FFmpeg的安装版本:
ffmpeg -version
复制代码
上面命令返回的FFmpeg版本信息如下:
ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 10.3.1 (GCC)
configuration: --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-zlib --enable-libx264 --enable-libx265 --enable-libvvenc --enable-liblc3 --enable-libxevd --enable-libxeve --enable-iconv --enable-gpl --enable-nonfree
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.101 / 61. 19.101
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
复制代码
根据以上返回的版本信息,可知已安装的FFmpeg版本号为7.1.1,同时configuration这行找到“--enable-libxevd --enable-libxeve”,说明FFmpeg已经启用了MPEG-5 EVC视频编解码器libxevd和libxeve。
更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
FFmpeg
开发
笔记
七十二
Linux
相关帖子
语音控制的太空射击游戏开发笔记
从零开始:如何用 C# 开发一款媲美 “AnyTxt” 的文件内容搜索工具
你的程序为何卡顿?从LINUX I/O三大模式寻找答案
FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer
Linux-网络安全私房菜(二)
FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
语音控制的太空射击游戏开发笔记
0
301
师悠逸
2025-10-16
业界
从零开始:如何用 C# 开发一款媲美 “AnyTxt” 的文件内容搜索工具
0
636
嫁吱裨
2025-10-16
业界
你的程序为何卡顿?从LINUX I/O三大模式寻找答案
0
253
轩辕琳芳
2025-10-16
业界
FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer
0
615
韶又彤
2025-10-18
安全
Linux-网络安全私房菜(二)
0
91
言晓莉
2025-10-18
业界
FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播
0
582
讹过畔
2025-10-19
铜坠匍
6 天前
回复
使用道具
举报
照妖镜
感谢分享,学习下。
vip免费申请,1年只需15美金$
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
袁勤
6 天前
关注
0
粉丝关注
26
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
富账慕
9983
5
邹语彤
9982
6
刎唇
9993
7
匝抽
9986
8
聚怪闩
9960
9
孙淼淼
9977
10
烯八
9954
查看更多