vs2013+ffmpeg开发环境搭建【转】
  DajTsL4JRDv5 2023年11月02日 42 0


每当看到配环境,我就泪流满面,好吧,闲话不多说,进入正题。

1.去官方下载ffmpeg  可参见:http://ffmpeg.zeranoe.com/builds/  

包含三个版本: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版本与share版本都下下来解压,dev版本文件夹中的Include和lib目录整个儿复制到VS项目目录下,并在工程属性中设置附加包含目录:$(ProjectDir)\include和附加库目录:$(ProjectDir)\lib。

    接着将share版本文件夹中bin目录下对应的所有dll复制到项目路径下,如下图所示:

vs2013+ffmpeg开发环境搭建【转】_#include

3.测试

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


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

​[c​pp] view plain copy

 

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

[cpp​] view plain​ copy

 

#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


如果能运行说明基本配置完成,后续还有一些东西需要配置,主要是针对用到的uint8_t、int64_t等数据类型。

 

4.如何使用static版本

4.1 配置与运行

配置系统环境path环境变量,加入ffmpeg.exe所在目录如我的:


然后可以在命令符窗口直接调用ffmpeg.exe

 

4.2 ffmpeg.exe的使用

一个简单的转码命令可以这样写:

[cpp] view plain copy

 

  1. ffmpeg -i input.avi -b:v 640k output.ts

详情参考ffmpeg参数中文详细解释

详细的使用说明(英文):​​http://ffmpeg.org/ffmpeg.html​

4.3 ffplay.exe

ffplay是用于播放的应用程序。一个简单的播放命令可以这样写:

[cpp] view plain copy

 

  1. ffplay test.avi

具体使用方法参考 : ffplay的快捷键以及选项​详细的使用说明(英文):​​http://ffmpeg.org/ffplay.html​


4.4 ffprobe.exe

ffprobe是用于查看文件格式的应用程序,详细的使用说明(英文):​​http://ffmpeg.org/ffprobe.html​











【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  HE3leaVn7jMN   2023年11月24日   29   0   0 Timei++#include
  HE3leaVn7jMN   2023年11月26日   29   0   0 i++#include
DajTsL4JRDv5