Win10系统下编译FFmpeg

1、使用git下载源码

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

2、FFmpeg在windows平台编译需要使用MinGW-w64来编译,单独使用MinGW-w64比较麻烦,推荐使用MSYS2来编译,下载地址:MSYS2

3、下载MSYS2后,点击exe,直接安装,如下:

 

4、安装完MSYS2后,自动运行 或者在"开始"菜单栏中,选择“MSYS2 MSYS”软件,点击运行,运行窗口如下:

5、在MSYS2中更新基础依赖项,输入:pacman -Syu

6、安装MinGW-w64等工具项,输入:pacman -S --needed base-devel mingw-w64-x86_64-toolchain

7、安装完成后,关闭MSYS2窗口,在"开始"菜单中,选择“MSYS2 MinGW x64”,运行弹出窗口,切换到FFmpeg源码文件夹路径,进行配置,输入:./configure(可以根据需要进行FFmpeg配置)

 8、完成后,输入:make -j8

 9、完成后,输入:make install

10、编译完成,可以看到文件夹中,已编译出相应的文件库;

 

11、 验证,在编译文件夹中,已编译出"ffmpeg.exe",再cmd命令框中输入:ffmpeg.exe -version,结果如下表明编译OK。

 

补充:

一、根据第7点中,直接运行./configure 是无法生成dll和lib的,只能生成exe;

在configure当前目录下新建"build"文件夹 ,并运行./configure --enable-shared --prefix=./build --enable-gpl --enable-libx264 --disable-x86asm

可以生成dll和lib,以及include文件

 

 

 二、根据第11点,生成的exe中,是不包含ffplay.exe中,原因是系统缺少SDL,运行

pacman -S mingw-w64-x86_64-SDL2,即可安装SDL

三、ffmpeg源码的decoder中是不包括x264的,需要额外编译x264

下载:wget https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2 

解压:tar -jxvf E:/ffmpeg/x264-master.tar.bz2 -C E:/ffmpeg/x264

编译:./configure --prefix=/bin --enable-static --host=mingw64 --disable-cli --disable-asm

           make clean

           make -j8

           make install

编译结果:可以在lib路径下看到libx264.a生成

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在WSL(Ubuntu)中编译ffmpeg for Android的步骤如下: 1. 安装必要的依赖项 在Ubuntu中打开终端,执行以下命令安装必要的依赖项: ``` sudo apt-get update sudo apt-get install build-essential git autoconf automake libtool pkg-config zlib1g-dev cmake mercurial texinfo ``` 2. 下载NDK 下载并解压Android NDK,可以从官网下载最新版:https://developer.android.com/ndk/downloads/ 假设你将NDK解压到了 /opt/android-ndk-r21d 目录下。 3. 安装交叉编译工具链 执行以下命令安装交叉编译工具链: ``` cd /opt/android-ndk-r21d/build/tools/ ./make_standalone_toolchain.py --arch arm64 --api 21 --stl=libc++ --install-dir /opt/android-toolchain-arm64 ``` 这里选择了 arm64 架构,API级别为 21,STL库为 libc++,安装目录为 /opt/android-toolchain-arm64。 4. 下载ffmpeg源码 执行以下命令下载ffmpeg源码: ``` git clone https://git.ffmpeg.org/ffmpeg.git cd ffmpeg ``` 5. 配置交叉编译环境 执行以下命令配置交叉编译环境: ``` export PATH=$PATH:/opt/android-toolchain-arm64/bin export CC=aarch64-linux-android21-clang export CXX=aarch64-linux-android21-clang++ export AR=aarch64-linux-android-ar export AS=aarch64-linux-android-as export LD=aarch64-linux-android-ld export RANLIB=aarch64-linux-android-ranlib export STRIP=aarch64-linux-android-strip ``` 6. 配置ffmpeg编译选项 执行以下命令配置ffmpeg编译选项: ``` ./configure \ --target-os=android \ --prefix=/opt/ffmpeg-android/arm64-v8a \ --enable-cross-compile \ --enable-pic \ --enable-jni \ --enable-mediacodec \ --enable-decoder=h264_mediacodec \ --enable-decoder=hevc_mediacodec \ --disable-static \ --enable-shared \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-postproc \ --disable-avdevice \ --disable-symver \ --disable-debug \ --disable-network \ --disable-everything \ --arch=aarch64 \ --cpu=armv8-a \ --cc=aarch64-linux-android21-clang \ --cxx=aarch64-linux-android21-clang++ \ --cross-prefix=aarch64-linux-android- \ --sysroot=/opt/android-toolchain-arm64/sysroot ``` 这里开启了 mediacodec 硬解码支持,只支持 H.264 和 HEVC 硬解码,其他配置选项根据需要自行调整。 7. 编译ffmpeg 执行以下命令编译ffmpeg: ``` make -j4 sudo make install ``` 这里使用了 4 核进行编译,可以根据实际情况进行调整。 8. 完成 编译完成后,ffmpeg库文件将会被安装到 /opt/ffmpeg-android/arm64-v8a 目录下。可以将这个目录打包成一个.aar库文件,用于Android Studio项目中的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值