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

相关文章

来自专栏互联网技术栈

使用Docker(Mac)搭建 Nginx/Openresty - Kafka - kafkaManager

地址:https://store.docker.com/editions/community/docker-ce-desktop-mac

2128
来自专栏Java编程技术

常用Web框架SpringMVC及WebX级联容器原理探究

使用一个东西最好研究下他的原理,因为如果知其然那么在排查问题时候会很方便,本文则针对常用web框架SpringMVC和集团的WebX框架的容器级联关系进行探究。

1202
来自专栏乱炖

国内主机安装kubenetes1.9.0

链接:https://pan.baidu.com/s/1kjhCqh5DlcBHkqRyHOx8oQ 密码:9dma

3248
来自专栏Linux运维学习之路

Docker集群编排工具之Kubernetes(K8s)介绍、安装及使用

K8s基础原理 k8s中文社区:https://www.kubernetes.org.cn/ 简介 Kubernetes与较早的集群管理系统Mesos和YARN...

1.8K5
来自专栏KaliArch

Linux系统检查脚本

对登录一个系统,快速查看其系统信息,检查系统各项指标及参数,编写系统快速检查脚本,输出系统信息到脚本运行的logs目录下。

1534
来自专栏乐沙弥的世界

Vmware 下Oracle RAC搬家引起CRS-1006/CRS-0215/CRS-0233

   最近虚拟机下的Oracle 10g RAC搬家,搬家完毕之后,Oracle 集群resource之VIP无法正常启动,收到了CRS-0233: Resou...

1333
来自专栏沃趣科技

ASM 翻译系列第十三弹:ASM 高级知识 - Forcing the issue

原作者:Bane Radulovic 译者: 庄培培 审核: 魏兴华 DBGeeK社群联合出品 Forcing the issue ASM中有部分的...

3895
来自专栏Netkiller

《Netkiller Virtualization 手札》Docker 卷管理

本文节选择《Netkiller Virtualization 手札》Docker 卷管理 1.5. 卷管理 1.5.1. 列出卷 docker volume l...

3989
来自专栏逸鹏说道

Ubuntu18.04下VMware or VirtualBox 虚拟化的问题

This host supports Intel VT-x, but Intel VT-x is disabled. Intel VT-x might be d...

2014
来自专栏游戏杂谈

Flash Pro CS5无法跳过注册Adobe ID的问题

装了N多次卸载了N多次,就是没有上图中的那个“跳过此步骤”,找了N个注册码还是不行。按网上的说明,有两种方式可以解决这个问题:

2122

扫码关注云+社区

领取腾讯云代金券