首页 > 系统相关 >FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp

FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp

时间:2024-06-01 13:04:12浏览次数:27  
标签:enable FFmpeg -- make WebP Linux libwebp

​《FFmpeg开发实战:从零基础到短视频上线》一书介绍了JPEG、PNG、GIF等图片格式,以及如何通过FFmpeg把视频画面转存为这些格式。除了上述这些常见的图片格式,还有较新的WebP格式,它由VP8视频标准派生而来,VP8演进的视频格式叫做WebM,图片格式则叫WebP。

若想让FFmpeg支持WebP图片的编解码,就要给它集成第三方库libwebp。下面就介绍如何在Linux环境给FFmpeg集成WebP图片的编解码库libwebp。

一、安装libwebp

libwebp的源码下载页面是https://github.com/webmproject/libwebp,各版本libwebp的下载页面为https://github.com/webmproject/libwebp/tags。最新的1.3.2版本于2023年9月份发布,源码包的下载链接为https://github.com/webmproject/libwebp/archive/refs/tags/v1.3.2.tar.gz。
libwebp的安装步骤说明如下。
1、将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

tar zxvf libwebp-1.3.2.tar.gz
cd libwebp-1.3.2

2、进入解压后的libwebp目录,运行下面命令生成配置文件。

libtoolize
./autogen.sh

3、运行下面命令配置libwebp。

./configure

4、运行下面命令编译libwebp。

make -j4

5、编译完成后,运行下面命令安装libwebp。

make install

二、启用libwebp

由于FFmpeg默认未启用libwebp,因此需要重新配置FFmpeg,标明启用libwebp,然后重新编译安装FFmpeg。FFmpeg的Linux环境完整编译过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的“1.2.3  自行编译与安装FFmpeg”,详细的启用步骤说明如下。
1、回到FFmpeg源码的目录,执行以下命令重新配置FFmpeg,主要增加启用libwebp。(增加了选项--enable-libwebp)

./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-zlib --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libdavs2 --enable-libmp3lame --enable-libfreetype --enable-libass --enable-libfribidi --enable-libxml2 --enable-fontconfig --enable-sdl2 --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libopus --enable-libvpx --enable-openssl --enable-libaom --enable-libsvtav1 --enable-libdav1d --enable-libuavs3d --enable-libwebp --enable-iconv --enable-gpl --enable-nonfree

2、运行下面命令编译FFmpeg。

make clean
make -j4

3、执行下面命令安装FFmpeg。

make install

4、运行以下命令查看FFmpeg的版本信息。

ffmpeg -version

查看控制台回显的FFmpeg版本信息,找到“--enable-libwebp”,说明FFmpeg正确启用了WebP图片的编解码器libwebp。

标签:enable,FFmpeg,--,make,WebP,Linux,libwebp
From: https://www.cnblogs.com/aqi00/p/18199496

相关文章

  • Linux系统中,要检查CUDA是否安装成功
    在Linux系统中,要检查CUDA是否安装成功,可以通过运行一些命令来验证CUDA工具包和库是否可以被系统正确识别和链接。以下是一些可以执行的命令:检查CUDA版本:bashnvcc--version或者bashcuda--version检查CUDA安装路径:bashwhichnvcc检查CUDA目录是否存在:bashls/u......
  • linux:命令别名,文件描述符及重定向
    命令别名命令别名是Shell提供的一种快捷方式,允许为命令创建简短的替代名称。,可以通过输入较短的别名来执行较长的命令,从而提高效率。1.查看所有别名:[root@localhost~]#alias2.创建临时别名,当前会话关闭即清除alias别名='完整命令'[root@localhost~]#aliaschec......
  • Alpine Linux apk add DNS lookup error
    起因最近做了需要做几个基础镜像,Dockerfile来自Github某仓库,镜像使用的是AlpineLinux3.18,且这个镜像已经更改过软件包管理器apk所使用的软件包仓库(记住这句话),后面基于这个镜像我还需要额外加了一些其他软件包,Dockerfile大致如下FROM某个第三方镜像:alpine-3.18..........
  • Linux操作系统简介
    Linux操作系统1.什么是LinuxLinux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工......
  • 当我想把笔记本改造成一个Linux服务器时(三)——CentOS7 网络配置
    当我想把笔记本改造成一个Linux服务器时(一)当我想把笔记本改造成一个Linux服务器时(二)——网络配置记录一下:上篇网络设置已完成了宿主机及虚拟机的虚拟网络配置,接下来便继续配置CentOS的网络。6.3CentOS网络配置两种方式,一种命令行,一种界面操作,但界面操作有所限制,因此我......
  • Linux 常用命令
    命令英文说明cdchangedirectory切换目录lslist列出目前工作目录所含的文件及子目录pwdprintdirectory显示目前的目录mkdirmakedirectory创建文件夹rmdirremovedirectory删除空文件夹touchtouch创建空白文件cpcopy复制文件或者目录......
  • Linux低功耗Suspend/Resume梳理(基于STM32MP1)
    基于STM32MP1简单梳理Linuxsuspend/resume涉及到的内容:触发Suspend流程,以及唤醒手段和后续resume流程。Linuxkernel中Suspend/Resume流程。TFA中冷启动、热启动、SMC处理、PSCI实现等等。其他低功耗相关:poweroff、reboot、fiq处理。PowerDomainTree介绍;PSCI移植指导等。......
  • 【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service
    在前一篇文章中,我们是把.NET8应用读取SSL证书(X509)示例部署在AppServiceWindows环境中,那么如果部署在Linux环境,以及LinuxContainer中呢?根据前文中的第一种方法,直接在把证书文件包含在源文件中,通过相对路径读取证书文件的方式,经测试,可以正常工作。但是,对于第二种“通过指......
  • 07Linux学习笔记
    Day7Linux网络管理目录文章目录Day7Linux网络管理1.查看Windows网络配置(ipconfig)2.查看Linux网络配置3.指定LinuxIP方法一:3.1查看所有网络连接3.2修改指定网络连接的IP地址3.3重新启动网络连接方法二:3.4找到要编辑的文件3.5编辑完配置文件后,应用更改:4.主机名和......
  • 08Linux文件共享设置
    Linux共享文件目录文章目录Linux共享文件1.windows新建共享文件夹2.Ubuntu安装VMwaretools3.解压3.1运行安装并配置VMwaretools4.进入root5.进入hgfs文件夹6.挂载7.验证8.文件管理器中无法正常访问hgfs(在终端中可以)![请添加图片描述](https://img-blog.csdnimg.cn/d......