Windows下VScode配置FFmpeg开发环境保姆级教程

相关准备

  1. 提前在本地开发环境中配置好mingw64或者msys2开发工具集。
    在这里插入图片描述
    在这里插入图片描述

  2. 安装VScode软件。
    在这里插入图片描述

下载Windows版本的FFmpeg相关库

  1. 下载地址:https://ffmpeg.org/download.html

  2. 下载步骤:如下图。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 下载后的文件:包含了可执行文件ffmpeg、ffplay、ffprobe,头文件、库文件等。

    ├─bin
    ├─doc
    ├─include
    │  ├─libavcodec
    │  ├─libavdevice
    │  ├─libavfilter
    │  ├─libavformat
    │  ├─libavutil
    │  ├─libswresample
    │  └─libswscale
    └─lib└─pkgconfig
    

VScode配置FFmpeg步骤

  1. 创建文件夹test-ffmpeg

    mkdir test-ffmpeg
    
  2. 将ffmpeg库文件移到test-ffmpeg文件夹

    mv ffmpeg test-ffmpeg
    
  3. VScode打开test-ffmpeg文件夹
    在这里插入图片描述

  4. 配置 c_cpp_properties.json

    • 按住“ctrl+shift+p”,选择 C/C++:Edit Configurations(JSON),点开默认内容如下:
      在这里插入图片描述
      在这里插入图片描述

    • 配置c_cpp_properties.json内容,修改如下:
      在这里插入图片描述

      {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","C:/Users/yance/downloads/test-ffmpeg/ffmpeg/include"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.26100.0","compilerPath": "C:/mingw64/bin/gcc.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "windows-gcc-x64"}],"version": 4
      }
      
  5. 配置 tasks.json

    • 按住“ctrl+shift+p”,输入“tasks”,选择第一个,即默认的task。
      在这里插入图片描述

    • 配置tasks.json,修改内容如下:
      在这里插入图片描述

      {"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成ffmpeg活动文件","command": "C:/mingw64/bin/gcc.exe","args": ["-fdiagnostics-color=always","-g","${file}","-L","C:/Users/yance/downloads/test-ffmpeg/ffmpeg/lib","-I","C:/Users/yance/downloads/test-ffmpeg/ffmpeg/include","-lavcodec","-lavdevice","-lavfilter","-lavformat","-lavutil","-lswresample","-lswscale","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "编译器: C:/mingw64/bin/gcc.exe"}]
      }
      
  6. 配置 launch.json

    • 点击VScode顶部的“运行”
      在这里插入图片描述

    • 点击“添加配置”,在弹出的窗口上选择“C++(GDB/LLDB)”
      在这里插入图片描述

    • 配置launch.json,修改内容如下:
      在这里插入图片描述

      {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "c:/mingw64/bin/gdb.exe","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}]
      }
      
  7. 创建main.c文件进行测试

    • 编辑测试代码
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdint.h>
    #include <libavutil/log.h>int main()
    {av_log_set_level(AV_LOG_DEBUG);printf("hello FFmpeg!\n");av_log(NULL, AV_LOG_INFO, "hello FFmpeg!\n");return 0;
    }
    
    • 运行
    • 生成exe文件并输出结果
      在这里插入图片描述

备注

  • 可以根据需求将gcc的编译器修改成g++;
  • 可以根据需求再配置OpenCV等库文件,过程都类似。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/88397.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/88397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lecture #19 : Multi-Version Concurrency Control

CMU15445课程笔记多版本并发控制 多版本并发控制讲的是Mvcc。 即维护单个逻辑对象的多个物理版本&#xff0c; 这样当一个事务读取某个对象的时候不会阻塞其他事务写入该对象&#xff1b; 反之亦然。 但是Mvcc不保护写写冲突&#xff0c; 对于这种情况&#xff0c; 可能需要其两…

imx6ul Qt运行qml报错This plugin does not support createPlatformOpenGLContext!

imx6ul运行qml的Qt程序报错This plugin does not support createPlatformOpenGLContext!1、开发环境2、问题复现3、解决办法第一种方法第二种方法4、结论1、开发环境 主板&#xff1a;imx6ul Qt版本&#xff1a;5.9.6 文件系统&#xff1a;buildroot 问题描述&#xff1a;现需…

软考中项系统集成第 5 章:软件工程全流程考点拆解,备考逻辑清晰

备考系统集成项目管理工程师的小伙伴们&#xff0c;福利来啦&#xff01;今天开始为大家带来《系统集成项目管理工程师&#xff08;第 3 版&#xff09;》考点的思维导图&#xff0c;今天带来的是第5章。第 5 章聚焦软件工程&#xff0c;涵盖软件工程定义、软件需求、软件设计、…

ICLR 2025 | InterpGN:时间序列分类的透明革命,Shapelet+DNN双引擎驱动!

在Rensselaer理工学院、Stony Brook大学与IBM Research的合作下&#xff0c;本文聚焦于如何在时间序列分类任务中兼顾性能与可解释性。传统深度学习模型虽然准确率高&#xff0c;却常被诟病为“黑盒”&#xff0c;难以赢得如医疗等高风险领域的信任。为此&#xff0c;作者提出了…

使用ENO将您的JSON对象生成HTML显示

ENO 是简单易用&#xff0c;性能卓越&#xff0c;自由灵活开源的 WEB 前端组件&#xff1b;实现 JSON 与 HTML 互操作的 JavaScript 函数库。没有任何其它依赖&#xff0c;足够轻量。 WEBPack NPM 工程安装。 npm install joyzl/eno 然后在JS中引用 import "joyzl/eno…

7.12 卷积 | 最小生成树 prim

lc1900.模拟比赛算出两个指定选手最早和最晚能在第几轮碰到。还是建议dfs捏模拟比赛&#xff0c;找出两个特定选手&#xff08;firstPlayer和secondPlayer&#xff09;最早和最晚相遇的轮次。1. 定义了一个“选手”结构体&#xff0c;包含两个属性a&#xff08;战斗力&#xff…

LVS-NAT模式配置

目录 1、负载调度器配置 配置IP地址 安装ipvsadm 开启路由转发功能 加载ip_vs模块 启动ipvsadm服务 配置负载分配策略 查看验证 2、web节点配置 3、测试 1、负载调度器配置 配置IP地址 增加一块网卡 cd /etc/sysconfig/network-scripts/ cp ifcfg-ens192 ifcfg-ens…

中国银联豪掷1亿采购海光C86架构服务器

近日&#xff0c;中国银联国产服务器采购大单正式敲定&#xff0c;基于海光C86架构的服务器产品中标&#xff0c;项目金额超过1亿元。接下来&#xff0c;C86服务器将用于支撑中国银联的虚拟化、大数据、人工智能、研发测试等技术场景&#xff0c;进一步提升其业务处理能力、用户…

web网页,在线%食谱推荐系统%分析系统demo,基于vscode,uniapp,vue,java,jdk,springboot,mysql数据库

经验心得两业务单,项目前端在VSCode、HBuilder环境下整合Uniapp、Vue。后端使用Java、SpringBoot和MySQL&#xff0c;使用这些技术栈咱们就可以搭建在线食谱推荐与分析功能的系统&#xff0c;技术栈虽涉及前后端及数据库跨度不小&#xff0c;但咱们拆分模块去开发它难度就会变小…

MCP架构:AI时代的标准化上下文交互协议

本文深入解析Model Context Protocol&#xff08;MCP&#xff09;架构的创新设计&#xff0c;这是一种由Anthropic提出的标准化协议&#xff0c;旨在解决大型语言模型&#xff08;LLM&#xff09;与外部工具和数据源交互的碎片化问题。MCP采用客户端-服务器架构&#xff0c;通过…

机器学习数据集加载全攻略:从本地到网络

目录 一、加载内置数据集 1.1 Iris鸢尾花数据集 1.2 其他常用内置数据集 二、加载网络数据集 2.1 20 Newsgroups数据集 三、加载本地数据集 3.1 使用pandas加载CSV文件 3.2 处理常见问题 四、数据加载最佳实践 五、总结 在机器学习项目中&#xff0c;数据的加载是第一…

【操作系统】进程(二)内存管理、通信

JavaEE—进程(二)内存管理、通信 一、内存管理 1.映射访问 2.独立分布 防崩溃 二、通信 1.独立性保障 2.方式 2.1管道 2.1.2特点 2.1.2.1进程条件 2.1.2.2方向 2.1.2.3同步性 2.1.2.4性能 2.2消息队列 2.2.1特点 2.2.1.1方向 2.2.1.2同步性 2.2.1.3性能 2.3…

windows 装了 python2 和 python3 如何切换默认版本

现在执行 python --version 是Python 3.11.3怎么让 python 默认是 python2&#xff0c;而 python3 --version 是执行 pyhon3 呢cmd 执行 where pythonC:\Users\huyun\AppData\Local\Programs\Python\Python311-32\python.exe C:\Users\huyun\AppData\Local\Microsoft\WindowsAp…

二次封装element ui pagination组件

vue2中二次封装element ui pagination组件 html部分 <template><div class"table-pagination"><el-pagination:current-page.sync"currentPage":page-sizes"pageSizes":page-size"pageSize":layout"paginationLay…

SAP学习笔记 - 开发39 - RAP开发 BTP /DMO 官方既存测试数据的使用

上一章讲了 RAP开发流程的具体步骤&#xff0c;建表 》建Data Model View 》建 Projection View 》建Service Definition 》 建Service Binding 》Publish 服务。 SAP学习笔记 - 开发37 - RAP开发流程的具体步骤&#xff0c; 建表&#xff0c;Data Model View&#xff0c;Proj…

SQLite - C/C++ 开发与应用详解

SQLite - C/C++ 开发与应用详解 引言 SQLite 是一个轻量级的数据库引擎,它被设计成不需要服务器进程就可以独立运行。SQLite 在 C/C++ 开发领域具有广泛的应用,由于其体积小、性能高、易于集成等优点,深受开发者的喜爱。本文将详细介绍 SQLite 在 C/C++ 开发中的应用,包括…

蔚来测开一面:HashMap从1.7开始到1.8的过程,既然都解决不了并发安全问题,为什么还要进一步解决环形链表的问题?

文章目录问题的根源&#xff1a;JDK 1.7 的设计缺陷为什么必须解决这个问题&#xff1f;1\. 故障等级完全不同 &#x1f4a3;2\. JDK 1.8 的解决方案&#xff1a;一石二鸟 &#x1f985;3\. 为“不小心”的开发者提供一层保障 &#x1f6e1;️结论这是一个非常好的问题&#xf…

AI技术正以前所未有的速度重塑职业生态与行业格局,尤其在自动化测试领域,AI驱动的测试框架通过智能化、低代码化重构传统测试流程。

AI技术正以前所未有的速度重塑职业生态与行业格局&#xff0c;尤其在自动化测试领域&#xff0c;AI驱动的测试框架通过智能化、低代码化重构传统测试流程。以下从职业影响、技术架构、行业应用及应对策略四个维度展开分析&#xff0c;结合代码示例与框架设计图解&#xff1a;一…

在 Mac 上安装 Java 和 IntelliJ IDEA(完整笔记)

目录 检查是否已安装 Java安装 Java&#xff08;JDK&#xff09;设置 JAVA_HOME 环境变量安装 IntelliJ IDEA配置 IntelliJ IDEA 使用 JDK验证和测试环境是否成功 1. 检查是否已安装 Java 打开终端&#xff08;Terminal&#xff09;&#xff0c;输入&#xff1a; java -vers…

基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层

在上篇中&#xff0c;我们已经搭建好了框架的基本雏形&#xff0c;但只是引入了页面层、用例层的思想&#xff0c;我们在实际使用中会发现&#xff0c;如果我们很多的用例需要很多前置工作&#xff0c;这些前置工作又有可能涉及到多个页面&#xff0c;那么我们在维护的时候就会…