外贸网站建设服务器,大地保险网站,网站大图怎么做更吸引客户,聊城企业网站建设公司1 FFmpeg简介
FFmpeg#xff1a;FFmpeg是一套可以用来记录、转换数字音频、视频#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。项目的名称来自MPEG视频编码标准#xff0c;前面的FF代表…1 FFmpeg简介
FFmpegFFmpeg是一套可以用来记录、转换数字音频、视频并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。项目的名称来自MPEG视频编码标准前面的FF代表Fast Forward。——百度百科
2 FFmpeg下载及安装
2.1 下载
FFmpeg官网下载页面https://ffmpeg.org/download.html。
如果对使用或平台等有特殊要求可以下载源码自己编译。 如果只是通常使用官网已提供了一些编译好的库可以直接用以上页面鼠标指向Windows图标然后选择链接进入我一般是进入Windows builds by BtbN进入后可以看到很多版本的库目前最新版本是6.0我选择下载的是ffmpeg-master-latest-win64-gpl-shared.zip也可以选择下载早期版本的库。
2.2 安装
这个包里包含了FFmpeg 64位版本的bin、include、lib文件可以用来进行64位应用程序开发下载后解压到适合的地方例如我直接解压到F:\。
为了方便使用把解压后的bin目录添加进系统的Path变量里。
3 FFmpeg编译器开发环境设置
3.1 VS系列编译器
如果使用VS2015、VS2017等微软系列编译器在要加入FFmpeg的工程的属性页里 首先设置C/C±常规-附加包含目录把FFmpeg的include目录添加进去 第二设置链接器-常规-附加库目录把FFmpeg的lib目录添加进去 第三在链接器-输入-附加依赖项中添加要用到的FFmpeg的lib这个一般看你需要用到什么函数如果不确定可以至少添加以下几个
avcodec.lib
avformat.lib
avutil.lib
swscale.lib
avfilter.lib
avdevice.lib
postproc.lib
swresample.lib3.2 Qt系列编译器
如果使用的是qt编译器直接在项目的pro文件中添加同样lib要添加哪些看具体用到哪些函数以下这些一般功能都包含了
INCLUDEPATH F:/ffmpeg-master-latest-win64-gpl-shared/include
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/avcodec.lib
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/avformat.lib
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/avutil.lib
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/swscale.lib
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/avfilter.lib
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/avdevice.lib
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/postproc.lib
LIBS F:/ffmpeg-master-latest-win64-gpl-shared/lib/swresample.lib4 代码中的include
代码包含相应FFmpeg头文件时要注意一点由于目前大多数都使用C来编写代码而FFmpeg库是用C编写的所以在CPP文件中要用C兼容方法包含
#ifdef __cplusplus
extern C
{
#endif
#include libavformat/avformat.h
#include libavcodec/avcodec.h
#include libswscale/swscale.h
#include libavutil/imgutils.h
#include libavutil/pixfmt.h
#ifdef __cplusplus
}
#endif否则会出现编译通过但链接时出错明明添加了FFmpeg的lib库却依然提示“无法解析的外部符号”的链接错误。