admin管理员组文章数量:1632159
目录
0.环境配置
0.1 下载代码及依赖
0.2 安装
0.2.1 编解码器本体(aom)
0.2.2 Perl
0.2.3 yasm
0.2.4 doxygen(可在执行“1.1CMake生成”报错缺失时再安装)
0.3 检查环境变量
1 编译生成
1.1 CMake生成
1.2 生成
2 运行程序
2.1 下载测试文件
2.2 测试
0.环境配置
0.1 下载代码及依赖
为避免资源更新带来的问题,建议从官方网站上下载
百度盘或CSDN的整合资源可以保证文内的操作能成功运行
(GitHub)编解码器代码本体
(官方)CMake
(官方)Git
(官方)Perl
(官方)yasm
(官方) doxygen
(官方) Python for Windows
(百度盘)编解码器本体、Perl、yasm、doxygen、测试文件材料整合,提取码2222
(CSDN)AV1材料整合
0.2 安装
CMake、Git是常用工具,很容易找到安装方法,Python环境的配置这里不再赘述。
0.2.1 编解码器本体(aom)
新建一个名为AV1的文件夹,将下载压缩文件解压到AV1下,将aom-master作为程序根目录即可。
目录结构为
0.2.2 Perl
下载完成后直接运行安装程序,使用默认配置即可(作者安装到了与编解码器根目录同级目录下)
0.2.3 yasm
下载结果为
将其改名为yasm.exe
并将yasm.exe所在目录加入环境变量
0.2.4 doxygen(可在执行“1.1CMake生成”报错缺失时再安装)
进入页面后下拉到图示位置,下载框选文件并安装
安装成功后,将bin文件夹下加入环境变量
0.3 检查环境变量
注意环境变量配置后不一定会立即生效,可能需要重启计算机
作者的目录结构为
到此为止,环境变量应该要新增如下5条
其中前三条是安装perl时自动配置的,最后两条是手动配置的yasm.exe和doxygen\bin的位置,如果想要在计算机上跨用户使用需要在系统变量中同步修改(perl安装时不会自动在系统环境变量中添加)
1 编译生成
1.1 CMake生成
作者使用的是3.21.3,版本不同可能界面有稍许不同,不影响功能
选择源代码,路径为aom-master即编解码器程序根目录,构造路径为aom-master\build
点击Configure→选择自己的VS版本(作者使用的是VS2019)→Finish→等待配置
最后一行出现Configuring done说明配置结束如下图,期间可能会报红字警告,如果是红字错误需要针对性地找解决方案,配置结束后单击Generate
生成结束后提示Generating done说明生成结束
1.2 生成
使用VS打开aom-master\build\AOM.sln
将aomenc设置为启动项
为防止后续文章描述与实际情况不一致,首先检查输出目录(aomenc右键菜单→属性→配置属性→常规→输出目录),是否为“##程序根目录##\build\Release\”
解决方案配置为Release、x64并生成
2 运行程序
2.1 下载测试文件
首先去该网址下载一个.yuv格式文件:YUV格式文件下载
.y4m格式也可以,作者下载后存放在testVideo中,以下为作者目录结构及下载文件
2.2 测试
打开build文件夹下刚刚生成的Release,路径为aom-master\build\Release
shift+右键打开powershell输入指令调用aomenc.exe及相关参数
aomenc.exe D:\TestSpace\AV1\testVideo\bridge_close_qcif.y4m -w 416 -h 240 --limit=10 --verbose --psnr -o rec.yuv --psnr
注意调用程序后的第一个参数是输入文件,改成自己的文件路径文件名,建议使用绝对路径,-o后的参数是输出文件,不指定前缀路径会默认输出到当前位置。
使用powershell时可能会出现【aomenc.exe : 无法将“aomenc.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。】这样的报错,在开头加上./即可。
正确编码的结果如图所示
有的帧可能编码比较缓慢,需要等待较长的时间,输出结果为
参考文章:
AV1测试软件AOM的编译和使用——window下VS解决方案生成 - 程序员大本营 (pianshen)
AV1编解码器的编译使用_fanyun的博客-CSDN博客
版权声明:本文标题:Windows下AV1代码配置过程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729117800a1187335.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论