Windows FFmpeg 开发环境搭建

FFmpeg命令行环境搭建

  1. 下载编译好的ffmpeg
    在这里插入图片描述
    在搭建命令行环境时,下载ffmpeg-master-latest-win64-gpl.zip,将其解压后bin文件夹下得到3个可执行文件。在这里插入图片描述
    拷⻉可执⾏⽂件到C:\Windows(系统可执行文件搜索路径),在cmd中输入ffmpeg -version进行检查。
    在这里插入图片描述
  2. 使用FFmpeg官方编译的库(也可以)
  • 使用静态库版本
    在这里插入图片描述
  • 使用动态库版本
    在这里插入图片描述
    ffmpeg-master-latest-win64-gpl-shared.zip版本运行时链接动态库使用,将可执行文件放到C:\Windows(系统可执行文件搜索路径),并将动态库拷贝到C:\Windows\SysWOW64(注:(WoW64 (Windows On Windows64 )是⼀个Windows操作系统的⼦系统,被设计⽤来处理许多在32-bit Windows和64-bit Windows之间的不同的问题,使得可以在64-bit Windows中运⾏32-bit程序。))
    在这里插入图片描述
    同样的,进行检查,那么这就是开发者版本。
    在这里插入图片描述

使用FFmpeg官方编译的库

在上一part中得到的shared版本(dev版本),包含开发所需要的头文件和库文件,开发时引入include并链接lib即可。
在这里插入图片描述
使用C++开发时需注意,引入头文件时,声明extern,这是由于ffmpeg对C的支持性导致的。

extern "C" {
	// your ffmpeg header file
}

Windows编译FFmpeg

之所以需要编译,是因为想要客制化FFmpeg。

1. 下载msys2

2. 安装完成之后,将安装⽬录下的msys2_shell.cmd中注释掉的 rem set

MSYS2_PATH_TYPE=inherit取消(rem 为注释符号,去掉rem即可),这是为了将vs的环境继承给MSYS2。

3. 修改pacman 镜像源并安装依赖

  1. 修改pacman 镜像源
    进入msys2安装目录
  • 编辑 /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. 安装依赖
    我选择的是mingw64 进行编译

    在这里插入图片描述
    打开mingw64

    在这里插入图片描述
    安装依赖

    pacman -S mingw-w64-x86_64-toolchain
    pacman -S git
    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
    pacman -S mingw-w64-x86_64-SDL2
    pacman -S yasm
    

4. 下载并编译源码

相关推荐

  1. golang开发环境

    2024-07-20 04:02:05       60 阅读
  2. Dockerr开发环境

    2024-07-20 04:02:05       47 阅读
  3. TypeScript开发环境

    2024-07-20 04:02:05       36 阅读

最近更新

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

    2024-07-20 04:02:05       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 04:02:05       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 04:02:05       45 阅读
  4. Python语言-面向对象

    2024-07-20 04:02:05       55 阅读

热门阅读

  1. 参考网站总结

    2024-07-20 04:02:05       21 阅读
  2. Spring注解开发

    2024-07-20 04:02:05       20 阅读
  3. C++ 数据结构

    2024-07-20 04:02:05       18 阅读
  4. PYQT按键长按机制

    2024-07-20 04:02:05       16 阅读
  5. godot使用ws

    2024-07-20 04:02:05       19 阅读
  6. mysql(四)

    2024-07-20 04:02:05       16 阅读
  7. Kubernetes Service 之 LoadBalancer

    2024-07-20 04:02:05       19 阅读
  8. 第五节 LLaVA模型lora推理模型解读(下篇)

    2024-07-20 04:02:05       17 阅读
  9. element ui 怎么调整table的行高

    2024-07-20 04:02:05       21 阅读
  10. vscode使用技巧及问题 VSCode/bugs/如何给VSCode降级

    2024-07-20 04:02:05       17 阅读
  11. python selenium4 EdgeDriver动态页面爬取

    2024-07-20 04:02:05       23 阅读