ffmpeg学习:ubuntu下编译ffmpeg(全网最懒的编译脚本)

文章目录

  • 前言
  • 一. 配置环境
    • 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各个支持包,总体的原理很简单:

  1. 下载源码。
  2. 解压下载的源码。
  3. 设置配置文件的安装参数。
  4. 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=来源:rockyou666
                                                        

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月4日
下一篇 2022年5月5日

相关推荐