首先,你得有一个基于FFmpeg和SDL的播放器,这个不用自己写,网上有开源代码http://blog.csdn.net/leixiaohua1020/article/details/38868499
然后,你得有在windows下的FFmpeg以及SDL的头文件和库文件,上面给的这个链接中,博主已经把所有的头文件和库文件都给出来了。
一点题外话:其实FFmpeg的头文件和库文件不需要自己编译,FFmpeg的官网上https://ffmpeg.org/download.html就有已经编译好的头文件和库文件都给出来了,比如你想要windows下编译出来的头文件和库文件,就点windows的那个图标,如下图咯,然后点那个超链接,对于你需要下载什么样的文件,网页上都有指示,这就不用我多说了。但是如果对编译过程有兴趣的也可以自己研究一下。官网上有教程http://ffmpeg.org/platform.html#toc-Native-Windows-compilation-using-MinGW-or-MinGW_002dw64这里也有一个简洁明了的教程http://www.cnblogs.com/zzugyl/p/3186170.html,可以将二者结合起来看。
再然后,在QT的工程文件.pro里面添加头文件和库文件的路径。关于添加库文件的方法,网上有很多种格式,貌似都可以,反正条条大路通罗马。
INCLUDEPATH += E:/ffmpeg/include/libavcodec \
E:/ffmpeg/include/libavdevice \
E:/ffmpeg/include/libavfilter \
E:/ffmpeg/include/libavformat \
E:/ffmpeg/include/libavutil \
E:/ffmpeg/include/libpostproc \
E:/ffmpeg/include/libswresample \
E:/ffmpeg/include/libswscale \
E:/ffmpeg/include/SDL2
LIBS += E:/ffmpeg/lib/avcodec.lib
LIBS += E:/ffmpeg/lib/avdevice.lib
LIBS += E:/ffmpeg/lib/avfilter.lib
LIBS += E:/ffmpeg/lib/avformat.lib
LIBS += E:/ffmpeg/lib/avutil.lib
LIBS += E:/ffmpeg/lib/postproc.lib
LIBS += E:/ffmpeg/lib/swresample.lib
LIBS += E:/ffmpeg/lib/swscale.lib
LIBS += E:/ffmpeg/lib/SDL2.lib
LIBS += E:/ffmpeg/lib/SDL2main.lib重要:如果你只做到这一步就去运行你的工程,程序会异常退出,错误代码-1073741515,调试的时候弹窗提示during startup program exited with code 0xc0000135。这是因为程序中应该是调用了非Qt自带的动态链接库(FFmpeg和SDL库),而qt creator没有找到这个些库,这时候就需要将程序中调用的动态连接库复制到工程的编译目录。(详细分析错误代码-1073741515的 原博链接)简单粗暴地说,就是将那些.dll文件复制到.exe文件所在的目录中。
最后,没有最后~做完上面这一步程序就可以运行了。至于调用这个后台程序的QT界面怎么写以及如何将第一个链接里面提供的那份开源代码加到QT中,就不是本文的重点了。其实本文也并没有哪里看起来像重点。