分享一个ubuntu 安装ffmpeg的脚本

源: https://gist.github.com/sparrc/026ed9958502072dda749ba4e5879ee3

#!/usr/bin/env bash

# Installs ffmpeg from source (HEAD) with libaom and libx265, as well as a few
# other common libraries
# binary will be at ~/bin/ffmpeg

sudo apt update && sudo apt upgrade -y

mkdir -p ~/ffmpeg_sources ~/bin
export PATH="$HOME/bin:$PATH"

sudo apt -y install \
  autoconf \
  automake \
  build-essential \
  cmake \
  git \
  libass-dev \
  libfreetype6-dev \
  libsdl2-dev \
  libtheora-dev \
  libtool \
  libva-dev \
  libvdpau-dev \
  libvorbis-dev \
  libxcb1-dev \
  libxcb-shm0-dev \
  libxcb-xfixes0-dev \
  mercurial \
  pkg-config \
  texinfo \
  wget \
  zlib1g-dev \
  yasm \
  libvpx-dev \
  libopus-dev \
  libx264-dev \
  libmp3lame-dev \
  libfdk-aac-dev

# Install libaom from source.
mkdir -p ~/ffmpeg_sources/libaom && \
  cd ~/ffmpeg_sources/libaom && \
  git clone https://aomedia.googlesource.com/aom && \
  cmake ./aom && \
  make && \
  sudo make install

# Install libx265 from source.
cd ~/ffmpeg_sources && \
  hg clone https://bitbucket.org/multicoreware/x265 && \
  cd x265/build/linux && \
  cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source && \
  make && \
  make install

cd ~/ffmpeg_sources && \
  wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
  tar xjvf ffmpeg-snapshot.tar.bz2 && \
  cd ffmpeg && \
  PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
    --prefix="$HOME/ffmpeg_build" \
    --pkg-config-flags="--static" \
    --extra-cflags="-I$HOME/ffmpeg_build/include" \
    --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
    --extra-libs="-lpthread -lm" \
    --bindir="$HOME/bin" \
    --enable-gpl \
    --enable-libass \
    --enable-libfdk-aac \
    --enable-libmp3lame \
    --enable-libx264 \
    --enable-libx265 \
    --enable-libtheora \
    --enable-libfreetype \
    --enable-libvorbis \
    --enable-libopus \
    --enable-libvpx \
    --enable-libaom \
    --enable-nonfree && \
  make && \
  make install && \
  hash -r

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Ubuntu下使用FFmpeg生成Android库,需要进行以下步骤: 1. 安装必要的工具和依赖项: - 安装FFmpeg:可以通过`sudo apt install ffmpeg`命令进行安装。 - 安装Android NDK:下载并安装最新版本的Android NDK,可以从官方网站(https://developer.android.com/ndk/downloads)获取。 2. 配置环境变量: - 将Android NDK的路径添加到系统的PATH环境变量中。可以在`.bashrc`或`.profile`文件中添加以下行: ``` export ANDROID_NDK=/path/to/android/ndk export PATH=$PATH:$ANDROID_NDK ``` 3. 编写编译脚本: - 创建一个名为`build_android.sh`的脚本文件,并将以下内容复制到文件中: ```bash #!/bin/bash # 设置NDK路径 export NDK=/path/to/android/ndk # 设置目标架构和API级别 export TARGET_ARCH=armv7a export API_LEVEL=21 # 设置交叉编译工具链路径 export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64 # 设置输出目录 export OUTPUT_DIR=output/android/$TARGET_ARCH # 设置编译参数 export COMMON_OPTIONS="-fPIC -DANDROID -D__ANDROID_API__=$API_LEVEL" # 设置交叉编译工具链路径 export CROSS_PREFIX=$TOOLCHAIN/bin/$TARGET_ARCH-linux-android- # 设置编译器和链接器 export CC=$CROSS_PREFIX"clang" export CXX=$CROSS_PREFIX"clang++" export LD=$CROSS_PREFIX"ld" # 设置编译选项 export CFLAGS="$COMMON_OPTIONS -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16" export CXXFLAGS="$CFLAGS" export LDFLAGS="-Wl,--fix-cortex-a8" # 配置FFmpeg ./configure \ --prefix=$OUTPUT_DIR \ --disable-shared \ --enable-static \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-avdevice \ --disable-symver \ --cross-prefix=$CROSS_PREFIX \ --target-os=android \ --arch=arm \ --enable-cross-compile # 编译和安装FFmpeg make && make install ``` 4. 构建Android库: - 打开终端,进入FFmpeg源代码的根目录,然后运行以下命令: ```bash chmod +x build_android.sh ./build_android.sh ``` - 脚本将使用指定的NDK路径、目标架构和API级别进行配置,并编译生成Android库。生成的库文件将位于`output/android/$TARGET_ARCH`目录中。 这样,你就可以使用FFmpegUbuntu下生成Android库了。记得根据你的具体需求和环境进行必要的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值