1.我们的源码码流分析软件支持屏幕内容编码SCC显示了!
2.为什么商桥只显示首页?
3.HEVC开源编解码器HM编译及使用方法
我们的码流分析软件支持屏幕内容编码SCC显示了!
HEVC屏幕内容编码技术(SCC)在视频编码标准中得到支持,但市面上大多数普通HEVC解码器不支持SCC,源码例如ffmpeg和VLC。源码为了进行SCC码流知识学习和编码码流验证,源码需使用支持SCC解码的源码软件,HM参考软件的源码友猫源码SCM版本是其中之一。
HM参考软件的源码SVN源码目录中,HM.0及其后续版本已将RExt扩展部分并入主分支,源码后缀为SCM的源码版本包含了SHVC、MV-HEVC、源码3D-HEVC分支,源码支持普通H码流及SCC码流解码。源码已为Gitl HEVC Analyzer添加了HM.版本解码器,源码易语言提取群成员源码可实现SCC码流解码。源码
要为Gitl HEVC Analyzer增加HM.+SCM8.8版本解码器支持SCC编码技术,源码首先需了解该软件主要功能:标准解码器对H码流解码并保存信息到txt文件;在解码后,通过正则表达式匹配解析信息并使用QT软件显示。
对于仅需解码和显示SCC H码流,使用HM.+SCM8.8解码器对码流进行解码,然后将YUV文件通过QT软件显示即可。首先使用HM.+SCM8.8编码一段SCC码流。打开VS工程,设置TAppEncoder为启动项目,生成TAppEncoder.exe文件。
新建文件夹并拷贝可执行文件和配置文件.cfg,winform 自动更新源码编写.bat脚本执行编解码器命令,或参照help文档配置参数进行编码。运行.bat脚本开始编码,查看编码过程是否支持SCC技术。编码后得到的SCC码流需使用支持SCC解码的解码器进行解码。
尝试使用VLC、FFMEPG等解码器解码SCC码流,发现图像解码和显示异常。使用升级过的Gitl HEVC Analyzer解码并显示SCC码流,画面显示正常。后续文章将介绍SCC码流的CU划分、MV等信息解析和显示。网站获取访客qq统计源码
为什么商桥只显示首页?
只能说明 商桥代码 只添加到了首页 其他页面没有添加 你可以检查下 打开网页 然后在查看中选择查看源代码 然后利用ctrl+F 所搜 输入hm.baidu.com 如果源代码中没有 说明并没有添加商桥代码 如果有 看下是否在body 之后
HEVC开源编解码器HM编译及使用方法
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命令克隆源代码:
进入代码目录后,linux mysql5.7源码安装创建名为build的文件夹,并进入该文件夹:
在build目录下运行以下指令:
注意,执行上述指令前需要预先安装cmake工具。
执行cmake后,在当前目录下应该会看到一个Makefile,然后我们可以使用make进行编译:
编译过程可能较长:
编译过程中,如果没有错误,几分钟内即可完成。如果读者在编译过程中遇到依赖问题,可以自行搜索并安装,HM的编译过程相对顺利,没有太多难点。
当make的进度达到%时,说明编译完成。最后几行输出表明编译出的可执行文件位于相应位置,可以在“HM/bin/umake/gcc-9.4/x_/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等单元以及分块信息。
--更新:使用HM的TAppEncoder对akiyo_cif.y4m进行编码时,编码后的视频画面会发生色彩异常和抖动异常。目前,已找到原因并成功解决。在解决此问题之前,我们需要了解y4m文件格式。Y4M是一种保存原始YUV序列的文件封装格式,包含视频属性信息。而HM的TAppEncoder编码器需要接收仅由视频帧组成的像素矩阵数据。因此,直接将akiyo_cif.y4m文件输入到HM编码器中可能导致帧不对齐,造成抖动。解决方法是提取视频每一帧像素矩阵,丢弃视频属性信息,并将它们写入新文件。使用ffmpeg进行视频内容提取后,将得到的akiyo_yuv.yuv文件输入到TAppEncoder中,以相同方式进行编码,即可正常播放视频。