文章目录
- 前言
- 一. 配置环境
-
- 1.1 虚拟机版本
- 1.2 配置vim
- 二. ffmpeg手动编译
-
- 2.1 编译前准备
- 2.2 编译脚本
-
- config.sh
- tools.sh
- build_libfdk_aac.sh
- build_libmp3lame.sh
- build_libopus.sh
- build_libvpx.sh
- build_libx264.sh
- build_libx265.sh
- build_sdl2.sh
- build_pkg_config.sh
- build_yasm.sh
- build_ffmpeg.sh
- build.sh
- 三. 使用方法
- 四. 脚本地址
前言
本篇文章主要是对ffmpeg在Ubuntu上的编译的总结,最后会提供一个编译脚本,来实现一键编译。
一. 配置环境
1.1 虚拟机版本
我选择的是VirtualBox来安装虚拟机,镜像文件是ubuntu-20.04.4-desktop-amd64.iso,下载地址我用的是 易开源镜像:ubuntu-releases/20.04/。(建议不要使用16.04版本)
1.2 配置vim
这里记录下vim的配置:
输入命令打开后在改文件末尾加上如下代码:
以上的配置按照自己的需求选择。注意:注释部分不要输入进去!
二. ffmpeg手动编译
2.1 编译前准备
在准备手动编译ffmpeg的时候需要安装必须的支持软件,现在我将它们列举出来:
完成以上的工作就可以开始编写编译脚本了。
2.2 编译脚本
准备过程完成后,后面我们就可以编写编译脚本了!
config.sh
该脚本是用来做全局配置,目前只有一个选项,用来编译动态库还是静态库,后续会增加其他的全局配置。
tools.sh
辅助脚本,用于编译ffmpeg的各个支持包的时候提供帮助。
接下来就是编译ffmpeg各个支持包,总体的原理很简单:
- 下载源码。
- 解压下载的源码。
- 设置配置文件的安装参数。
- make clean,make && make install。
后续的脚本都是按照如上的步骤编写的
build_libfdk_aac.sh
编码AAC音频,ffmpeg通过编译参数–enable-libfdk-aac来开启
注意到该shell脚本的配置(configure)参数有一个选项叫做,事实上该选项主要的作用是配置软件安装的路径,在默认安装的情况下,软件会被安装到目录下。可执行文件放在,库文件放在,等等。如果我们配置一下,可以保证软件被安装到指定目录下面,当前脚本就将软件安装到脚本所配置的目录下。如果你想查看该软件的配置选项,你可以在源码目录下执行来查看所有的配置选项。
build_libmp3lame.sh
编码MP3音频,ffmpeg通过编译参数–enable-libmp3lame来开启
build_libopus.sh
编码opus音频,ffmpeg通过编译参数–enable-libopus来开启
#! /bin/bash# 编码opus音频,ffmpeg通过编译参数--enable-libopus来开启set -eOPUS="opus"OPUS_URL="http://downloads.xiph.org/releases/opus/"OPUS_VERSION="1.3.1"OPUS_CONFIGURE_COMMAND="./configure--prefix=声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!