找回密码
 立即注册
首页 业界区 业界 FFmpeg开发笔记(六十五)Linux给FFmpeg集成LC3音频的编 ...

FFmpeg开发笔记(六十五)Linux给FFmpeg集成LC3音频的编码器liblc3

轩辕娅童 2025-6-14 14:14:58
​《FFmpeg开发实战:从零基础到短视频上线》一书的第五章介绍了FFmpeg如何处理常见的MP3音频和AAC音频,其中MP3格式常用于音乐文件,而AAC格式常用于视频文件。 除此以外,近年又出现了专用于蓝牙音频的LC3格式,其全称是低复杂度通信编解码器(Low Complexity Communications Codec)。2020年9月15日,蓝牙技术联盟正式发布LC3技术规范,所有的蓝牙音频规范将强制使用LC3音频编解码器。
1.jpeg
2.jpeg

LC3和LC3 Plus是专为低延迟音频传输而设计的音频编解码器,LC3 Plus在LC3的基础上还提出了以下功能:
1、每帧音频的持续时间为2.5ms或5ms。
2、采用高分辨率模式,采样率为48KHz或96KHz。
liblc3是一个开源的LC3音频编解码库,同时内置了LC3和LC3 Plus功能,从7.1版本开始的最新FFmpeg源码已经支持LC3音频的编码器liblc3。
接下来以华为的欧拉系统为例,介绍如何在Linux环境给FFmpeg集成LC3音频的编码器liblc3,具体的操作步骤说明如下:
一、安装liblc3

liblc3是一款LC3音频的编解码库。它的源码托管页面在https://github.com/google/liblc3,最新版本是2025年2月发布的liblc3-1.1.3,该版本的源码包下载地址是https://codeload.github.com/google/liblc3/tar.gz/refs/tags/v1.1.3。
liblc3的安装步骤说明如下。
1、安装编译工具meson和ninja
这两个工具已经在之前libdav1d的安装过程中安装了,这里不再赘述。
2、将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。
  1. cd /usr/local/src
  2. tar zxvf liblc3-1.1.3.tar.gz
  3. cd liblc3-1.1.3
复制代码
3、进入解压后的build目录,运行下面命令配置liblc3。
  1. mkdir build
  2. cd build
  3. meson setup
复制代码
4、运行下面命令编译liblc3。
  1. ninja
复制代码
5、编译完成后,运行下面命令安装liblc3。
  1. ninja install
复制代码
二、让FFmpeg启用liblc3

由于FFmpeg默认未启用liblc3,因此需要重新配置FFmpeg,标明启用liblc3,然后重新编译安装FFmpeg。
先下载最新的FFmpeg源码(版本号需大于等于7.1),再把FFmpeg源码包上传到Linux服务器的/usr/local/src目录下。接着登录Linux服务器的控制台,执行下面命令解压源码包:
  1. cd /usr/local/src
  2. unzip ffmpeg-n7.1.1.zip
复制代码
确保Linux环境已经按照《FFmpeg开发实战:从零基础到短视频上线》该书第一章的“1.2  Linux系统安装FFmpeg”安装了H.264的编码器libx264和H.265的编码器libx265,并且按照之前的文章安装了H.266的编码器libvvenc,然后执行以下的liblc3启用步骤。
1、回到FFmpeg源码的目录,执行以下命令重新配置FFmpeg,主要增加启用liblc3。(增加了选项“ --enable-liblc3”)
  1. cd ffmpeg-n7.1.1
  2. export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
  3. export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH
  4. ./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-zlib --enable-libx264 --enable-libx265 --enable-libvvenc --enable-liblc3 --enable-iconv --enable-gpl --enable-nonfree
复制代码
2、运行下面命令编译FFmpeg。
  1. make clean
  2. make -j4
复制代码
3、执行下面命令安装FFmpeg。
  1. make install
复制代码
三、查看FFmpeg的安装结果

运行下面命令查看FFmpeg的安装版本:
  1. ffmpeg -version
复制代码
上面命令返回的FFmpeg版本信息如下:
  1. ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers
  2. built with gcc 10.3.1 (GCC)
  3. configuration: --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-zlib --enable-libx264 --enable-libx265 --enable-libvvenc --enable-liblc3 --enable-iconv --enable-gpl --enable-nonfree
  4. libavutil      59. 39.100 / 59. 39.100
  5. libavcodec     61. 19.101 / 61. 19.101
  6. libavformat    61.  7.100 / 61.  7.100
  7. libavdevice    61.  3.100 / 61.  3.100
  8. libavfilter    10.  4.100 / 10.  4.100
  9. libswscale      8.  3.100 /  8.  3.100
  10. libswresample   5.  3.100 /  5.  3.100
  11. libpostproc    58.  3.100 / 58.  3.100
复制代码
根据以上返回的版本信息,可知已安装的FFmpeg版本号为7.1.1,同时configuration这行找到“--enable-liblc3”,说明FFmpeg已经启用了LC3音频的编解码库liblc3。
更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。
 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册