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 条评论
登录 后参与评论

相关文章

来自专栏移动开发之家

IJKPlayer编译so支持HTTPS的踩坑历程

同志,github来过没?右转不屑 ----> https://github.com/CarGuo

943
来自专栏Netkiller

vsftpd FTP服务器安装与配置

本文节选自《Netkiller Linux 手札》 3.4. vsftpd - The Very Secure FTP Daemon 3.4.1. 安装 vsf...

3374
来自专栏Hadoop实操

如何为HttpFS服务配置SSL

前面Fayson也介绍过《如何在集群外节点跨网段向HDFS写数据》和《如何使用Java代码访问HDFS》。在非Kerberos的环境中,使用HttpFS是不需要...

3966
来自专栏章鱼的慢慢技术路

VC6下OpenGL 开发环境的构建外加一个简单的二维网络棋盘绘制示例

1195
来自专栏C# 编程

使用C#创建SQLite控制台应用程序

本文属于原创,转载请注明出处,谢谢! 一、开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Fr...

2370
来自专栏从零开始学自动化测试

appium+python自动化36-android7.0连不上的问题

前言 由于最近很多android手机升级到7.0系统了,有些小伙伴的appium版本用的还是1.4版本,在运行android7.0的app自动化时候遇到无法启动...

3848
来自专栏移动端周边技术扩展

Cocoapods生成静态库(完整)

1445
来自专栏编程之旅

iOS开发——Carthage安装和使用教程

Carthage 使用于 Swift 语言编写,只支持动态框架,只支持 iOS8+的Cocoa依赖管理工具。

562
来自专栏Hadoop实操

如何使用Python Impyla客户端连接Hive和Impala

继上一章讲述如何在CDH集群安装Anaconda&搭建Python私有源后,本章节主要讲述如何使用Pyton Impyla客户端连接CDH集群的HiveServ...

6158
来自专栏Objective-C

React Native 部署开发环境

3215

扫描关注云+社区