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

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 


http://www.kler.cn/a/152408.html

相关文章:

  • 19、串口向电脑发送数据电脑通过串口控制LED
  • 【数据结构】—AVL树(C++实现)
  • codeblocks debug
  • 亚马逊云与生成式 AI 的融合——生成式AI的应用领域
  • 彻底删除VsCode配置和安装过的插件与缓存
  • docker 安装nginx
  • 基于社区电商的Redis缓存架构-用户分享内容的分页列表缓存延迟构建以及异步通知缓存重建
  • 【代码随想录】算法训练计划37
  • centos 显卡驱动安装(chatglm2大模型安装步骤一)
  • 通过亚马逊云科技云存储服务探索云原生应用的威力
  • TCP解帧解码、并发送有效数据到FPGA
  • 百马百担c语言编程
  • 目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】YOLOV5
  • Axios.post 请求报错: 403 Forbidden missing csrf token 和 invalid csrf token
  • aspose-words 跳过证书验证jar
  • 【opencv】计算机视觉基础知识
  • 2023年亚太杯APMCM数学建模大赛A题水果采摘机器人的图像识别
  • 【Android】使用intent.putExtra()方法在启动Activity时传递数据
  • KaiwuDB 亮相中国 5G + 工业互联网大会,助力新型工业化
  • word模板导出word文件