zoukankan      html  css  js  c++  java
  • vs2013+ffmpeg开发环境搭建【转】

    本文转载自: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”进行声明即可,下面是声明方式:
    [cpp] view plain copy
     
    1. #ifndef INT64_C  
    2. #define INT64_C(c) (c ## LL)  
    3. #define UINT64_C(c) (c ## ULL)  
    4. #endif  
    以及
    [cpp] view plain copy
     
    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.   
    9. #include <libavutil/imgutils.h>    
    10. #include <libavutil/opt.h>       
    11. #include <libavutil/mathematics.h>     
    12. #include <libavutil/samplefmt.h>  
    13.     //----代码区---  
    14. #ifdef __cplusplus   
    15. }  
    16. #endif   
    将刚刚的那个mp3文件输入工程项目中试试看能否运行,
    如果能运行说明基本配置完成,后续还有一些东西需要配置,主要是针对用到的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  
    详细的使用说明(英文):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
  • 相关阅读:
    将TinyXml快速入门的接口面向对象化
    Java EE6 核心特征:Bean Validation 解析
    风花雪月(三)
    跑步破百
    在VC6中改变导入库名称的方法
    Java EE6 核心特征:Bean Validation 解析
    古哥,一路走好
    boost_1_42在VS环境下的完全编译
    总结一下__declspec(dllimport)的作用
    解决MySQL server has gone away
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/7428624.html
Copyright © 2011-2022 走看看