【FFmpeg】windows 使用 vs2019编译 FFmpeg - ShiftMediaProject

文章目录

    • 前言
    • 注意事项
    • 下载编译 ShiftMediaProject 项目
      • 目录结构
      • 编译流程
    • FFVS-Project-Generator
    • 技术参考


前言

FFmpeg的源码如果能够使用 vs2019单步调试,这将是一件美事,极大方便阅读和调试整个 FFmpeg项目。

其实也很简单,借助开源项目 ShiftMediaProject 就可以得到一份可以使用 vs2019调试的 FFmpeg项目。

注意事项

  1. 一定要以管理员权限启动 PowerShell 控制台窗口
  2. 执行 project_get_dependencies.bat 下载脚本如果有些库没有下载下来,可能是网络问题,需要fan墙。
  3. 需要手动创建 include 文件夹,放入 AMF ffnvcodec GL KHR 头文件,具体下载地址参考 FFmpeg\SMP\readme.txt
  4. 先安装 nasm yasm 后打开 ffmpeg_deps.sln,否则有些项目无法加载
  5. 需要修改vs项目的 调试->命令 否则 F5 无法调试

下载编译 ShiftMediaProject 项目

目录结构

- msvc (OutputDir)                (该项目默认的 VS 编译输出的目录,编译好的ffmpeg  ffplay ffprobe都在这里)
- source                      (这个是需要的上一级目录,FFmpeg源码和三十几个个依赖项目都会下载到这里)
  - FFmpeg                    (这个是 clone 到本地的项目目录)
  - ..Any other libraries source code..    (其他的三十个依赖的项目)

编译流程

参考以下步骤,拉取并编译 ShiftMediaProject 项目

# 0.管理员权限启动 PowerShell 并创建项目源码目录
mkdir source && cd source

# 1.只拉取一层提交,加快下载速度
git clone --depth=1 https://github.com/ShiftMediaProject/FFmpeg.git

# 2.下载 yasm nasm
git clone https://github.com/ShiftMediaProject/VSYASM.git
git clone https://github.com/ShiftMediaProject/VSNASM.git

# 3.分别执行nasm 和yasm安装脚本
VSNASM\install_script.bat
VSYASM\install_script.bat

# 4.进入\FFmpeg\SMP 执行 project_get_dependencies.bat 自动下载ffmepg依赖项目
project_get_dependencies.bat

# 5.打开\FFmpeg\SMP\ffmpeg_deps.sln  F7 编译整个项目

# 6. 编译完成后,打开 ffplay ffmpeg ffprobe 项目属性页
# 项目属性 -> 调试 -> 命令  修改为 $(OutDir)bin\x64\$(TargetFileName)

# 7.设置 ffplay 命令参数, F5 启动运行

FFVS-Project-Generator

这个项目可以生成自定义的 FFmpeg vs2019项目,感兴趣自行前往 Git 主页查看 https://github.com/ShiftMediaProject/FFVS-Project-Generator


技术参考

  1. FFmpeg在VS2017下的编译:https://www.cnblogs.com/YZFHKMS-X/p/13601126.html
  2. 使用 VS2015 编译并调试 ffmpeg:https://www.cnblogs.com/BensonLaur/p/10989115.html
  3. ShiftMediaProject Git 地址:https://github.com/ShiftMediaProject/FFmpeg
  4. ShiftMediaProject 主页:https://shiftmediaproject.github.io/

你可能感兴趣的:(FFmpeg,音视频,ffmpeg,visual,studio,github)