当前位置: 首页 > news >正文

ffmpeg开发 环境配置

ffmpeg开发简图

1 下载ffmpeg开发包

https://ffmpeg.org/download.html

包含三个版本:Static、Shared以及Dev

Static   --- 包含3个应用程序:ffmpeg.exe , ffplay.exe , ffprobe.exe,体积都很大,相关的DLL已经被编译到exe里面去了。
Shared --- 除了ffmpeg.exe , ffplay.exe , ffprobe.exe之外还有一些DLL,exe体积很小,在运行时到相应的DLL中调用功能。
Dev      --- 开发者(developer)版本,里面包含了库文件xxx.lib以及头文件xxx.h,这个版本不含exe文件
 

2 配置

  1. 将dev版本文件夹中的Include和lib目录复制到所需工程项目目录下,并在工程属性中设置附加包含目录$(ProjectDir)\include和附加库目录$(ProjectDir)\lib
  2. 将share版本文件夹中bin目录下对应的所有dll复制到项目路径下。
  3. 附加依赖项填入(根据所需)
    avcodec.lib
    avdevice.lib
    avfilter.lib
    avformat.lib
    avutil.lib
    postproc.lib
    swresample.lib
    swscale.lib

  由于ffmpeg是C语言所写,include头文件时需使用extern “C”标明。

在doc/examples目录下复制metadata.c源文件到新建的"源.cpp"文件中,这是一个独立的demo,作用是打印音视频媒体文件基本信息。比如我们放一首音乐到工程目录下,

接着尝试运行该源文件,发现报错!这是因为我们的C++工程直接调用ffmpeg的C函数库,导致C函数无法解析,此时用到extern “C”进行声明即可,下面是声明方式: 

#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif

以及:

#ifdef __cplusplus 
extern "C" {
#endif /*Include ffmpeg header file*/
#include <libavformat/avformat.h> 
#include <libavcodec/avcodec.h> 
#include <libswscale/swscale.h> #include <libavutil/imgutils.h>  
#include <libavutil/opt.h>     
#include <libavutil/mathematics.h>   
#include <libavutil/samplefmt.h>//----代码区---
#ifdef __cplusplus 
}
#endif 

相关文章:

ffmpeg开发 环境配置

ffmpeg开发简图 1 下载ffmpeg开发包 https://ffmpeg.org/download.html 包含三个版本&#xff1a;Static、Shared以及Dev Static --- 包含3个应用程序&#xff1a;ffmpeg.exe , ffplay.exe , ffprobe.exe&#xff0c;体积都很大&#xff0c;相关的DLL已经被编译到exe里面去…...

C++STL——string类详解及其模拟实现

CSTL——string类 1. STL简介 STL全称standard template libaray&#xff0c;译为标准模板库 需要注意&#xff0c;STL不是C的标准库&#xff0c;而是C标准库的重要组成部分STL是一个包含众多数据结构和算法的软件框架 下面展示STL的六大组件&#xff1a; 本章&#xff0c;我…...

使用Three.js创建导航立方体

什么是导航立方体? 导航立方体是一个交互式的3D控件,它允许用户通过点击和拖动立方体的各个面来改变3D视图的方向。这是一种非常直观的方式,让用户能够轻松地在3D空间中导航。 创建导航立方体 下面是一个基本的步骤,说明如何使用Three.js创建一个导航立方体: // 创建场景…...

C++初识类和对象

前言 上一期我们介绍了一些C入门的基础知识&#xff0c;本期我们来介绍面向对象。初步认识一下面向对象和面向过程、类、以及封装&#xff01; 本期内容介绍 面向过程和面向对象 类的引入 类的定义 类的访问限定符和封装 类的作用域 类的实例化 类对象模型 this指针 一、面向…...

MYSQL where 子句

文章目录 前言MySQL where 子句语法 从命令提示符中读取数据使用PHP脚本读取数据后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;Mysql &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力…...

系列十六、Spring IOC容器的扩展点

一、概述 Spring IOC容器的扩展点是指在IOC加载的过程中&#xff0c;如何对即将要创建的bean进行扩展。 二、扩展点 2.1、BeanDefinitionRegistryPostProcessor 2.1.1、概述 BeanDefinitionRegistryPostProcessor是bean定义的后置处理器&#xff0c;在BeanDefinition加载后&a…...

eclipse项目移到idea上部署运行

