Ubuntu 2x.04 编译FFmpeg 脚本

1. 将脚本放在 FFmpeg 元文件根目录

2. 编译结束后结果放该目录下的install文件夹中

#!/bin/bash

THIS_PATH=$(cd $(dirname $0); pwd)
BUILD_DIR=${1:-${THIS_PATH}/build}

INSTALL_DIR=${THIS_PATH}/install

#-----------------------------------------------------------------
# refer to https://packages.ubuntu.com/search?keywords=libdav1d-dev
# libdav1d-dev is supported since Ubuntu 22.04
#-----------------------------------------------------------------
# sudo apt install libunistring-dev libaom-dev libdav1d-dev
sudo apt install libgnutls28-dev libass-dev libmp3lame-dev libunistring-dev libaom-dev 
sudo apt install libfreetype-dev libopus-dev  libx264-dev libx265-dev
sudo apt-get install libfdk-aac-dev libsvtav* libvorbis-dev libvpx-dev

#-----------------------------------------------------------------
#-----------------------------------------------------------------

#wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
#tar xjvf ffmpeg-snapshot.tar.bz2 && \
# cd ffmpeg && \
##  NUM_CORES=$(nproc) PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" ./
PKG_CONFIG_PATH="${INSTALL_DIR}/lib/pkgconfig" \
./configure \
  --prefix="${INSTALL_DIR}" \
  --pkg-config-flags="--static" \
  --extra-libs="-lpthread -lm" \
  --ld="g++" \
  --enable-shared \
  --enable-gpl \
  --enable-gnutls \
  --enable-libaom \
  --enable-libass \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libsvtav1 \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libdav1d \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree \
  && make -j$(nproc)

make install
  
  #   --enable-libfdkaac

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu 22.04下,你可以使用以下脚本编译FFmpeg用于Android API 10: ```bash #!/bin/bash # 设置 Android NDK 路径 export NDK=/path/to/android-ndk # 设置编译工具链和目标架构 export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64 export TARGET_ARCH=arm # 设置 Android API 级别 export API_LEVEL=10 # 设置输出目录 export OUTPUT_DIR=/path/to/output # 添加工具链到环境变量 export PATH=$TOOLCHAIN/bin:$PATH # 设置编译参数 export CC=$TOOLCHAIN/bin/$TARGET_ARCH-linux-android$API_LEVEL-clang export CXX=$TOOLCHAIN/bin/$TARGET_ARCH-linux-android$API_LEVEL-clang++ export AR=$TOOLCHAIN/bin/$TARGET_ARCH-linux-android-ar export LD=$TOOLCHAIN/bin/$TARGET_ARCH-linux-android-ld export AS=$TOOLCHAIN/bin/$TARGET_ARCH-linux-android-as # 设置编译选项 export CFLAGS="-fPIE -fPIC" export LDFLAGS="-pie" # 设置 FFmpeg 配置选项 export CONFIGURE_FLAGS="--target-os=android --arch=$TARGET_ARCH --enable-neon --enable-hwaccel --enable-jni --enable-mediacodec --enable-decoder=h264_mediacodec --enable-decoder=hevc_mediacodec --enable-decoder=mpeg4_mediacodec --enable-decoder=vp8_mediacodec --enable-decoder=vp9_mediacodec --enable-decoder=aac --enable-decoder=mp3 --enable-decoder=opus --enable-static --disable-shared" # 进入 FFmpeg 源码目录 cd /path/to/ffmpeg-source # 清理之前的编译结果 make clean # 执行配置命令 ./configure $CONFIGURE_FLAGS --prefix=$OUTPUT_DIR # 编译 FFmpeg make -j8 # 安装 FFmpeg 到输出目录 make install ``` 在这个脚本中,你需要根据你的环境配置设置以下变量: - `/path/to/android-ndk`:Android NDK 的路径。 - `/path/to/output`:编译输出目录的路径。 - `/path/to/ffmpeg-source`:FFmpeg 源码的路径。 你可以将以上脚本保存到一个文件(比如 build_ffmpeg.sh),然后在终端中运行该脚本脚本会设置编译参数和环境变量,并执行编译和安装命令,最终将编译结果安装到指定的输出目录中。 请确保在运行脚本之前已经正确安装了所需的依赖项和工具链,并且替换上述脚本中的路径和变量为适合你的环境的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值