科技 > 软件教程 > 媒体工具

FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx

80人参与 2024-08-04 媒体工具

mp4是最常见的视频封装格式,在《ffmpeg开发实战:从零基础到短视频上线》一书的“1.2.3  自行编译与安装ffmpeg”介绍了如何给ffmpeg集成x264和x265两个库,从而支持h.264和h.265两种标准的编解码。

视频的封装格式除了古老的mp4和asf之外,还有较新的webm格式,该格式的音频编码主要采用opus,视频编码采用vp8或者vp9。其中opus的编解码库为libopus,vp8和vp9的编解码库为libvpx。因此要先安装编译这两个库,再让ffmpeg开启opus和vpx支持,在linux环境的操作过程包含三个步骤:安装libopus、安装libvpx、重新编译ffmpeg,分别说明如下。

1、安装libopus

opus是一种在互联网上处理语音交互和音频传输的编码标准,该标准的编解码器叫做libopus,它的安装步骤说明如下。
(1)到https://ftp.osuosl.org/pub/xiph/releases/opus/下载最新的libopus源码,比如2023年4月发布的libopus-1.4,该版本的源码下载地址是https://ftp.osuosl.org/pub/xiph/releases/opus/opus-1.4.tar.gz。将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

tar xzvf opus-1.4.tar.gz
cd opus-1.4

(2)进入解压后的libopus目录,运行下面命令配置libopus。

./configure

(3)运行下面命令编译libopus。

make

(4)编译完成后,运行下面命令安装libopus。

make install

2、安装libvpx

libvpx是视频编码标准vp8和vp9的编解码器,它的安装步骤说明如下。
(1)到https://github.com/webmproject/libvpx/tags下载最新的libvpx源码,比如2023年9月发布的libvpx-1.13.1,该版本的源码下载地址是https://github.com/webmproject/libvpx/archive/refs/tags/v1.13.1.tar.gz。将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

tar zxvf libvpx-1.13.1.tar.gz
cd libvpx-1.13.1

(2)进入解压后的libvpx目录,运行下面命令配置libvpx。(如果不加--enable-pic,在编译ffmpeg时会报错“relocation r_x86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fpic”)

./configure --enable-pic --disable-examples --disable-unit-tests

(3)运行下面命令编译libvpx。

make

(4)编译完成后,运行下面命令安装libvpx。

make install

3、重新编译ffmpeg

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

./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-iconv --enable-gpl --enable-nonfree

(2)运行下面命令编译ffmpeg。

make clean
make -j4

(3)执行下面命令安装ffmpeg。

make install

(4)运行以下命令查看ffmpeg的版本信息。

ffmpeg -version

查看控制台回显的ffmpeg版本信息,找到“--enable-libopus --enable-libvpx”,说明ffmpeg正确启用了libopus和libvpx。​

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

FFmpeg开发笔记(十四)FFmpeg音频重采样的缓存

08-04

全智能深度演进,一键成片让视频创作颠覆式提效

08-04

FFmpeg开发笔记(十九)FFmpeg开启两个线程分别解码音视频

08-04

FFmpeg开发笔记(四)FFmpeg的动态链接库介绍

08-04

FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧

08-04

2023年终回顾

08-04

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论