1.配置web模块 另外&#xff0c;模块这里&#xff0c;也要加上Spring 2.配置Artifact &#xff08;用于tomcat&#xff09; 就是从上面配置的web模块&#xff0c;产生的工件 3.添加lib 一般是在web-inf/lib &#xff0c; 遇到的坑&#xff1a; jdk版本问题&#xff0c;这里…...

支持向量机的算法原理

支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;是机器学习领域中一种常用的分类算法&#xff0c;它基于统计学习理论和结构风险最小化原则&#xff0c;具有很强的理论基础和良好的分类性能。本文将详细介绍支持向量机的算法原理&#xff0c;并解…...

gitlab 12升级14(解决各种报错问题)

1.这里是从自己公司的源下载的rpm包&#xff0c;需要换成自己的 2.从12的最后一个版本升级到14的最后一个版本 # 停服务 [rootdocker test]# gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status# 进入…...

给element plus中动态form-item增加校验的可行方法

element plus中的form组件自带校验机制。在常规使用场景中&#xff0c;表单项是固定的、明确的&#xff0c;且数量不会太多。校验规则的使用也如下&#xff1a; <template><div class"edit-page"><el-form :model"formModel" ref"for…...

C++学习之值传递

c/c中存在三种传值方式&#xff0c;在局部函数中&#xff0c;对这三种传值方式传入的参数进行修改&#xff0c;会得到不同的结果。具体见下例&#xff1a; #include <stdlib.h> #include <stdio.h>static int dummny 10000;// 传值(传过来的是原始值的副本&#…...

网络视频播放卡顿原因分析

一、问题描述 某项目通过拉摄像机rtsp流转rtmp/http-flv/ws-flv的方案&#xff0c;使用户可以在网页中观看摄像机的视频画面。在 观看视频时偶发出现卡顿现象。 二、卡顿现象分析和解决 此问题涉及的原因较多&#xff0c;所以得考虑各环节的问题可能性&#xff0c;并根据现场实…...

Android 相机库CameraView源码解析 (二) : 拍照

1. 前言 这段时间&#xff0c;在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位&#xff0c;在项目前期&#xff0c;的确为我们节省了不少时间。 但随着项目持续深入&#xff0c;对于CameraView的使用进入深水区&#xff0c;逐…...

计算机缺少d3dx9_43.dll怎么办?5个方法快速修复d3dx9_43.dll文件

在计算机使用过程中&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“d3dx9_43.dll丢失”。这个问题可能会影响到我们的游戏体验或者软件运行。为了解决这个问题&#xff0c;我查阅了一些资料并尝试了多种方法。在这里&#xff0c;我想分享一下我对d3dx9_43.d…...

2023亚太杯数学建模C题思路分析 - 我国新能源电动汽车的发展趋势

