问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

HEVC开源编解码器HM编译及使用方法

发布网友 发布时间:2024-09-17 09:34

我来回答

1个回答

热心网友 时间:2024-10-21 06:06

HM (HEVC Test Model)是一个开源软件,用于帮助我们理解HEVC编码标准。它包括编码器TAppEncoder和解码器TAppDecoder,能实现HEVC标准中的所有功能,但性能不如商用编码器。该项目由JVET维护。本文记录了笔者在Ubuntu下根据HM项目的README,编译并运行一个小demo的过程。

JVET并未将HM托管到GitHub,而是将其托管在gitlab仓库vcgit.hhi.fraunhofer.de...中。我们可以在该页面找到仓库的git URL,然后在Ubuntu中使用git clone命令克隆源代码:

进入代码目录后,创建名为build的文件夹,并进入该文件夹:

在build目录下运行以下指令:

注意,执行上述指令前需要预先安装cmake工具。

执行cmake后,在当前目录下应该会看到一个Makefile,然后我们可以使用make进行编译:

编译过程可能较长:

编译过程中,如果没有错误,几分钟内即可完成。如果读者在编译过程中遇到依赖问题,可以自行搜索并安装,HM的编译过程相对顺利,没有太多难点。

当make的进度达到100%时,说明编译完成。最后几行输出表明编译出的可执行文件位于相应位置,可以在“HM/bin/umake/gcc-9.4/x86_64/release”目录下找到“MCTSExtractor”“parcat”“SEIRemovalApp”“TAppDecoder”“TAppDecoderAnalyser”“TAppEncoder”等可执行文件。

接下来,我们使用TAppEncoder进行测试,将一个未压缩的yuv序列编码成HEVC视频序列。我们使用的是Derf's Test Media Collection数据集中的akiyo视频序列。下载akiyo_cif.y4m文件后,将其与TAppEncoder可执行文件放在同一文件夹中。

在HM项目的doc目录下,有一个名为software-manual.pdf的说明文档,详细介绍了HM软件的使用方法。通过阅读该文档,我们可以了解TAppEncoder通过-c参数指定配置文件,并在项目的cfg目录下找到示例配置文件。我们将其中一个配置文件拷贝到工作目录下,并执行代码。如果出现错误,可能是因为配置文件中没有指定帧率和编码总帧数。这是一个HM项目的小坑,需要仔细调试。

修改配置文件后,再次执行指令,即可正常编码。编码完成后,可以在当前目录下找到输出文件akiyo_hevc.bin,使用PotPlayer播放,显示输入格式为HEVC。但可能存在一些播放异常,需要进一步检查。

我们可以使用开源软件GitlHEVCAnalyzer对akiyo_hevc.bin进行分析,该软件可以显示视频中的CU、PU等单元以及分块信息。

2022-11-25更新:使用HM的TAppEncoder对akiyo_cif.y4m进行编码时,编码后的视频画面会发生色彩异常和抖动异常。目前,已找到原因并成功解决。在解决此问题之前,我们需要了解y4m文件格式。Y4M是一种保存原始YUV序列的文件封装格式,包含视频属性信息。而HM的TAppEncoder编码器需要接收仅由视频帧组成的像素矩阵数据。因此,直接将akiyo_cif.y4m文件输入到HM编码器中可能导致帧不对齐,造成抖动。解决方法是提取视频每一帧像素矩阵,丢弃视频属性信息,并将它们写入新文件。使用ffmpeg进行视频内容提取后,将得到的akiyo_yuv.yuv文件输入到TAppEncoder中,以相同方式进行编码,即可正常播放视频。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样喷香水留香更持久?有哪些技巧? 有哪些方法让香水持久度更长一些? 怎样喷香水比较持久? 如何喷香水能使味道更持久? 败北是什么梗 湖南第一师范学院生活开销 赣州博沃新能源科技有限公司怎么样? 在湖南第一师范学院读书需要支出哪些费用 江西信丰恒隆麦饭石酒业有限公司公司荣誉 信丰县资源特点 哪些视频播放器支持HEVC编码? 如何解决HEVC编码格式不能播放的问题? "上海银行信用卡额度为20000,为什么刷不出来" 换尾灯算动三电系统嘛 葡萄嫁接技术,简单易学,切嫁接口的时候一定注意不要太大 山东文科考生601分能上什么学校 2024年安徽610分能考上什么大学? 2024年黑龙江601分能考上什么大学? 贵州文科601分能报考什么大学 2024年河南601分能考上什么大学? 怀孕50天男女的症状 胎囊哪2个数据可以看男女 怀孕50天孕囊大小看男女准吗 荨麻疹最快治疗方法 车子除雾用冷风还是热风? 冬天冷车用车如何进行清除前档雾气 自动除雾,冬天和下雨天 冷启动直接开启除雾按键有效果吗? 关系型数据库原理是什么 三星手机连上电脑只充电怎么办? 怎么把日期转成文本格式啊? 婴儿出生第二天哭闹不停是怎么回事 10天的新生儿夜里哭闹是什么原因 新生儿16天哭闹不睡觉怎么办 新生儿20天总是哭闹怎么回事 新生儿哭闹怎么办 HDMI连接显示器为什么没有声音? 穿戴甲要大一点还是小一点穿戴甲不合适怎么办 哪些大学有英语专业? 湖北省普通专升本招生人数是怎样的 湖北省普通专升本近几年招生人数是多少人 2024年506分能上什么大学 河南文科506分能报考什么大学 今年河南文科生506分,二本线515分,有可能上二本吗? 2024年黑龙江506分能考上什么大学? 2024年山西506分能考上什么大学? 河南高考506能上二本吗? 弟弟今年高考成绩506分,文科,帮忙推荐一下河南境内可以报考的二本院校... 茶叶分为哪几类哪几种 两种茶叶可以混着喝吗 求医院看病流程!