ffmpeg属于GPL或者LGPL确切属于哪一种,要根据编译选项因为它里面的库有些属于GPL的有些属于LGPL的,你编译的时候打开或者关闭这些库的选项就决定了它属于哪一种。
ffmpeg项目由以下幾部分组成:
ffmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件.
ffserver 基于HTTP(RTSP正在开发中)用于实时广播的多媒体服务器.也支持时間平移
libavcodec 一个包含了所有FFmpeg音视频编解码器的库.为了保证最优性能和高可复用性,大多数编解码器从头开发的.
libavformat 一个包含了所有的普通音视格式的解析器和产生器的库.
X264是一种免费的、具有更优秀算法的符合H.264/MPEG-4 ***C视频压缩编码标准格式的编码库x264压缩出的视频文件在相同质量下要比xvid压缩出嘚文件要小,或者也可以说在相同体积下比xvid压缩出的文件质量要好。它符合GPL(General Public License是一份GNU通用公共授权)许可证。X264属于videolan开源工程的一部分
码率控制:恒定的分层编制,单次或多次的ABR压制可选的VBV压制
能够任意编制B-frame命令行
8x8和4x4的格式能够进行翻转或旋转
自定義精确的矩阵模板
可在多个CPU平行编码
比如对于xvid来讲,ffdshow是可以选择具体使用那个codec的ffmpeg(libavcodec) or xvid。那么封装有没有额外的成本哪有,但对大部分應用来讲可以忽略不计。就如c++和c
vfw和dshow里的CODEC分别是通过fourcc码和guid机制寻找的,可以在系统注册codec后调用,比自带编解码库形式更加统一,便于使用。此外vfw和dshow是代表了两个微软不同时期的音视频处理封装库,里面包含了音视频驱动音视频处理的一整套方案。
DirectShow为多媒体流的捕捉和回放提供了强有力的支持运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据 并且进行相应的后期处理乃至存储到文件中。这样使茬多媒体数据库管理系统(MDBMS)中多媒体数据的存取变得更加方便DirectShow是微软公司 提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据并且进行相应的后期处理乃至存储到文件中。它广泛地支持各种媒体格 式包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒体数据的回放变得轻而易举另外,DirectShow还集成了DirectX 其它部分(比如DirectDraw、DirectSound)的技术直接支持DVD的播放,視频的非线性编辑以及与数字摄像机的数据交换。