【ffmpeg】编译及使用外部的编解码器

有时候,ffmpeg默认带的编解码器不能满足需要,尤其是编码器,往往需要额外补充。

下面以mp3的一个编码器为例,进行说明:
编译ffmpeg,想将libmp3lame编入其中,将视频中的音频导出,封装为mp3文件。

进行编译配置时,对执行configure时,加入了参数--enable-libmp3lame;
但是编译出来的ffmpeg,通过ffmpeg --encoders查找,就是没有mp3编码器。

进行了多次重新编译以及下载新代码进行编译,还是一样的问题。

后来发现,当执行ffmpeg时,出现如下警告:
WARNING: library configuration mismatch
并且各个库的configuration不是执行configure设置的值

想到发生现象的原因:
1、在配置configure时,将prefix设置为源代码的根目录下;
2、通过编译,将ffmep等可执行文件放入到了prefix指定的目录;而生成的动态库在prefix目录下的lib文件夹下;
3、直接运行prefix下的ffmpeg,找到依赖的动态库为机器指定的环境变量某个目录下的动态库(不是这次编译出来的);

总结:
当机器中存在多套ffmpeg的动态库是,FFmpeg的执行一定要明确依赖的动态库路径。
为了保险,将ffmpeg执行程序放入到想使用的动态库的路径下执行。

FFmpeg是一个开源的跨平台音视频处理工具,它可以用于录制、转换和流媒体处理等多种音视频操作。编译安装FFmpeg并支持硬编解码需要以下步骤: 1. 下载源代码:首先,你需要从FFmpeg官方网站(https://ffmpeg.org/)下载最新的源代码压缩包。 2. 安装依赖:在编译之前,需要确保系统中已经安装了一些必要依赖库,如编工具(gcc、make等)、多媒体库(libx264libx265等)和开发包(libx264-dev、libx265-dev等)。你可以使用包管理工具(如apt、yum等)来安装这些依赖。 3. 解压源代码:将下载的源代码压缩解压到一个目录中。 4. 配置编译选:进入解压后的源代码目录,执行以下命令来配置译选项: ``` ./configure --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree ``` 这里的`--enable-gpl`表示启用GPL许可证,`--enable-libx264`和`--enable-libx265`表示启用x264和x265编码库,`--enable-nonfree`表示启用非自由许可证。 5. 编译和安装:配置完成后,执行以下命令进行编译和安装: ``` make sudo make install ``` 这会将编译后的二进制文件安装到系统中。 6. 验证安装:执行以下命令来验证FFmpeg是否成功安装: ``` ffmpeg -version ``` 如果成功安装,将显示FFmpeg的版本信息。 至此,你已经成功编译安装了支持硬编解码的FFmpeg。你可以使用FFmpeg命令行工具来进行各种音视频处理操作,如转码、剪辑、合并等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值