1 赛题 问题C 我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源( 非常规汽车燃料指汽油、柴油以外的燃料&#xff09;&#xff0c;将先进技术进行汽车动力控制和驱动相结 合的汽车。新能源汽车主要包括四种类型&#x…...

c语言新龟兔赛跑

以下是一个使用C语言编写的新的龟兔赛跑游戏&#xff1a; #include <stdio.h>#include <stdlib.h>#include <time.h>int main() { int distance, turtle_speed, rabbit_speed, turtle_time, rabbit_time, rabbit_lead; srand(time(NULL)); // 随机数种…...

Linux驱动开发——网络设备驱动(理论篇)

目录 一、前言 二、网络层次结构 三、网络设备驱动核心数据结构和函数 一、前言 网络设备驱动是 Linux 的第三大类驱动&#xff0c;也是我们学习的最后一类 Linux 驱动。这里我们首先简单学习一下网络协议层次结构&#xff0c;然后简单讨论 Linux 内核中网络实现的层次结构。…...

simulink仿真

1&#xff09;系统问题 连续系统&#xff0c;离散系统&#xff08;采样周期问题&#xff09; 系统分析问题 2&#xff09;求解器问题 变步长&#xff0c;定步长&#xff0c;步长时间与采样周期问题、 3&#xff09;积分器问题 连续积分&#xff0c;离散积分问题&#xff…...

PC端页面进去先出现加载效果

自定义指令v-loading&#xff0c;只需要绑定Boolean即可 v-loading“loading” <el-table :data"list" border style"width: 100%" v-loading"loading"><el-table-column align"center" label"序号" width"5…...

磁盘清理在哪里?学会这4个方法,快速清理内存!

“在使用电脑的过程中&#xff0c;我可能经常会保存一些文件到电脑上&#xff0c;这也导致电脑经常出现内存不足的情况。我想问问磁盘清理在哪里呀&#xff1f;我应该如何打开呢&#xff1f;” 随着使用电脑的时间增长&#xff0c;用户可能经常会遇到磁盘空间不足的情况&#x…...

DMA技术解析:提升嵌入式系统性能的关键

1. DMA技术概述&#xff1a;解放CPU的搬运工 DMA&#xff08;Direct Memory Access&#xff09;直接存储器访问技术&#xff0c;是现代嵌入式系统中提升性能的关键设计。我第一次在STM32项目中使用DMA传输时&#xff0c;实测发现ADC采样率从500kHz提升到2.1MHz&#xff0c;CPU占…...

面试官问我‘龟兔赛跑’怎么找链表环起点,我用Floyd算法5分钟讲清楚了

面试官问我‘龟兔赛跑’怎么找链表环起点&#xff0c;我用Floyd算法5分钟讲清楚了 "链表环检测"是技术面试中的高频考点&#xff0c;而真正能让面试官眼前一亮的&#xff0c;往往不是背诵代码的能力&#xff0c;而是对算法原理的透彻理解。最近一次大厂面试中&#x…...

避坑指南:天地图加载GeoJSON绘制省市区划时,你可能遇到的3个关键问题与解决方案

天地图加载GeoJSON绘制行政区划的三大核心难题与实战解决方案 当开发者尝试在天地图平台上叠加GeoJSON数据绘制行政区划时&#xff0c;往往会遇到一些意料之外的"坑"。这些问题不仅影响开发效率&#xff0c;更可能导致最终呈现效果与预期相差甚远。本文将聚焦三个最常…...

零基础玩转OpenClaw:Qwen2.5-VL-7B多模态模型入门指南

零基础玩转OpenClaw&#xff1a;Qwen2.5-VL-7B多模态模型入门指南 1. 为什么选择OpenClawQwen2.5-VL组合 去年夏天&#xff0c;当我第一次看到同事用自然语言指令让AI自动整理会议纪要时&#xff0c;内心受到了巨大冲击。经过两周的折腾&#xff0c;我终于在自己的MacBook上搭…...

快速了解智能体

1.了解智能体 这个时代&#xff0c;AI开始已经深入到我们生活中了&#xff0c;智能体的概念也慢慢出现在我们的视野中了。这两个概念并不完全一样。AI 是模拟人类智能的技术领域与能力集合&#xff0c;智能体是依托 AI 实现自主感知、决策、 行动的目标驱动实体&#xff0c;后者…...

机械臂+强化学习

机械臂 经典机械臂控制方法 运动学 动力学 基于...

1705.0亿元!企业互联网解决方案市场扩容,为产业升级筑牢数字底座

在数字化浪潮席卷全球的当下&#xff0c;企业对高效、安全且可扩展的互联网和云资源访问需求愈发迫切。企业互联网解决方案作为企业级连接服务和托管网络功能的关键载体&#xff0c;正成为企业数字化转型的重要支撑。据恒州诚思调研统计&#xff0c;2025年全球企业互联网解决方…...

DDD难落地?就让AI干吧! - cleanddd-skills介绍秸

AI训练存储选型的演进路线 第一阶段&#xff1a;单机直连时代 早期的深度学习数据集较小&#xff0c;模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低&#xff0c;吞吐量极高&#xff0c;也就是“数据离…...

美团李树斌:餐饮评价资产最重要的不是多,而是“真实反映你是谁”

4月8日&#xff0c;美团高级副总裁李树斌在2026中国餐饮连锁峰会上表示&#xff0c;用户决策方式正在变化&#xff0c;变得更谨慎、看得更细、更信“新鲜的声音”&#xff0c;餐饮行业随之进入“信任竞争”时代&#xff0c;“真实口碑”成为长期资产。他认为&#xff0c;“口碑…...

全能图像工具ImageGlass:免费开源的图像浏览颠覆体验

全能图像工具ImageGlass&#xff1a;免费开源的图像浏览颠覆体验 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass ImageGlass是一款专为Windows用户设计的轻量级开源图像浏览…...