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 配置
- 将dev版本文件夹中的Include和lib目录复制到所需工程项目目录下,并在工程属性中设置附加包含目录
$(ProjectDir)\include和附加库目录$(ProjectDir)\lib。 - 将share版本文件夹中bin目录下对应的所有dll复制到项目路径下。
- 附加依赖项填入(根据所需)
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 包含三个版本:Static、Shared以及Dev Static --- 包含3个应用程序:ffmpeg.exe , ffplay.exe , ffprobe.exe,体积都很大,相关的DLL已经被编译到exe里面去…...
C++STL——string类详解及其模拟实现
CSTL——string类 1. STL简介 STL全称standard template libaray,译为标准模板库 需要注意,STL不是C的标准库,而是C标准库的重要组成部分STL是一个包含众多数据结构和算法的软件框架 下面展示STL的六大组件: 本章,我…...
使用Three.js创建导航立方体
什么是导航立方体? 导航立方体是一个交互式的3D控件,它允许用户通过点击和拖动立方体的各个面来改变3D视图的方向。这是一种非常直观的方式,让用户能够轻松地在3D空间中导航。 创建导航立方体 下面是一个基本的步骤,说明如何使用Three.js创建一个导航立方体: // 创建场景…...
C++初识类和对象
前言 上一期我们介绍了一些C入门的基础知识,本期我们来介绍面向对象。初步认识一下面向对象和面向过程、类、以及封装! 本期内容介绍 面向过程和面向对象 类的引入 类的定义 类的访问限定符和封装 类的作用域 类的实例化 类对象模型 this指针 一、面向…...
MYSQL where 子句
文章目录 前言MySQL where 子句语法 从命令提示符中读取数据使用PHP脚本读取数据后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力…...
系列十六、Spring IOC容器的扩展点
一、概述 Spring IOC容器的扩展点是指在IOC加载的过程中,如何对即将要创建的bean进行扩展。 二、扩展点 2.1、BeanDefinitionRegistryPostProcessor 2.1.1、概述 BeanDefinitionRegistryPostProcessor是bean定义的后置处理器,在BeanDefinition加载后&a…...
eclipse项目移到idea上部署运行
1.配置web模块 另外,模块这里,也要加上Spring 2.配置Artifact (用于tomcat) 就是从上面配置的web模块,产生的工件 3.添加lib 一般是在web-inf/lib , 遇到的坑: jdk版本问题,这里…...
支持向量机的算法原理
支持向量机(Support Vector Machine,简称SVM)是机器学习领域中一种常用的分类算法,它基于统计学习理论和结构风险最小化原则,具有很强的理论基础和良好的分类性能。本文将详细介绍支持向量机的算法原理,并解…...
gitlab 12升级14(解决各种报错问题)
1.这里是从自己公司的源下载的rpm包,需要换成自己的 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组件自带校验机制。在常规使用场景中,表单项是固定的、明确的,且数量不会太多。校验规则的使用也如下: <template><div class"edit-page"><el-form :model"formModel" ref"for…...
C++学习之值传递
c/c中存在三种传值方式,在局部函数中,对这三种传值方式传入的参数进行修改,会得到不同的结果。具体见下例: #include <stdlib.h> #include <stdio.h>static int dummny 10000;// 传值(传过来的是原始值的副本&#…...
网络视频播放卡顿原因分析
一、问题描述 某项目通过拉摄像机rtsp流转rtmp/http-flv/ws-flv的方案,使用户可以在网页中观看摄像机的视频画面。在 观看视频时偶发出现卡顿现象。 二、卡顿现象分析和解决 此问题涉及的原因较多,所以得考虑各环节的问题可能性,并根据现场实…...
Android 相机库CameraView源码解析 (二) : 拍照
1. 前言 这段时间,在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位,在项目前期,的确为我们节省了不少时间。 但随着项目持续深入,对于CameraView的使用进入深水区,逐…...
计算机缺少d3dx9_43.dll怎么办?5个方法快速修复d3dx9_43.dll文件
在计算机使用过程中,我们常常会遇到一些错误提示,其中之一就是“d3dx9_43.dll丢失”。这个问题可能会影响到我们的游戏体验或者软件运行。为了解决这个问题,我查阅了一些资料并尝试了多种方法。在这里,我想分享一下我对d3dx9_43.d…...
2023亚太杯数学建模C题思路分析 - 我国新能源电动汽车的发展趋势
1 赛题 问题C 我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源( 非常规汽车燃料指汽油、柴油以外的燃料),将先进技术进行汽车动力控制和驱动相结 合的汽车。新能源汽车主要包括四种类型&#x…...
c语言新龟兔赛跑
以下是一个使用C语言编写的新的龟兔赛跑游戏: #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 的第三大类驱动,也是我们学习的最后一类 Linux 驱动。这里我们首先简单学习一下网络协议层次结构,然后简单讨论 Linux 内核中网络实现的层次结构。…...
simulink仿真
1)系统问题 连续系统,离散系统(采样周期问题) 系统分析问题 2)求解器问题 变步长,定步长,步长时间与采样周期问题、 3)积分器问题 连续积分,离散积分问题ÿ…...
PC端页面进去先出现加载效果
自定义指令v-loading,只需要绑定Boolean即可 v-loading“loading” <el-table :data"list" border style"width: 100%" v-loading"loading"><el-table-column align"center" label"序号" width"5…...
磁盘清理在哪里?学会这4个方法,快速清理内存!
“在使用电脑的过程中,我可能经常会保存一些文件到电脑上,这也导致电脑经常出现内存不足的情况。我想问问磁盘清理在哪里呀?我应该如何打开呢?” 随着使用电脑的时间增长,用户可能经常会遇到磁盘空间不足的情况&#x…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
