1 编译dav1d

dav1d是一种新的AV1跨平台解码器,是开源的,专注于速度和正确性。
该存储库的规范存储库URL为https:https://code.videolan.org/videolan/dav1d
该项目由开放媒体/ AOM联盟部分资助。
具体编译步骤
1, Install Meson (0.47 or higher), Ninja, and, for x86* targets, nasm (2.14 or higher)
2, Run mkdir build && cd build to create a build directory and enter it
3, Run meson .. to configure meson, add --default-library=static if static linking is desired
4, Run ninja to compile
5, ninja install

具体代码可以参考下面:

$ git clone --depth=1 https://code.videolan.org/videolan/dav1d.git
$ cd dav1d
$ mkdir build && cd build
$ meson --prefix /usr/local/ffmpeg/dav1d --bindir="/usr/local/ffmpeg/bin" ..
$ ninja
# ninja install

2 编译FFmpeg

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
这些是编译所需的软件包,但是如果您愿意,可以在完成后将其删除:

$ sudo apt-get update -qq && sudo apt-get -y install \autoconf \automake \build-essential \cmake \git-core \libass-dev \libfreetype6-dev \libgnutls28-dev \libsdl2-dev \libtool \libva-dev \libvdpau-dev \libvorbis-dev \libxcb1-dev \libxcb-shm0-dev \libxcb-xfixes0-dev \pkg-config \texinfo \wget \yasm \zlib1g-dev

clone FFmpeg的git仓库:

$ mkdir ffmpeg && cd ffmpeg
$ git clone https://github.com/FFmpeg/FFmpeg.git
$ cd FFmpeg
$ ./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-libdav1d
$ make
# make install

3 可能遇到的问题:

1 ERROR: dav1d >= 0.5.0 not found using pkg-config

这个问题的出现其实是因为环境变量里设置的PKG_CONFIG_PATH系统找不到dav1d的libs。
参考https://stackoverflow.com/questions/61384486/error-dav1d-0-2-1-not-found-using-pkg-config
首先 要执行ninja install
然后./dav1d/dav1d/build/meson-private目录里找到dav1d.pc文件,内容如下:

prefix=/usr/local/ffmpeg/dav1d
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/includeName: libdav1d
Description: AV1 decoding library
Version: 0.8.0
Libs: -L${libdir} -ldav1d
Libs.private: -pthread -ldl
Cflags: -I${includedir}

然后 把上面文件中的libdir添加到PKG_CONFIG_PATH

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/ffmpeg/dav1d/lib/x86_64-linux-gnu:$PKG_CONFIG_PATH
$ echo $PKG_CONFIG_PATH

然后 重新回到FFmpeg目录里
./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-libdav1d
应该就解决了。

2 ERROR: Meson version is 0.45.1 but project requires >= 0.49.0.

这个问题好解决
首先删除从仓库里安装的meson

$ sudo apt-get purge meson

然后通过pip安装

$ pip3 install --user meson

3 ERROR: Problem encountered: nasm 2.14 or later is required for AVX-512 asm.

这个问题的出现和上面那个问题类似,都是因为仓库里的版本太低了,但是这个需要到nasm的官网下载最新源码编译安装

$ cd ~/Downloads
$ wget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz
$ tar xvf nasm-2.15.05.tar.xz
$ cd nasm-2.15.05
$ ./configure
$ make
# make install

好像还有别的问题暂时想不起来了,回头再补上,大家有遇到问题可以留言

