附录2 FFmpeg从入门到精通-Linux下编译FFmpeg

附录2 Linux下编译FFmpeg

  1 安装依赖项

 yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel

  2 NASM

    NASM是一个汇编器的名称,全称是Netwide Assembler,支持x86与x64架构的CPU(注意不支持ARM架构)。

wget --no-check-certificate https://www.nasm.us/pub/nasm/releasebuilds/2.15/nasm-2.15.tar.gz
tar -xvf nasm-2.15.tar.gz
cd nasm-2.15/
./configure
make && sudo make install

  3 Yasm

    YASM是windows平台下的一个汇编器。

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xf yasm-1.3.0.tar.gz 
cd yasm-1.3.0
./configure 
make && sudo make install

  4 libx264

     x264编码库libx264实现真正的视频编解码,该编解码算法是基于块的混合编码技术,即帧内/帧间预测,然后对预测值变换、量化,最后熵编码所得。编码帧的类型分为I帧(x264_type_i)、P帧(x264_type_p)、B帧(x264_type_b),在H264中叫做图像片Slice。
     要求将 ffmpeg 配置为 --enable-gpl --enable-libx264.

git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-shared --enable-static
make && make install

  5 libx265

    H.265 / HEVC视频编码器。
    要求将 ffmpeg 配置为 --enable-gpl --enable-libx265.

git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git
cd x265_git/source
cmake ../source
make && make install

  6 libfdk_aac

    要求将 ffmpeg 配置为 --enable-libfdk_aac (and --enable-nonfree if you also included --enable-gpl).

git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --enable-shared
make
make install

  7 libmp3lame

    MP3音频编码器。
    要求将 ffmpeg 配置为 --enable-libmp3lame.

wget --no-check-certificate https://sourceforge.net/projects/lame/files/latest/download/lame-3.100.tar.gz
tar xf lame-3.100.tar.gz
cd lame-3.100
./configure --enable-shared --enable-static
make && make install

  8 libopus

    Opus音频解码器和编码器。
    要求将 ffmpeg 配置为 --enable-libopus.

curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --enable-shared
make
make install

  9 libvpx

    P8/VP9视频编码器和解码器
    要求将 ffmpeg 配置为 --enable-libvpx.

git clone https://github.com/webmproject/libvpx.git
cd libvpx
./configure --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install

  10 FFmpeg

wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz
tar xf ffmpeg-5.1.tar.gz
cd ffmpeg
./configure --prefix="/usr/local/ffmpeg" --pkg-config-flags="--static" --extra-libs=-lpthread --extra-libs=-lm --enable-gpl --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree 
make
make install
FFmpeg 是一个免费、开源、跨平台的多媒体框架,它可以用于处理音频和视频文件,包括格式转换、剪辑、编解码等。下面是从入门到精通 FFmpeg 的一些步骤: 1. 安装 FFmpeg: 在 Linux 平台下,可以使用包管理器直接安装 FFmpeg。在 Windows 平台下,可以从官网下载二进制文件进行安装。也可以从源代码进行编译安装。 2. 常用命令: 了解 FFmpeg 的常用命令,可以使用 ffprobe 工具对媒体文件进行分析,例如获取视频信息、音频信息等。常用的命令有: - ffmpeg -i inputfile outputfile:将一个媒体文件转换为另一个格式的文件。 - ffmpeg -i inputfile -ss start -t duration outputfile:剪辑视频,从 start 秒开始,截取 duration 秒。 - ffmpeg -i inputfile -vn -acodec copy outputfile:提取音频文件,去掉视频部分。 - ffmpeg -i inputfile -vcodec copy -an outputfile:提取视频文件,去掉音频部分。 - ffmpeg -i inputfile -f image2 -ss 10 -vframes 1 outputfile:提取视频的某一帧作为图片输出。 3. 自定义命令: FFmpeg 提供了非常强大的功能,也可以通过自定义命令来实现更加个性化的需求,例如: - 视频转码:ffmpeg -i inputfile -c:v libx264 -preset slow -crf 22 -c:a copy outputfile - 视频截图:ffmpeg -i inputfile -ss 00:00:30 -f image2 -vframes 1 outputfile - 视频合并:ffmpeg -i inputfile1 -i inputfile2 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1" outputfile 4. 使用 FFmpeg 库: FFmpeg 还提供了 C 语言的库,可以在自己的程序中使用。使用 FFmpeg 库需要了解音视频编码的原理以及 FFmpeg 库的 API 接口。 以上是 FFmpeg 的入门到精通的一些步骤,希望能够帮助你更好地了解和使用 FFmpeg
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值