一、简介
FFmpeg
是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG
视频编码标准
,前面的"FF"代表"Fast Forward"。
(来源百度)
PS:有不少人不清楚“FFmpeg”应该怎么读。它读作“ef ef em peg”
FFmpeg是一款免费的开源的,能够跨平台调用的软件,可以用来记录、转换数字音视频,并能将数字音视频转化为流。除了包含目前领先的
音/视频编码库
libavcodec
之外,还包括了以下几个部分:
libavformat
:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生
成解码上下文结构和读取音视频帧等功能。
libavutil
:包含一些公共的工具函数,是ffmpeg的基础。
libswscale
:图像格式转换、视频场景比例缩放、色彩映射转换。
libpostproc
:图像后期效果处理。
…………
FFMpeg头文件及动态库的添加
把编译好的FFmpegSDK文件放到一个文件夹内,首先在工程中设置好头文件路径以及需要的库文件,在工程中的文件内包含使用的头文件,注意的是,因为FFMepg库的接口都是C函数,头文件中也没有extern“C”的声明,而Qt是C++环境,所以在使用头文件时,需要添加
extern“C”
。
二、相关学习链接
FFmpeg+Qt实现摄像头(rtsp)实时显示