[FFmpeg]编译av1的dav1d解码库相关推荐

  1. 三.ffmpeg 集成av1

    copy from zhujiamin 一.介绍 FFmpeg4.2支持AV1.AVS2等视频编码格式,但本身并不包含解码器,需要自己集成.集成的编解码器要避开GPL开源协议(–enable-gpl) ...

  2. 二.ffmpeg 编译和配置

    copy from zhujiamin 各Android版本FFmpeg编译流程图 二.FFmpeg内部配置(configure)编译(Mkaefile)流程知识 configure:FFmpeg配置 ...

  3. windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载

    经过一晚上加一上午的奋斗,终于成功编译出了最新版的FFMPEG,下面是我编译的心得,因为是最新的,应该会对大家有用,编译的FFMPEG的版本是0.11.2,2012-09-19新发布的版本 平台:WI ...

  4. FFmpeg编译支持AV1编解码器libaom-av1

    编译av1的库 libaom-av1 cd ~/ffmpeg_sources && \ git -C aom pull 2> /dev/null || git clone --d ...

  5. FFmpeg编译出来的库太大?试试这几招

    目录 前言 一.编译出来的库为什么大? 二.去掉多余的格式 三.--enable-small 前言 之前合成Mp4的项目功能已经完成了,在实际测试的时候发现一个问题,就是编译出来的几个库文件加起来太大 ...

  6. 搭建webassembly网页播放器(三)---emcc编译ffmpeg编译库

    经过前面的2个部分,我们完成了环境的搭建,接下来我们使用emcc编译ffmpeg库,注意同样由于软链接的缘故,我们不能在windows和linux的共享文件夹里使用emcc编译ffmpeg, 这里我们 ...

  7. VideoLAN、VLC 和 FFmpeg联合开发AV1 解码器 Dav1d

    近日,VideoLAN的主席Jean-Baptiste Kempf在其博客介绍了新的AV1解码器--Dav1d. Kempf表示,AV1的参考解码器很好,但他只是一套用于研究的编码,有许多需要改进的地 ...

  8. ffmpeg库编译加文字_我自己的FFMpeg编译之路

    为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今天我把整个过程,以及在这个过程的感悟写下来,以备日后查看,也希望能帮到一些像我一样的兄弟姐妹. 在这一个星期里前前后后加起来总共使用了 ...

  9. Window下编译 64位ffmpeg 引入libx264及libmp3lame编码库

    好记性不如烂笔头,每次编译总要有些时间折腾,记录下编译过程,方便后来者. 本文 介绍windows下编译64位Ffmpeg库 (版本V4.02)如何引入libx264及libmp3lame(编码mp3 ...

最新文章

  1. Ios应用网络安全之https
  2. UART的16倍频过采样和3倍频过采样
  3. mate 7 可以安装linux,centos7安装mate
  4. 计算机会计的应用控制主要有哪些,计算机会计习题全多选
  5. ROS Learning-032 (提高篇-010 Launch)Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介...
  6. opencv-视频处理-实时的前景检测-Vibe算法
  7. VS2008快捷键大全
  8. 10个数冒泡排序流程图_C语言 | 冒泡排序
  9. AWS Ubuntu安装可视化操作桌面和VS Code,Code Server
  10. PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
  11. c# forbidden.html,c# - google+ api error forbidden 403 - Stack Overflow
  12. 实现文字左右滚动 javascript
  13. 网站Banner图切换效果(flash)
  14. u8反启用固定资产_用友怎么取消固定资产模块
  15. WindowsXP音量控制程序的安装
  16. 使用geronimo-javamail_1.4发送邮件的有关说明
  17. 台式计算机怎么连接蓝牙 win10,win10台式电脑蓝牙怎么开启(开启电脑蓝牙的步骤图)...
  18. 跨模态神经搜索实践VCED CLIP简介
  19. emoji表情的处理和保存
  20. VnlnHub Hacker_Kid-v1.0.1

热门文章

  1. 返回上一页面刷新与不刷新的方法
  2. asp毕业设计——基于asp+access的毕业生信息管理系统设计与实现(毕业论文+程序源码)——毕业生信息管理系统
  3. pytorch保存onnx模型
  4. 浙江省计算机提前招分数线,【高考】2020年浙江省提前批各高校录取分数线汇总,建议收藏...
  5. API发送短信验证码
  6. 集成学习实战之 -- RandomForest
  7. 关于数加服装ERP软件/系统的功能模块与应用的介绍
  8. 文件拖到ads快捷方式打不开
  9. 用计算机算坐标距离,施工笔记 --坐标计算:(关于如何使用可编程计算器卡西欧5800计算坐标点之间的距离及方位角和坐标反算)...
  10. php 邮币卡源码,如何使用CSS的Grid布局实现小松鼠邮票的效果(附源码)