FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr

FFmpeg内置了aac音频格式,在《FFmpeg开发实战:从零基础到短视频上线》一书的"5.2.2 Linux环境集成mp3lame"又介绍了如何给FFmpeg集成mp3格式,常见的音频文件除了这两种之外,还有ogg和amr两种格式也较常用。其中ogg格式的编解码依赖于libogg和libvorbis,而amr格式的编解码依赖于opencore-amr。因此要先安装编译这三个库,再让FFmpeg开启ogg和amr支持,在Linux环境的操作过程包含四个步骤:安装libogg、安装libvorbis、安装opencore-amr、重新编译FFmpeg,分别说明如下。

1、安装libogg

libogg支持解析ogg文件结构,也可用于封装ogg格式,它的安装步骤说明如下。

(1)到https://www.linuxfromscratch.org/blfs/view/svn/multimedia/libogg.html下载最新的libogg源码,比如2021年6月发布的libogg-1.3.5,该版本的源码下载地址是https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.gz。将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

复制代码
tar zxvf libogg-1.3.5.tar.gz
cd libogg-1.3.5

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

复制代码
./configure
点击并拖拽以移动

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

复制代码
make

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

复制代码
make install

2、安装libvorbis

Vorbis是一种免费的音频编码标准,libvorbis是Vorbis音频的编解码库。因为Vorbis音频通常封装在ogg格式中,所以libvorbis依赖于libogg,它的安装步骤说明如下。

(1)到https://www.linuxfromscratch.org/blfs/view/svn/multimedia/libvorbis.html下载最新的libvorbis源码,比如2020年7月发布的libvorbis-1.3.7,该版本的源码下载地址是https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz。将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

复制代码
tar zxvf libvorbis-1.3.7.tar.gz
cd libvorbis-1.3.7

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

复制代码
./configure

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

复制代码
make

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

复制代码
make install

3、安装opencore-amr

opencore-amr是AMR音频的编解码库,支持对AMR-NB和AMR-WB格式的音频进行编解码,它的安装步骤说明如下。

(1)到https://sourceforge.net/projects/opencore-amr/files/opencore-amr/下载最新的opencore-amr源码,比如2022年10月发布的opencore-amr-0.1.6,该版本的源码下载地址是https://nchc.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.6.tar.gz。将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

复制代码
tar zxvf opencore-amr-0.1.6.tar.gz
cd opencore-amr-0.1.6
点击并拖拽以移动

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

复制代码
./configure

(3)运行下面命令编译opencore-amr。

复制代码
make

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

复制代码
make install

4、重新编译FFmpeg

由于FFmpeg默认未启用ogg和amr,因此需要重新配置FFmpeg,标明启用ogg和amr,然后重新编译安装FFmpeg。FFmpeg的Linux环境完整编译过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的"1.2.3 自行编译与安装FFmpeg",详细的启用步骤说明如下。

(1)回到FFmpeg源码的目录,执行以下命令重新配置FFmpeg,主要增加启用ogg和amr。(增加了选项--enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3)

复制代码
./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-iconv --enable-gpl --enable-nonfree

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

复制代码
make clean
make -j4

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

复制代码
make install

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

复制代码
ffmpeg -version

查看控制台回显的FFmpeg版本信息,找到"--enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3",说明FFmpeg正确启用了新增的音频格式ogg和amr。

相关推荐
小美哥13142 小时前
格式工厂转换视频很慢、Pr视频剪辑导出很慢的优化设置(就用显卡的默认设置即可)
音视频·格式工厂
宠友信息5 小时前
仿小红书短视频APP源码:Java微服务版支持小程序编译的技术解析
java·微服务·音视频
QMCY_jason5 小时前
ubuntu 24.04 FFmpeg编译 带Nvidia 加速记录
linux·ubuntu·ffmpeg
bylander8 小时前
【论文阅读】通义实验室,VACE: All-in-One Video Creation and Editing
论文阅读·人工智能·计算机视觉·音视频
Black蜡笔小新8 小时前
破解工地防盗难题:如何利用EasyCVR实现视频监控统一管理?
运维·音视频
eqwaak08 小时前
动态图表导出与视频生成:精通Matplotlib Animation与FFmpeg
开发语言·python·ffmpeg·音视频·matplotlib
执尺量北斗9 小时前
LinkMate 智能会议室系统:基于 Qt / QML / WebRTC / FFmpeg / Whisper / OpenGL 的实时音视频会议平台
qt·ffmpeg·webrtc
Enabler_Rx14 小时前
AI辅助制作宣传视频
音视频
PhoenixAI814 小时前
保姆级教程-剪映多视频融合及识别文字转换方法
音视频
liaomin4161005691 天前
transformers音频实战02-基于 Speech Commands 数据集的语音识别实战项目全流程
人工智能·音视频·语音识别