编译av1的库 libaom-av1

cd ~/ffmpeg_sources && \
git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom && \
mkdir -p aom_build && \
cd aom_build && \
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off -DENABLE_NASM=on ../aom && \
PATH="$HOME/bin:$PATH" make && \
make install

如果出现错误提示 Building from within the aom source tree is not supported. 不能直接在当前 aom源码内进行编译,可以额外新建一个目录重新进行cmake的构建就可以。

参考:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

FFmpeg编译

ffmpeg在configure配置的时候,添加 --enable-libaom 选项支持av1编解码库

--enable-libaom

测试av1

没有添加av1的时候,通过ffprobe分析av1码流,会无法识别出片源的编码格式

$ ffprobe ~/test_av1.webm
ffprobe version 2.4.3 Copyright (c) 2007-2014 the FFmpeg developersbuilt on Nov 14 2014 14:29:31 with gcc 4.7 (Debian 4.7.2-5)configuration: --prefix=/home/install --enable-gpl --enable-libx264 --enable-libmp3lame --extra-libs=-ldllibavutil      54.  7.100 / 54.  7.100libavcodec     56.  1.100 / 56.  1.100libavformat    56.  4.101 / 56.  4.101libavdevice    56.  0.100 / 56.  0.100libavfilter     5.  1.100 /  5.  1.100libswscale      3.  0.100 /  3.  0.100libswresample   1.  1.100 /  1.  1.100libpostproc    53.  0.100 / 53.  0.100
[matroska,webm @ 0x34bc020] Unknown entry 0x73C5Last message repeated 1 times
[matroska,webm @ 0x34bc020] Unknown/unsupported AVCodecID V_AV1.
[matroska,webm @ 0x34bc020] Could not find codec parameters for stream 0 (Video: none, 1920x1080): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, matroska,webm, from '/home/xubinbin.5808/media/test_av1.webm':Metadata:COMPATIBLE_BRANDS: isomiso2avc1mp41MAJOR_BRAND     : isomMINOR_VERSION   : 512ENCODER         : IDMmkvlib0.1LANGUAGE        : undHANDLER_NAME    : AudioHandlerDuration: 00:30:40.14, start: 0.000000, bitrate: 1934 kb/sStream #0:0: Video: none, 1920x1080, SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 1k tbn, 1k tbc (default)Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)
Unsupported codec with id 0 for input stream 0

添加 libaom-av1 库后

# ./ffprobe  /home/media/test_av1.webm
ffprobe version n4.2.2 Copyright (c) 2007-2019 the FFmpeg developersbuilt with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516configuration: --prefix=../local --env='PKG_CONFIG_PATH=../local/lib/pkgconfig' --pkg-config-flags=--static --extra-ldexeflags=-static --disable-doc --disable-libxcb --enable-gpl --enable-version3 --enable-nonfree --enable-libx264 --enable-libfreetype --enable-libfdk-aac --enable-libwebp  --enable-libaom --extra-libs='-lpthread -lm -lstdc++' --extra-cflags=-I../local/include --extra-ldflags=-L../local/liblibavutil      56. 31.100 / 56. 31.100libavcodec     58. 54.100 / 58. 54.100libavformat    58. 29.100 / 58. 29.100libavdevice    58.  8.100 / 58.  8.100libavfilter     7. 57.100 /  7. 57.100libswscale      5.  5.100 /  5.  5.100libswresample   3.  5.100 /  3.  5.100libpostproc    55.  5.100 / 55.  5.100
[libaom-av1 @ 0x4951b40] 1.0.0-errata1-avif-226-g3cd9eec38
Input #0, matroska,webm, from '/home/media/test_av1.webm':Metadata:COMPATIBLE_BRANDS: isomiso2avc1mp41MAJOR_BRAND     : isomMINOR_VERSION   : 512ENCODER         : IDMmkvlib0.1LANGUAGE        : undHANDLER_NAME    : AudioHandlerDuration: 00:30:40.14, start: 0.000000, bitrate: 1934 kb/sStream #0:0: Video: av1 (Main), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 1k tbn, 1k tbc (default)Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)
[libaom-av1 @ 0x4954c00] 1.0.0-errata1-avif-226-g3cd9eec38

av1转码h264测试

./ffmpeg -t 10  -i /home/media/test_av1.webm  -c:v libx264 -c:a libfdk_aac -f mp4 test.mp4 -y

