本文转载自:http://blog.csdn.net/spaceyqy/article/details/43115391

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

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复制到项目路径下,如下图所示:
3.测试
在doc/examples目录下复制metadata.c源文件到新建的"源.cpp"文件中,这是一个独立的demo,作用是打印音视频媒体文件基本信息。比如我们放一首音乐到工程目录下,
接着尝试运行该源文件,发现报错!这是因为我们的C++工程直接调用ffmpeg的C函数库,导致C函数无法解析,此时用到extern “C”进行声明即可,下面是声明方式:
  1. #ifndef INT64_C
  2. #define INT64_C(c) (c ## LL)
  3. #define UINT64_C(c) (c ## ULL)
  4. #endif

以及

  1. #ifdef __cplusplus
  2. extern "C" {
  3. #endif
  4. /*Include ffmpeg header file*/
  5. #include <libavformat/avformat.h>
  6. #include <libavcodec/avcodec.h>
  7. #include <libswscale/swscale.h>
  8. #include <libavutil/imgutils.h>
  9. #include <libavutil/opt.h>
  10. #include <libavutil/mathematics.h>
  11. #include <libavutil/samplefmt.h>
  12. //----代码区---
  13. #ifdef __cplusplus
  14. }
  15. #endif

将刚刚的那个mp3文件输入工程项目中试试看能否运行,

如果能运行说明基本配置完成,后续还有一些东西需要配置,主要是针对用到的uint8_t、int64_t等数据类型。
 
4.如何使用static版本
4.1 配置与运行
配置系统环境path环境变量,加入ffmpeg.exe所在目录如我的:
然后可以在命令符窗口直接调用ffmpeg.exe
 
4.2 ffmpeg.exe的使用
一个简单的转码命令可以这样写:
  1. ffmpeg -i input.avi -b:v 640k output.ts
详细的使用说明(英文):http://ffmpeg.org/ffmpeg.html
4.3 ffplay.exe
ffplay是用于播放的应用程序。一个简单的播放命令可以这样写:
  1. ffplay test.avi

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

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

vs2013+ffmpeg开发环境搭建【转】的更多相关文章

  1. VS2013+ffmpeg开发环境搭建

    VS2013+ffmpeg开发环境搭建 转 https://blog.csdn.net/u014253332/article/details/86657868 一.准备ffmpeg相对应开发dll.i ...

  2. VS2013+ffmpeg开发环境搭建-->【转】

    本文转载自:http://blog.csdn.net/qq_28425595/article/details/51488869 版权声明:本文为博主原创文章,未经博主允许不得转载. 今天整理资料时,发 ...

  3. ffmpeg开发环境搭建--(linux)

    1.     下载源码: http://ffmpeg.org/download.html 2.     解压:tar –xvf ffmpeg-3.2.1.tar.bz2 3.     配置 Eg:./ ...

  4. VS2013 FFmpeg开发环境配置

    1.下载ffmpeg包(dll.include.lib)   https://ffmpeg.zeranoe.com/builds/         有3个版本:Static.Shared和Dev St ...

  5. FFmpeg 开发环境搭建及第一个程序 Hello FFmpeg 编写

    1. FFmpeg 的安装 ./configure make make install 默认会将 FFmpeg 安装至 /usr/local 目录下(可通过 configure 使用 "-p ...

  6. windows环境下搭建ffmpeg开发环境

           ffmpeg是一个开源.跨平台的程序库,能够使用在windows.linux等平台下,本文将简单解说windows环境下ffmpeg开发环境搭建过程,本人使用的操作系统为windows ...

  7. windows 下QT5.5+vs2013开发环境搭建

    开发环境搭建: 1.下载QT,下载的网址如下: http://download.qt.io/official_releases/vsaddin/ http://download.qt.io/offic ...

  8. FFmpeg开发笔记(三):ffmpeg介绍、windows编译以及开发环境搭建

    前言   本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇使用源码进行编译,版本就使用3.4.8.   FFmpeg简介   FFmpeg是领先的多媒体框架,能够解码 ...

  9. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

随机推荐

  1. 修改Switch 的颜色

    1:效果图 2:布局 <Switch android:id="@+id/switch_bg" style="@style/switchStyle" and ...

  2. 2星|《工业X.0》:物联网的资料汇编

    工业X.0:实现工业领域数字价值 看完比较失望,没有看到新的观点想法.基本算是物联网的资料汇编.总体评价2星. 以下是书中一些内容的摘抄: 1:例如,埃森哲为其员工开发了一个用例,用增强现实技术解决实 ...

  3. VR: AR和VR演进哲学

    Facebook 20亿美元(4亿美元+16亿美元股票换购方式)收购虚拟现实厂商Oculus 引爆AR产业,索尼不温不火逐步演进的头盔项目也该加速了.最近Oculus rift发布了商业版本:Ocul ...

  4. sqlitManager

    @interface sqlitManager : NSObject +(instancetype)sharedSqlitManager; -(void)createDB; -(void)create ...

  5. 简单servlet调用dao层完整步骤

    导入包lib(文件名称) 目录结构:web下:views.web-inf.index.jsp views下各种jsp文件和js(里面放封装好的jquery包) js下:jquery包(js文件后缀) ...

  6. Nginx.conf介绍

    在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等worker_process ...

  7. 【转载】使用IntelliJ IDEA提示找不到struts-default文件

    创建strus,参考文如下: https://blog.csdn.net/u010358168/article/details/79769137 使用IntelliJ IDEA创建struts2工程时 ...

  8. mysql1064问题完美解决

    1.mysql报错code代表具体意思 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致 ...

  9. 【剑指Offer】55、链表中环的入口结点

      题目描述:   给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null.   解题思路:   本题是一个比较典型的链表题目,难度适中.首先,对于大多人来说,看到这道题是比较开心的 ...

  10. 01-Linux命令基础-第01天(命令基础,软件安装与卸载、磁盘管理)

    01-   Linux初步 最早一直是单道程序设计模型的操作系统 69年贝尔实验室决定开发多道程序设计模型的操作系统 Multics计划 (失败了) x86 IA(Intel Architecture ...