FFMPEG开发环境搭建

1.下载FFMPEG库和源码

http://www.ffmpeg.org/

对Static、Shared、Dev几个目录作下说明:

1. Static:此目录里面主要是几个不依赖其他dll的可执行文件ffmpeg.exe、ffplay.exe、ffprobe.exe

ffmpeg.exe —— 用于转码的应用程序

ffplay.exe —— 用于播放的应用程序

ffprobe.exe —— 用于查看文件格式的应用程序

2. Shared:动态库dll,以及依赖dll的可执行文件

 

3. Dev:包含FFMPEG头文件的include,包含静态库的lib

 

2.SDL+FFMPEG通用开发环境

1.FFMPEG配置

1.下载shared和dev两个开发包

2.在环境变量PATH中添加shared下的bin的路径。

3.项目属性-VC++目录-包含目录:添加dev下的include路径;库目录添加dev下的lib路径

FFMPEG开发环境搭建

4.链接器-输入-附加依赖项:添加

avcodec.lib

avdevice.lib

avfilter.lib

avformat.lib

avutil.lib

postproc.lib

swresample.lib

swscale.lib

FFMPEG开发环境搭建

2.SDL的配置

SDL下载地址:http://www.libsdl.org/download-2.0.php。下载Development Libraries中的SDL2-devel-2.0.8-VC.zip。

1.项目属性-VC++目录-包含目录:添加SDL下的include路径;库目录添加SDL下的lib\x64或\x86路径(根据你的工程判断)。

2.链接器-输入-附加依赖项:添加SDL2.lib 和SDL2main.lib。

 

3.对于动态链接库,可以把lib\x64或\x86添加到系统环境变量PATH中,也可以直接把SDL2.dll复制到项目生成exe文件同目录下,反正只有一个dll。

4.测试SDL配置是否正确

# include <SDL.h>

int main(int argc, char* argv)

{

    //Start SDL 

    SDL_Init(SDL_INIT_EVERYTHING);

    //Quit SDL 

    SDL_Quit();

    return 0;

    return 0;

}

对于有main的程序,由于SDL中已经定义了main,所以会发生重复定义的现象,这里可在main前加一句:

#undef main

int main(){

}

 

参考博客:

https://blog.csdn.net/yanlinembed/article/details/78926159

https://www.cnblogs.com/wangguchangqing/p/5722281.html

https://regenttsui.github.io/VS-Qt-FFmpeg-SDL.html