FFmpeg编译支持AV1编解码器libaom-av1相关推荐

  1. ffmpeg编译支持h265的rtmp windown版本

    一,源码包下载 1.ffmpeg下载 下载地址: https://ffmpeg.org (1)在主页面中找到ffmpeg5.0版本点击 (2)点击下载,这里我下载的是gzip包 2.下载x264代码 ...

  2. 腾讯自研新一代AV1编解码器

    编者按: 近年来,腾讯云在编解码领域投入了许多,不同于许多厂商基于开源方案做增强,腾讯从2017年就开始自研编解码器包括现在的AV1.LiveVideoStackCon 2022音视频技术大会上海站邀 ...

  3. 在Ubuntu下FFmpeg编译,支持x264和x265(HECV)

    所有下载的源 在Ubuntu下FFmpeg编译,支持x264和x265. Ubuntu 12.04 FFmpeg 2.1 Release 注意: cmake要升级要2.8.8 yasm要升级到1.2. ...

  4. ffmpeg自学路(一)用ubantu编译支持android的ffmpeg支持库,感谢韩曙亮

    非常感谢韩曙亮的帮助,特以此篇记录编译过程. 韩兄相关文章的对应地址:https://blog.csdn.net/shulianghan/article/details/104351312 / 开始正 ...

  5. 支持硬件加速的ffmpeg编译

    背景 为了降低cpu的使用率提升系统的接入能力,需要将编解码模块移至GPU处理,ffmpeg默认的发行版中不支持GPU加速,所以需要重新编译ffmpeg使其支持GPU硬件加速. ffmpeg官方编译指 ...

  6. FFMPEG android mac 编译 支持DASH/OPENSSL问题汇总

    一 下载源码 FFMPEG https://github.com/FFmpeg/FFmpeg/tree/release/4.3 二 编写脚本 支持https 就必须添加open SSL 的编译 具体可 ...

  7. ffmpeg编译配置选项

    ffmpeg编译配置 编译常用选项 编译选项 编译常用选项 ./configure --disable-asm --enable-avdevice --disable-doc --disable-pr ...

  8. 基于Android O8.1的ffmpeg NDK 开发 - 2 - APP显示ffmpeg所支持协议,编解码,过滤器,格式,配置等信息

    我们今天的目标是仿照雷神的博客(https://blog.csdn.net/leixiaohua1020/article/details/47008825),把这个APP写出来,先上图: APP中有5 ...

  9. ffmpeg编译及使用 (转载)

    ffmpeg编译及使用 1 ffmpeg介绍 ffmpeg是音视频的分离,转换,编码解码及流媒体的完全解决方案,其中最重要的就是libavcodec库.它被mplayer或者xine使用作为解码器.还 ...

最新文章

  1. 使用java poi解析表格
  2. Tomcat学习总结(1)——Tomcat入门教程
  3. 是什么影响了MySQL性能?
  4. 王道408数据结构——第四章 串(KMP算法)
  5. 【深入】java 单例模式
  6. 1.5_insert_sort_插入排序
  7. c++ 写文件怎么让0x00不被识别成结束符_使用docker-copyedit工具删除镜像中不需要的环境变量和VOLUME...
  8. 从零基础入门Tensorflow2.0 ----三、8. 自定义层次
  9. 联发科被动“卡位”内地集成电路市场 剑指老对手展讯
  10. Android静默安装
  11. 信息收集--wmic命令
  12. 动态添加element标签,数据操作
  13. 珠宝电商探索之路实战分享
  14. zk 系四大 L2 协议大 PK:进度、异同和生态
  15. 搭建Windows下Android应用开发环境——Eclipse/Android/ADT
  16. 带你了解CSS开发中的10个不要
  17. 什么是BOS? BOS 与 ERP 是什么关系?
  18. Android判断是否为模拟器(实际测试过,夜神,mumu都没问题)
  19. 视频教程-用友U8视频教程全集(采购管理)-ERP
  20. xshell6无法卸载重装问题

热门文章

  1. gwr模型用什么做_建筑信息模型是什么?能做什么?
  2. linux 触摸屏驱动中断下半部实现-工作队列
  3. Java将Excel文件、Word文件转为PDF
  4. 使用jQuery实现返回顶部
  5. c++ windows网络编程底层涉及库
  6. 用C/CCC++实现输出双声道(立体声).wav 文件
  7. 全国主要地级市按拼音排序json数据
  8. C语言转MIPS汇编语言的方法,将C程序转换为MIPS汇编语言程序
  9. 阿里员工正准备跳槽,被领导约谈涨薪,晒出薪水:今年又不能走了
  10. C语言小程序:如何用代码“画”出一个爱心