• msys2 + MSVC(VS2019)编译ffmpeg6.0源码


    以前使用的v1.2版,很多功能和使用方法发生了变化,需要重新编译新的ffmpeg版。 编译环境:  windows 10 , VS2019, MSYS2

    1. msys2  下载安装 MSYS2 ,  https://www.msys2.org/ 

    2. msys2 环境配置打开 msys2

    2.1 安装相关软件

    然后输入以下命令安装:

    pacman -Syu

    pacman -S base-devel

    pacman -S yasm nasm gcc

    pacman -S mingw-w64-x86_64-toolchain

    pacman -S git

    pacman -S make

    pacman -S automake

    pacman -S autoconf

    pacman -S perl

    pacman -S pkg-config

     2.2 b修改C:\msys64\msys2_shell.cmd文件,将 rem set MSYS2_PATH_TYPE=inherit 修改成 set MSYS2_PATH_TYPE=inherit

    2.3 将C:\msys64\usr\bin\link.exe文件,重命名为link.exe_back

    2.4 在C:\msys64目录下增加 msvc_build.bat文件内容为:

    call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat"

    msys2_shell.cmd -mingw64

    让msys2工具 使用vs2019 x64编译工具命令(msvc)来运行编译 ffmpeg源码。

    2.5  引入sdl2 vc库 ,为了让ffmpeg 编译出ffplay.exe项目

     2.5.1.下载sdl2  SDL2-devel-2.26.5-VC.zip    Release 2.26.5 · libsdl-org/SDL · GitHub

    2.5.2  C:\msys64\mingw64\include目录下,增加 SDL2文件夹 内容为sdl2头文件,将头文件从下载的sdl2-devel-2.26.5-VC/SDL2-2.26.5/include复制过来。

    2.5.3  C:\msys64\mingw64\lib目录下,增加SDL2文件夹内容为 SDL2-devel-2.26.5-VC.zip x64的lib文件

    2.5.4.  C:\msys64\mingw64\lib\pkgconfig目录下 增加sdl2.pc文件内容为:

    prefix=/mingw64

    exec_prefix=${prefix}

    libdir=${exec_prefix}/lib/SDL2

    includedir=${prefix}/include/SDL2

    Name: SDL2

    Description: SDL2 Description

    Version: 2.26.5

    Libs: -L${libdir} -lSDL2 -lSDL2main

    Libs.private:

    Cflags: -I${includedir}

    3. 通过git 下载ffmpeg源码。

    git clone https://git.ffmpeg.org/ffmpeg.git ffmpe

    下载的目录如下:

    接下来打开MSYS2 MINGW64进入ffmpeg源码的目录,并执行:./configure --prefix=../ffmpeg_buildout --disable-static --enable-shared --enable-version3 --disable-ffplay --enable-ffmpeg --disable-x86asm

    应该会等好几分钟,我就是这样。千万不可慌张。接下来编译,依次执行:

    make -j4

    make install -j4

    这两步终端会输出很多东西,也需要好一会,学会等待。这两步结束后, 你会发现ffmpeg同级路径会出现一个ffmpeg_builtout目录,其里面有如下目录:

    到此结束。

    参考

    原文链接:https://blog.csdn.net/qq00769539/article/details/130269463

    原文链接:https://blog.csdn.net/m0_63230155/article/details/132216971

  • 相关阅读:
    Integer超出-128——127范围的数值比较为什么要用equals
    PLSQL调整SQL字体大小
    【计网】(五)网络层首部
    js基础笔记学习57-循环嵌套2
    SSE 和 WebSocket 应用
    beego-高级查询——QueryTable,orm
    WebAssembly中simd使用调研
    大三第三周学习笔记
    临近2022年末: Android 开发者的出路在哪?转行还是进阶?
    NodeJs的模块化和包
  • 原文地址:https://blog.csdn.net/buffi/article/details/134411875