FFmpeg菜鸡互啄#第2篇#配置VS开发环境

下载FFmpeg

首先是下载FFmpeg的win32库,我用的版本是2.5.2(和其他2.x.x版本应该不会有太大差别)。FFmpeg的官网上好像已经找不到旧版本的下载了,可以在我的代码地址下载2.5.2版本。

创建工程

打开Visual Studio 2013,创建一个空的控制台项目。

配置FFmpeg目录

在上面一步创建的工程目录下,创建一个FFmpeg文件夹。FFmpeg文件夹下新建inc和lib目录。把ffmpeg-2.5.2-win32-dev.7z压缩包里的include文件夹的所有内容复制到FFmpeg\inc目录下,ffmpeg-2.5.2-win32-dev.7z压缩包里的lib文件夹的所有.lib文件复制到FFmpeg\lib目录下。

在项目属性里设置输出路径..\bin。并在工程文件夹里新建一个bin文件夹,把ffmpeg-2.5.2-win32-shared.7z压缩包里的bin文件夹的所有.dll文件复制到bin目录下。

附加包含目录添加..\FFmpeg\inc(从ffmpeg-2.5.2-win32-dev.7z里复制include文件夹的路径)。

附加库目录添加..\FFmpeg\lib(从ffmpeg-2.5.2-win32-dev.7z里复制lib文件夹的路径)。

测试代码

向项目添加一个main.c源文件,并输入测试代码:

#include <stdio.h>

/*
#define __STDC_CONSTANT_MACROS
#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif
*/

extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
}

#pragma comment(lib, "avcodec.lib")
#pragma comment(lib, "avdevice.lib")
#pragma comment(lib, "avfilter.lib")
#pragma comment(lib, "avformat.lib")
#pragma comment(lib, "avutil.lib")
#pragma comment(lib, "postproc.lib")
#pragma comment(lib, "swresample.lib")
#pragma comment(lib, "swscale.lib")

int main()
{
    //初始化FFMPEG  调用了这个才能正常适用编码器和解码器
    av_register_all();
    printf("FFmpeg's version is: %d\n", avcodec_version());

    system("pause");
    return 0;
}

FFmpeg一共包含8个库: ▫ avcodec:编解码(最重要的库)。 ▫ avformat:封装格式处理。 ▫ avfilter:滤镜特效处理。 ▫ avdevice:各种设备的输入输出。 ▫ avutil:工具库(大部分库都需要这个库的支持)。 ▫ postproc:后加工。 ▫ swresample:音频采样数据格式转换。 ▫ swscale:视频像素数据格式转换

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

之前遇到过在Qt或者VS2008里要添加上面这个被注释的宏定义,但是在VS2013的话却不需要。 测试结果:

github

https://github.com/gongluck/FFmpegTest.git

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WebDeveloper

LAMP环境搭建

linux下,源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install) 过程中用到configure --...

883
来自专栏北京马哥教育

64位CentOS6安装MySQL-5.7.13-linux-glibc2.5-x86_64.tar.gz

作者:云上之山 来源:http://blog.csdn.net/nengyu/article/details/51615836 1.从官网下载 mysql-5....

3008
来自专栏跟着阿笨一起玩NET

搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法

转自http://kkworms.blog.51cto.com/540865/558477

1081
来自专栏KaliArch

Docke的WEB管理工具

Shipyard也是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)...

61013
来自专栏PhpZendo

MEAN.js 文档

请至 MongoDB 官网获取 MongoDB 手册,这对了解什么是 NoSQL 和 MongoDB 大有裨益。

641
来自专栏张善友的专栏

CentOS 7 上部署Mono 4 和Jexus 5.6

概述 在这篇文章中我们将讨论如何在CentOS 7操作系统,安装 jexus、 mono 和 配置 jexus,因此它将能够在这种环境中运行一个asp.net ...

2017
来自专栏刺客博客

更改Linux默认端口,并设置仅允许密钥登录

1735
来自专栏酷玩时刻

Centos 通过 Nginx 和 vsftpd 构建图片服务器

这篇文章主要介绍了Centos 通过 nginx 和 vsftpd 构建图片服务器, 需要的朋友可以参考下

732
来自专栏java技术学习之道

Docker入门指南

1173
来自专栏散尽浮华

haproxy反向代理环境部署(http和https代理)

操作背景: 前方有一台haproxy代理机器(115.100.120.57/192.168.1.7),后方两台realserver机器(192.168.1.15...

3895

扫码关注云+社区