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版本文件夹中的Includelib目录复制到所需工程项目目录下,并在工程属性设置附加包含目录$(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&gt; 
#include <libswscale/swscale.h&gt; 
 
#include <libavutil/imgutils.h&gt;  
#include <libavutil/opt.h&gt;     
#include <libavutil/mathematics.h&gt;   
#include <libavutil/samplefmt.h&gt;
	//----代码区---
#ifdef __cplusplus 
}
#endif 

原文地址:https://blog.csdn.net/lvwenshuai/article/details/134647334

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_41084.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注