博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几个开源的视频编解码器介绍
阅读量:7827 次
发布时间:2019-07-04

本文共 1937 字,大约阅读时间需要 6 分钟。

一、ffmpeg

    ffmpeg属于GPL或者LGPL,确切属于哪一种,要根据编译选项,因为它里面的库有些属于GPL的有些属于LGPL的,你编译的时候打开或者关闭这些库的选项,就决定了它属于哪一种。

ffmpeg项目由以下几部分组成:
ffmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件.
ffserver 基于HTTP(RTSP正在开发中)用于实时广播的多媒体服务器.也支持时间平移
ffplay 用 SDL和FFmpeg库开发的一个简单的媒体播放器
libavcodec 一个包含了所有FFmpeg音视频编解码器的库.为了保证最优性能和高可复用性,大多数编解码器从头开发的.
libavformat 一个包含了所有的普通音视格式的解析器和产生器的库.
 

二、Xvid

     Xvid(旧称为XviD)是一个开放源代码的MPEG-4视频编解码器,它是基于OpenDivX而编写的。官方网站:

 

三、X264

    X264是一种免费的、具有更优秀算法的符合H.264/MPEG-4 AVC视频压缩编码标准格式的编码库。x264压缩出的视频文件在相同质量下要比xvid压缩出的文件要小,或者也可以说,在相同体积下比xvid压缩出的文件质量要好。它符合GPL(General Public License,是一份GNU通用公共授权)许可证。X264属于videolan开源工程的一部分。

  采用CAVLC/CABAC多种算法编码

  内置所有macroblock格式(16x16, 8x8, and 4x4 )
  Inter P:所有的分割块(从16x16到4x4 )
  Inter B:分割块从16x16到8x8
  码率控制:恒定的分层编制,单次或多次的ABR压制,可选的VBV压制
  场景剪切侦测
  支持B-frame
  能够任意编制B-frame命令行
  无损模式
  8x8和4x4的格式能够进行翻转或旋转
  自定义精确的矩阵模板
  可在多个CPU平行编码
  隔行扫描

 

    X264只提供编码,不提供解码。 解码部分需要FFMPEG完成;XVID有编解码部分,其中解码亦可以利用FFMPEG中的MPEG4完成解码。

 

四、ffdshow

    ffdshow是对一些codec(ffmpeg, xvid, and other)的封装,封装成了DirectShow和VFW的标准组件。该库(软件)只能在windows平台运行,是属于GPL

比如对于xvid来讲,ffdshow是可以选择具体使用那个codec的,ffmpeg(libavcodec) or xvid。那么封装有没有额外的成本哪?有,但对大部分应用来讲,可以忽略不计。就如c++和c。

vfw和dshow里的CODEC分别是通过fourcc码和guid机制寻找的,可以在系统注册codec后调用,比自带编解码库形式更加统一,便于使用。此外,vfw和dshow是代表了两个微软不同时期的音视频处理封装库,里面包含了音视频驱动,音视频处理的一整套方案。

    DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM的流媒体处理的开发包,与DirectX开发包一起发布。目前,DirectX最新版本为9.0。 DirectShow为多媒体流的捕捉和回放提供了强有力的支持。运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据, 并且进行相应的后期处理乃至存储到文件中。这样使在多媒体数据库管理系统(MDBMS)中多媒体数据的存取变得更加方便。DirectShow是微软公司 提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。它广泛地支持各种媒体格 式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒体数据的回放变得轻而易举。另外,DirectShow还集成了DirectX 其它部分(比如DirectDraw、DirectSound)的技术,直接支持DVD的播放,视频的非线性编辑,以及与数字摄像机的数据交换。

    vfw(Video For Windows)

 

五、CoreAVC

     CoreCodec的CoreAVC高清H.264视频解码器是基于已经被用于AVCHD、蓝光光盘和HD-DVD中的MPEG-4 Part 10标准构建的。H.264是下一代的视频编码标准,而CoreAVC?是目前公认世界上最快的H.264软解码器。

转载地址:http://gqrhq.baihongyu.com/

你可能感兴趣的文章
iOS Video(视频)
查看>>
Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
查看>>
C#与C++的发展历程第三 - C#5.0异步编程巅峰
查看>>
React-Native windows环境搭建记录
查看>>
用iPhone一秒拍摄3D照片,Facebook这项技术厉害了
查看>>
HTML标记语言——表格的基本结构
查看>>
数据中心机房UPS供电系统的全新安全及节能技术设计
查看>>
windows 7 的防火墙设置
查看>>
11.python并发入门(part10 多进程之间实现通信,以及进程之间的数据共享)
查看>>
金蝶KIS专业版“登录时出现问题,请重新输入”终极解决全过程
查看>>
UDP15000端口引起的路由器丢包
查看>>
linux如何使用find命令查找文件
查看>>
LNMP_nginx安装_3
查看>>
apache代理多个tomcat实例
查看>>
Remository3.52简体中文语言包
查看>>
DSL技术分析
查看>>
2015年最新数据库流行排行榜
查看>>
有趣的JavaScript数组
查看>>
3.3. 生成目录深度
查看>>
Linux 动态链接库(.so)的使用
查看>>