[FFmpeg]编译av1的dav1d解码库
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解码库相关推荐
- 三.ffmpeg 集成av1
copy from zhujiamin 一.介绍 FFmpeg4.2支持AV1.AVS2等视频编码格式,但本身并不包含解码器,需要自己集成.集成的编解码器要避开GPL开源协议(–enable-gpl) ...
- 二.ffmpeg 编译和配置
copy from zhujiamin 各Android版本FFmpeg编译流程图 二.FFmpeg内部配置(configure)编译(Mkaefile)流程知识 configure:FFmpeg配置 ...
- windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载
经过一晚上加一上午的奋斗,终于成功编译出了最新版的FFMPEG,下面是我编译的心得,因为是最新的,应该会对大家有用,编译的FFMPEG的版本是0.11.2,2012-09-19新发布的版本 平台:WI ...
- FFmpeg编译支持AV1编解码器libaom-av1
编译av1的库 libaom-av1 cd ~/ffmpeg_sources && \ git -C aom pull 2> /dev/null || git clone --d ...
- FFmpeg编译出来的库太大?试试这几招
目录 前言 一.编译出来的库为什么大? 二.去掉多余的格式 三.--enable-small 前言 之前合成Mp4的项目功能已经完成了,在实际测试的时候发现一个问题,就是编译出来的几个库文件加起来太大 ...
- 搭建webassembly网页播放器(三)---emcc编译ffmpeg编译库
经过前面的2个部分,我们完成了环境的搭建,接下来我们使用emcc编译ffmpeg库,注意同样由于软链接的缘故,我们不能在windows和linux的共享文件夹里使用emcc编译ffmpeg, 这里我们 ...
- VideoLAN、VLC 和 FFmpeg联合开发AV1 解码器 Dav1d
近日,VideoLAN的主席Jean-Baptiste Kempf在其博客介绍了新的AV1解码器--Dav1d. Kempf表示,AV1的参考解码器很好,但他只是一套用于研究的编码,有许多需要改进的地 ...
- ffmpeg库编译加文字_我自己的FFMpeg编译之路
为了编译这个东西,快折腾了一个星期了.期间经历了很多痛苦的过程,今天我把整个过程,以及在这个过程的感悟写下来,以备日后查看,也希望能帮到一些像我一样的兄弟姐妹. 在这一个星期里前前后后加起来总共使用了 ...
- Window下编译 64位ffmpeg 引入libx264及libmp3lame编码库
好记性不如烂笔头,每次编译总要有些时间折腾,记录下编译过程,方便后来者. 本文 介绍windows下编译64位Ffmpeg库 (版本V4.02)如何引入libx264及libmp3lame(编码mp3 ...
最新文章
- Ios应用网络安全之https
- UART的16倍频过采样和3倍频过采样
- mate 7 可以安装linux,centos7安装mate
- 计算机会计的应用控制主要有哪些,计算机会计习题全多选
- ROS Learning-032 (提高篇-010 Launch)Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介...
- opencv-视频处理-实时的前景检测-Vibe算法
- VS2008快捷键大全
- 10个数冒泡排序流程图_C语言 | 冒泡排序
- AWS Ubuntu安装可视化操作桌面和VS Code,Code Server
- PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
- c# forbidden.html,c# - google+ api error forbidden 403 - Stack Overflow
- 实现文字左右滚动 javascript
- 网站Banner图切换效果(flash)
- u8反启用固定资产_用友怎么取消固定资产模块
- WindowsXP音量控制程序的安装
- 使用geronimo-javamail_1.4发送邮件的有关说明
- 台式计算机怎么连接蓝牙 win10,win10台式电脑蓝牙怎么开启(开启电脑蓝牙的步骤图)...
- 跨模态神经搜索实践VCED CLIP简介
- emoji表情的处理和保存
- VnlnHub Hacker_Kid-v1.0.1
热门文章
- 返回上一页面刷新与不刷新的方法
- asp毕业设计——基于asp+access的毕业生信息管理系统设计与实现(毕业论文+程序源码)——毕业生信息管理系统
- pytorch保存onnx模型
- 浙江省计算机提前招分数线,【高考】2020年浙江省提前批各高校录取分数线汇总,建议收藏...
- API发送短信验证码
- 集成学习实战之 -- RandomForest
- 关于数加服装ERP软件/系统的功能模块与应用的介绍
- 文件拖到ads快捷方式打不开
- 用计算机算坐标距离,施工笔记 --坐标计算:(关于如何使用可编程计算器卡西欧5800计算坐标点之间的距离及方位角和坐标反算)...
- php 邮币卡源码,如何使用CSS的Grid布局实现小松鼠邮票的效果(附源码)