visual studio如何开发基于ffmpeg的程序

    如何用visual studio来开发基于ffmpeg的程序呢?

    开发环境: Win10 + visual studio 2010

    首先需要下载windows版的ffmpeg的库: 下载地址  https://ffmpeg.zeranoe.com/builds/。其中Dev包含的是开发ffmpeg程序所需要的头文件和链接库,在编译时会用到;Shared包含的是运行程序时调用到的ffmpeg的动态库,在运行时用到。这两个都要下载,如下图:

visual studio如何开发基于ffmpeg的程序_第1张图片

    下载的两个包分别为ffmpeg-20180529-ea0010b-win32-dev.zip 和 ffmpeg-20180529-ea0010b-win32-shared.zip,分别解压。dev包里面包含了include目录和lib目录,这是开发ffmpeg程序需要包含的。examples目录时一些示范code,我们选择其中的decode_video来编一个简单解码程序。

一、在dev目录下,新建src目录,将examples里的decode_video.c复制到src目录;新建build目录,待会将visual studio工程保存到此目录下;新建bin目录,将编译生成的exe存到此目录,目录结构如下:

visual studio如何开发基于ffmpeg的程序_第2张图片

二、建立visual studio工程

visual studio如何开发基于ffmpeg的程序_第3张图片

visual studio如何开发基于ffmpeg的程序_第4张图片

三、添加文件,配置环境,编译

  1、在资源管理器中添加decode_video.c。

  visual studio如何开发基于ffmpeg的程序_第5张图片


  2、配置include目录和lib目录

include目录

visual studio如何开发基于ffmpeg的程序_第6张图片

lib目录

visual studio如何开发基于ffmpeg的程序_第7张图片

将lib库加入到链接选项中:

visual studio如何开发基于ffmpeg的程序_第8张图片

注意:1、在编译前,需要下载inttypes.h放到inc目录下。

          2、编译时error.h会报inline错误,在error.h的头部添加如下宏定义

#if defined(WIN32)
#define inline __inline  
#endif  

         3、链接decode_video.c时会报错,snprintf找不到标识符,在decode_video.c头部添加宏定义

#if _MSC_VER
#define snprintf _snprintf
#endif

  现在可以编译通过了。但是运行时提示缺少avcodec.dll,需要将ffmpeg-20180529-ea0010b-win32-shared.zip中的dll解压到执行文件所在目录下。

  本文所描述的可以正常编译运行的ffmpeg工程放在了github上,地址 https://github.com/ronnielige/vs_ffmpeg_dev

  

你可能感兴趣的:(ffmpeg相关,视频编码)