[AV1] AV1 Reference Software

news/2024/11/8 16:43:21/

返回目录

AV1 Reference Software 版本发布(官方Tag)

版本发布日期
v0.1.02017-06-09
v1.0.02018-06-25
v1.0.0-errata12019-01-18
v2.0.02020-05-18
v3.0.02021-03-23

软件下载

Libav1的下载地址在谷歌的服务器上,国内需要科学上网才能访问得到。

官方下载地址:https://aomedia.googlesource.com/aom/

如果访问不到,可以到我导入的一个镜像去下载,我会定期更新。

仓库地址:https://github.com/starxiang/libaom.git

在官方网站上有详细的如何编译运行的教程,我这里简单地说几个要点,有见过很多朋友即使是看了那个教程也出现各种编译错误地情况。

首先,把官方说明的cmake,Git,perl,yasm安装好

安装的时候,注意有些软件需要更名,比如yasm.exe,然后还有需要加入系统环境变量的也需要设置好。

如果是visual studio的安装的话,需要把visual studio的c++环境配好,建议装的都装好,然后还有Python也需要装。
如果这些装了后还是报错,比如C/C++的环境没有找到之类的可以试试装个vc的包,我把这个包放到的CSDN的下载,(这个包安装完以后一定要**重启电脑!重启电脑!重启电脑!**重要的事情说三遍)

CSDN下载地址:https://download.csdn.net/download/starperfection/13081896

然后安装的时候,最好把源码与build目录放到同一级目录,比如说,我下载的源码的文件夹为aom,我打算把build的文件放入libaom文件夹中,那么在建立文件夹的时候,可以这么建立。
aom和libaom目录结构
然后再使用官方提供的编译命令进行编译

	$ git clone https://aomedia.googlesource.com/aom# By default, the above command stores the source in the aom directory:$ cd aom$ cmake path/to/aom$ make

这样的话一般会成功,编译成功后,会在文件夹中生成非常多个文件,我这里的情况是生成了1800多个
在这里插入图片描述

运行 Lib AV1

安装成功后,打开libaom文件中的 AOM.sln 解决方案就可以打开整套libaom av1项目。打开后首先重编译下整个解决方案。

其中aomenc项目是编码器的最顶端项目,主要依赖下面的几个项目

  • aom
  • aom_common_app_util
  • aom_encoder_app_util
  • aom_encoder_stats

aomdec项目是解码器的最顶端项目,主要依赖以下几个项目

  • aom
  • aom_common_app_util
  • aom_decoder_app_util

以上的库都是给编码/解码过程提供库,在运行的时候可以参考aom的命令行帮助,在exe可执行文件生成的路径,使用aomenc.exe --help命令可以查看所以aom支持的编码器命令
aomhelper

下面我们来把编码器跑起来,先将aomenc设置为启动项目,然后build后生成exe可执行文件

./aomenc -o output.av1 -w 64 -h 64 --enable-keyframe-filtering=0 --min-q=27 --obu --annexb=1 --sb-size=64 --limit=1 --passes=1 foreman_64x64.yuv

上面的命令中

  • -o 代表输出的文件
  • -w 代表原始视频的宽
  • -h 代表原始视频的高
  • –enable-keyframe-filtering 代表在keyframe是否进行temporal filtering
  • –min-q 最小的quantizer
  • –obu表示输出的格式为obu序列
  • –annexb=1代表遵循标准的AnnexB规定的OBU格式
  • –sb-size代表Superblock的大小,可以最大选128
  • –limit=1表示只编码一帧
  • –passes表示编码过程只包含一次编码(默认会进行两次,即2pass编码)
  • foreman_64x64.yuv表示输入的待压缩序列

这样子,编码执行完成后,output.av1的obu序列即会生成。

那么如果我们要播放这个流的时候,就需要把这个流给解码出来,所以我们可以使用下面的命令

./aomdec -o output.yuv --annexb output.av1

这里的参数和上面编码器的参数用法是一致的。


http://www.ppmy.cn/news/428321.html

相关文章

数字IC设计 - 数字集成电路基础

MOS管结构以及工作原理 MOS管结构图 MOS管是金属(metal)—氧化物(oxide)—半导体(semiconductor)场效应晶体管,或者称是金属—绝缘体(insulator)—半导体。MOS管的sour…

Mock和Vite-plugin-Mock的区别是什么?

简介 我不知道大家和我是否有一样的疑问,之前Mock.js用的挺好,为啥又出现了一个vite-plugin-mock,而且这个插件还依赖于Mock.js.那么他的优势到底是什么呢?如果你也有这样的疑问,本文最后会给出答案解开这个谜底 前言 我之前已经…

Mybatis持久层框架 | Lombok搭建

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Lombok Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要…

SF授权系统源码 V3.7全开源无加密版本

🎉 有需要的朋友记得关赞评,文章底部来交流!!! 🎉 ✨ 源码介绍 2023全新SF授权系统源码 V3.7全开源无加密版本。网站搭建很简单,大致看来一下应该域名解析后上传源码解压,访问域名/i…

【微服务架构设计和实现】4.3 服务之间的通信和API设计

第一章:【云原生概念和技术】 第二章:【容器化应用程序设计和开发】 第三章:【基于容器的部署、管理和扩展】 第四章:【4.1 微服务架构概述和设计原则】 第四章:【4.2 服务边界的定义和划分】 4.3 服务之间的通信和…

有哪些音质比较好的蓝牙耳机可以推荐?高音质真无线蓝牙耳机榜

不知道大家有没有这种感觉,有线耳机打结解不开会让人很绝望,现在这种情况也离我们越来越远。借助蓝牙技术的发展,真无线蓝牙耳机正在疯狂的涌入市场。蓝牙耳机以小巧便于携带,又具有个性特点吸引着无数人的眼光。现在我就为大家推…

哪种蓝牙耳机音质好又便宜?便宜又好用的耳机蓝牙耳机推荐

现在是一个无线的时代,比如无线充电,无线上网等等,不知不觉得,现在的无线耳机也做得越来越小,音质越来越好。就比如现在的真无线蓝牙耳机,自苹果的AirPods的走红后就带动了整个市场的火爆,现在的…

Ubuntu系统中分布式安装配置HBase-2.3.7

HBase是一个基于Hadoop的分布式列式数据库,可以存储海量的结构化和半结构化数据。本文介绍如何在三个Ubuntu系统上搭建一个HBase集群,并进行简单的数据操作。 在三个Ubuntu系统上分布式安装配置HBase-2.3.7,主要步骤包括: 准备工…