(Windows环境)FFMPEG编译,包含编译x264以及x265

本文使用 MSYS2 来编译 ffmpeg 

一、安装MSYS2

MSYS2 是 Windows 下的一组编译套件,它可以在 Windows 系统中模拟 Linux 下的编译环境,如使用 shell 运行命令、使用 pacman 安装软件包、使用 gcc (MinGW) 编译代码等。

MSYS2 的安装也非常省心,只需要到 MSYS2 官网 下载.exe安装包,管理员身份运行安装即可,推荐安装在某个盘的根目录。

安装完毕后,你的安装目录里就会有下面的程序:

点击它们就会启动一个 shell 窗口,Just like on Linux ! 这个 shell 程序默认是 Mintty,类似 Linux 系统中的 bash shell。MSYS2 支持多个编译器工具链,它们的环境是独立的(可以去安装文件夹查看),这里选择启动 MINGW64 (如果你也是64位系统的话)。

 国内可以将下载镜像替换为中科大

sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
pacman -Sy

二、安装MINGW

然后安装mingw64编译链和基本的依赖:全部都按照默认安装即可,安装时会询问,输入y即可

pacman -S mingw-w64-x86_64-toolchain  # mingw64编译工具链,win下的gcc
pacman -S base-devel    # 一些基本的编译工具
pacman -S yasm nasm     # 汇编器

安装完毕后,可以输入gcc -v查看 gcc 版本:

最后需要添加环境变量。右击此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 选择 Path (用户变量和系统变量都要)-> 编辑 -> 新建,添加编译工具链的路径:msys2下载的mingw64一般就在你安装的msys2目录里面

三、下载源码

ffmpeg
官网 http://ffmpeg.org/
下载地址 https://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2

x265
官网 https://www.videolan.org/
下载地址 http://ftp.videolan.org/pub/videolan/x265/x265_3.2.1.tar.gz

x264
下载地址 http://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20191217-2245.tar.bz2

 全部解压到你安装的msys2目录里的home目录下,然后分别创建install目录

 

四、编译 

1、编译x264

切换到x264的解压目录下,执行下列命令

cd /home/x264-master/
./configure  --prefix=/home/x264_install/ --enable-shared
make -j8
make install

生成的windows库文件在E:\msys64\home\x264_install\bin目录里,不是lib目录

2、编译x265

切换到x265的解压目录下,执行下列命令(x265在windows下是使用ninja编译,与make稍有不同)

 cd  /home/x265_3.2.1/
cmake -DCMAKE_INSTALL_PREFIX=/home/x265_install/ ./source/

cmake执行完后,会在当前目录生成build.ninja等文件

然后执行以下命令

ninja
ninja install

生成库文件如下:

3、编译ffmpeg 

 切换到ffmpeg目录

cd /home/ffmpeg-5.1.5/

指定x264与x265的配置文件目录

 export PKG_CONFIG_PATH=/home/x265_install/lib/pkgconfig/:/home/x264_install/lib/pkgconfig/ 

 echo ${PKG_CONFIG_PATH}          可以看到输出  

 然后运行以下命令

./configure  --prefix=/home/ffmpeg_install/ --enable-gpl --enable-libx264 --enable-libx265 --disable-static --enable-shared --extra-cflags=-l/home/x264_intall/include --extra-ldflags=-L/home/x264_install/lib --extra-cflags=-l/home/x265_intall/include --extra-ldflags=-L/home/x265_install/lib
执行过后会生成MakeFile,然后执行如下

make -j8
make install

生成库文件如下

五、使用库文件 

在使用时必须将x264、x265、ffmpeg同时链接才能使用,不能只链接ffmpeg。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 09:24:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 09:24:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 09:24:04       57 阅读
  4. Python语言-面向对象

    2024-07-12 09:24:04       68 阅读

热门阅读

  1. Postman接口测试工具详解

    2024-07-12 09:24:04       26 阅读
  2. GESP C++ 三级真题(2024年3月)T2 完全平方数

    2024-07-12 09:24:04       22 阅读
  3. 【排序 - 选择排序优化版(利用堆排序)】

    2024-07-12 09:24:04       22 阅读
  4. 【贪心算法题记录】134. 加油站

    2024-07-12 09:24:04       24 阅读
  5. 超级源点/汇点(算法篇)

    2024-07-12 09:24:04       30 阅读
  6. 【MySQL】6.表的增删查改(CURD)

    2024-07-12 09:24:04       23 阅读
  7. 开源项目的机遇与挑战

    2024-07-12 09:24:04       24 阅读
  8. 从0到1搭建数据中台(2):数据中台架构

    2024-07-12 09:24:04       24 阅读
  9. 【C/C++】内存相关

    2024-07-12 09:24:04       25 阅读
  10. 【LeetCode 0169】【摩尔投票算法】主元素

    2024-07-12 09:24:04       24 阅读
  11. 每日一道算法题 LCR 151. 彩灯装饰记录 III

    2024-07-12 09:24:04       30 阅读
  12. 【随想】社交

    2024-07-12 09:24:04       22 阅读
  13. 谷歌独立站:纯净网络空间,自由与创新的融合

    2024-07-12 09:24:04       25 阅读
  14. Centos解决服务器时间不准的问题

    2024-07-12 09:24:04       23 阅读