ffmpeg编译成功后怎么使用(FFMPEG定制化编译指南)
ffmpeg编译成功后怎么使用(FFMPEG定制化编译指南)MSYS2 安装完成之后,将安装目录下的 msys2_shell.cmd 中的 rem set MSYS2_PATH_TYPE=inherit 改成 set MSYS2_PATH_TYPE=inherit,从而将 VS 的环境继承给 MSYS2MSYS2 下载地址,MSYS2tar -zxvf FFmpeg-n4.2.3.tar.gz cd ./FFmpeg-n4.2.3/ // 运行编译脚本 ./build.static.sh文章福利:收藏整理的ffmpeg资料包可以私【1】进群领取~ 另外分享一个免费的音视频流媒体课程,水平很高,可以免费学习,往期的课程回放都可以点击上方领取方式获取:【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发-学习视频教程-腾讯课堂#!/bin/bash PATH="$HOME/ffmpeg/lib/bin:$
【网络通信 -- 直播】FFMPEG -- FFMPEG 定制化编译指南Ubuntu 环境下编译定制化的 FFMPEG 静态库
【1】安装所需的工具
apt-get install autoconf automake bzip2
apt-get install cmake gcc g git
apt-get install libtool make mercurial
【2】编译安装 FFMPEG 编解码器插件库
- 2.1 编译安装 NASM
tar jxvf nasm-2.14.tar.bz2
cd ./nasm-2.14/
./autogen.sh
./configure --prefix="$HOME/ffmpeg/lib" --bindir="$HOME/ffmpeg/lib/bin"
make
make install
将bin目录加入path路径中
打开~/.bashrc 在最后一行编辑
export PATH=$PATH:$HOME/ffmpeg/lib/bin/
- 2.2 编译安装 YASM
tar xzvf yasm-1.3.0.tar.gz
cd ./yasm-1.3.0/
./configure --prefix="$HOME/ffmpeg/lib" --bindir="$HOME/ffmpeg/lib/bin"
make
make install
- 2.3 编译安装 X264
unzip x264-stable.zip
cd ./x264-stable/
PKG_CONFIG_PATH="$HOME/ffmpeg/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg/lib" --bindir="$HOME/ffmpeg/lib/bin" --enable-static
make
make install
- 2.4 编译安装 libfdk_aac
tar -zxvf fdk-aac-2.0.2.tar.gz
cd ./fdk-aac-2.0.2/
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg/lib" --disable-shared
make
make install
- 2.5 编译安装 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 --prefix="$HOME/ffmpeg/lib" --disable-shared
make
make install
【3】编译安装 FFMPEG
tar -zxvf FFmpeg-n4.2.3.tar.gz
cd ./FFmpeg-n4.2.3/
// 运行编译脚本
./build.static.sh
文章福利:收藏整理的ffmpeg资料包可以私【1】进群领取~
另外分享一个免费的音视频流媒体课程,水平很高,可以免费学习,往期的课程回放都可以点击上方领取方式获取:【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发-学习视频教程-腾讯课堂
#!/bin/bash
PATH="$HOME/ffmpeg/lib/bin:$PATH"
PKG_CONFIG_PATH="$HOME/ffmpeg/lib/lib/pkgconfig"
./configure \
--prefix="$HOME/ffmpeg/lib" \
--pkg-config-FLAGS="--static" \
--extra-cflags="-I$HOME/ffmpeg/lib/include" \
--extra-ldflags="-L$HOME/ffmpeg/lib/lib" \
--extra-libs=-lpthread \
--extra-libs=-lm \
--bindir="$HOME/ffmpeg/lib/bin" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libopus \
--enable-libx264 \
--enable-nonfree
make
make install
Windows 环境下编译定制化的 FFMPEG 静态库【1】安装配置 MSYS2
1.1 MSYS2 下载与配置
MSYS2 下载地址,MSYS2
MSYS2 安装完成之后,将安装目录下的 msys2_shell.cmd 中的 rem set MSYS2_PATH_TYPE=inherit 改成 set MSYS2_PATH_TYPE=inherit,从而将 VS 的环境继承给 MSYS2
1.2 MSYS2 的 pacman 源配置
pacman 源配置文件路径如下图示
编辑切换为居中
添加图片注释,不超过 140 字(可选)
/etc/pacman.d/mirrorlist.mingw32 文件开头添加
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
/etc/pacman.d/mirrorlist.mingw64 文件开头添加
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
/etc/pacman.d/mirrorlist.msys 文件开头添加
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
- 1.3 MSYS2 启动方式与基本配置
基于 MSYS2 启动 mingw64
进入 MSYS2 安装目录
执行,msys2_shell.cmd -mingw64
MSYS2 窗口支持中文
窗⼝右键->Options->Text,然后locale选择:zh_CN,Character set 选择 UTF-8
【2】配置 MSYS2 编译环境
- 2.1 安装编译环境工具
刷新软件包数据
pacman -Sy
安装基于 MinGW-W64 的工具链
pacman -S mingw-w64-x86_64-toolchain
安装 git
pacman -S git
安装 make 等工具
pacman -S make
pacman -S automake
pacman -S autoconf
pacman -S perl
pacman -S libtool
pacman -S mingw-w64-i686-cmake
pacman -S pkg-config
说明 : 如果需要编译出ffplayer的话,还需要安装SDL
pacman -S mingw-w64-x86_64-SDL2
安装 yasm
pacman -S yasm
安装 nasm
pacman -S nasm
重命名 link
重命名 msys64/usr/bin/link.exe 为 msys64/usr/bin/link.bak,避免和 MSVC 的 link.exe 抵触
- 2.2 检查编译环境工具
which cl link yasm cpp
若出现图示信息的解决方案
编辑切换为居中
添加图片注释,不超过 140 字(可选)
需要将 MSVC 的环境配置到环境变量 Path 中
新建系统环境变量
MSVC
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
\VC\Tools\MSVC\14.29.30133
配置到 Path 变量中
Path
%MSVC%\bin\HostX64\x64
成功则如下图所示
编辑切换为居中
添加图片注释,不超过 140 字(可选)
【3】编译安装 FFMPEG 编解码器插件库
- 3.1 编译安装 X264
获取 X264 源码
github : git clone http://git.videolan.org/git/x264.git
gitee : git clone https://gitee.com/mirrors_addons/x264.git
编译 X264 源码
./configure --prefix=/home/Admin/ffmpeg/build --host=x86_64-w64-mingw32 --enable-shared --enable-static --extra-ldflags=-Wl --output-def=libx264.def
make
make install
生成 libx264.lib
cp ./libx264.def /home/Admin/ffmpeg/build/lib/
cd /home/Admin/ffmpeg/build/lib
#若要生成 64 位 lib 文件则输入如下命令
lib /machine:X64 /def:libx264.def
#若要生成 32 位 lib 文件则输入如下命令
lib /machine:i386 /def:libx264.def
生成 libx264.dll
将 /home/Admin/ffmpeg/build/bin/libx264-161.dll (具体名字和 x264 版本有关) 复制为 libx264.dll
- 3.2 编译安装 libfdk_aac
获取 libfdk_aac 源码
git clone --depth 1 https://gitee.com/mirrors/fdk-aac.git
编译 fdk-aac
./autogen.sh
./configure --prefix=/home/Admin/ffmpeg/build --enablestatic --enable-shared
make
make install
- 3.2 编译安装 libopus
获取 libopus 源码
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
编译 libopus
cd ./opus-1.3.1/
LDFLAGS="-lssp" ./configure --prefix=/home/Admin/ffmpeg/build --enable-static --enable-shared
make
make install
说明,在 configure 时需要加上 LDFLAGS="-lssp" 否则会出现图示错误
编辑切换为居中
添加图片注释,不超过 140 字(可选)
【4】编译安装 FFMPEG
获取 FFMPEG 源码
github : git clone git://source.ffmpeg.org/ffmpeg.git
gitee : git clone https://gitee.com/mirrors/ffmpeg.git
cd ffmpeg
# 查看版本
git branch -a
# 选择 4.2.3 版本
git checkout remotes/origin/release/4.2
#!/bin/bash
PATH="$HOME/ffmpeg/build/bin:$PATH"
PKG_CONFIG_PATH="$HOME/ffmpeg/build/lib/pkgconfig"
./configure \
--prefix="$HOME/ffmpeg/build" \
--pkg-config-flags="--static" \
--arch=x86_64 \
--extra-cflags="-I$HOME/ffmpeg/build/include" \
--extra-ldflags="-L$HOME/ffmpeg/build/lib" \
--extra-libs=-lpthread \
--extra-libs=-lm \
--bindir="$HOME/ffmpeg/build/bin" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libopus \
--enable-libx264 \
--enable-nonfree