声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章、书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚開始接触学习,如有不正确之处还请指出。

视频格式能够分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类。虽然后者在播放的稳定性和播放画面质量上可能没有前者优秀。但网络流媒体影像视频的广泛传播性使之正被广泛应用于视频点播、网络演示、远程教育、网络视频广告等等互联网信息服务领域。
注:原始的视频数据能够理解为通过摄像头等驱动获取的没有经过编码的数据,市面上usb摄像头输出格式常见的有:RGB24、YUV2、YV2(这些都是没有编码的原始数据)。MJPEG(经过编码的数据)。摄像头捕捉的数据也是能够设置的,比方Windows下用cap来设置。

视频常见格式:MPEG/MPG/DAT(曾经老是看到DAT。如今才知道这类文件竟然是视频文件)、AVI、ASF、WMV、NAVI、3GP、REAL VIDEO、MKV、FLV、F4V、RMVB、WebM.
1、MPEG/MPG/DAT
MPEG(运动图像专家组)是Motion Picture Experts Group的缩写,这类格式包含了MPEG-1。MPEG-2和MPEG-4在内的多种视频格式。MPEG-1被广泛的应用在VCD的制作和一些视频片段下载的网络应用上面。MPEG-2则是应用在DVD的制作上。

MPEG2的图像质量是MPEG1无法比拟的。

MPEG系列标准已成为国际上影响最大的多媒体技术标准。当中MPEG1和MPEG2是採用同样原理为基础的预測编码、变换编码、熵编码及运动补偿等第一代数据压缩编码技术;MPEG4(ISO/IEC 14496)则是基于第二代压缩编码技术制定的国际标准,它以视听媒体对象为基本单元。採用基于内容的压缩编码。以实现数字视音频、图形合成应用及交互式多媒体的集成。

注意:这里须要注意的是不要把MPEG-4当成 MP4。MPEG-4是编码方式,而MP4是文件的扩展名。用MPEG-4的编码方式能够编出MP4格式(扩展名)的文件。也可编出3GP、RMVB、RM等格式。一个MP4格式的文件能够由MPEG-4的编码方式编出,也可由MPEG-1、MPEG-2、H.263等编出。
2  、AVI
AVI,音频视频交错(Audio Video Interleaved)的英文缩写。

AVI格式调用方便、图像质量好。压缩标准可随意选择,是应用最广泛、也是应用时间最长的格式之中的一个。

3、ASF
ASF(Advanced Streaming format 高级流格式)。ASF是一种能够直接在网上观看视频节目的文件压缩格式。ASF使用了MPEG4的压缩算法。压缩率和图像的质量都非常不错。由于ASF是以一个能够在网上即时观看的视频“流”格式存在的,所以它的图像质量比VCD差一点点并不出奇,但比同是视频“流”格式的RAM格式要好。
4、WMV
一种独立于编码方式的在Intent上实时传播多媒体的技术标准。
5、NAVI
NAVI是一种去掉视频流特性的改良型ASF格式。

(视频格式追求的无非是压缩率和图像质量)。

6、3GP
3GP是一种3G流媒体的视频编码格式,主要是为了配合3G网络的高传输速度而开发的,也是眼下手机中最为常见的一种视频格式。眼下大部分支持视频拍摄的手机都支持3GP格式的视频播放,其特点是网速占用较少,但画质较差。

7、REAL VIDEO
REAL VIDEO(RA、RAM)格式由一開始就是定位在视频流应用方面的,也能够说是视频流技术的始创者。

它能够在用56K MODEM拨号上网的条件实现不间断的视频播放,当然,其图像质量和MPEG2、DIVX等比是不敢恭维的。

8、MKV
一种后缀为MKV的视频文件频频出如今网络上,它可在一个文件里集成多条不同类型的音轨和字幕轨。

9、FLV
FLV是FLASH VIDEO的简称,FLV流媒体格式是一种新的视频格式。因为它形成的文件极小、载入速度极快,使得网络观看视频文件成为可能。

10、F4V
作为一种更小更清晰,更利于在网络传播的格式,F4V已经逐渐代替了传统FLV,也已经被大多数主流播放器兼容播放 ,而不须要通过转换等复杂的方式。F4V是Adobe公司为了迎接高清时代而推出继FLV格式后的支持H.264的F4V流媒体格式。F4V与FLV的主要差别在于。FLV格式採用的是H263编码。而F4V则支持H.264编码的高清晰视频。码率最高可达50Mbps。

另外。非常多主流媒体站点上下载的F4V文件后缀却为FLV,这是F4V格式的还有一个特点,属正常现象。观看时可明显感觉到这样的实为F4V的FLV有明显更高的清晰度和流畅度。

11、RMVB
RMVB的前身为RM格式,它们是Real NetWorks公司所制定的音频视频压缩规范。依据不同的网络传输速率而制定出不同的压缩比率。从而实如今低速率的网络上进行影像数据实时传送和播放。具有体积小。画质也还不错的长处。RMVB的诞生,打破了原先RM格式那种平均压缩採样的方式。在保证平均压缩比的基础上,採用浮动比特率编码的方式,将较高的比特率用于复杂的动态画面(如歌舞、飞车、战争等),而在静态画面中则灵活地转为较低的採样率,从而合理地利用了比特率资源,使RMVB最大限度地压缩了影片的大小。终于拥有了近乎完美的接近于DVD品质的视听效果。
12、WebM
WebM是由Google提出的一个开放、免费的媒体文件格式。WebM影片格式事实上是以Matroka(即MKV)容器格式为基础开发的新容器格式,里面包含了VP8影片轨和Ogg Vorbis音轨。

FFmpeg基础库编程开发学习笔记——视频常见格式的更多相关文章

  1. FFmpeg基础库编程开发学习笔记——音频常见格式及字幕格式

    声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章.书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚 ...

  2. Rest API 开发 学习笔记(转)

    Rest API 开发 学习笔记 概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...

  3. 步步为营 SharePoint 开发学习笔记系列总结

    转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于 ...

  4. Kinect开发学习笔记之(一)Kinect介绍和应用

    Kinect开发学习笔记之(一)Kinect介绍和应用 zouxy09@qq.com http://blog.csdn.net/zouxy09 一.Kinect简单介绍 Kinectfor Xbox ...

  5. 转载:使用Xilinx IP核进行PCIE开发学习笔记(一)简介篇

    https://zhuanlan.zhihu.com/p/32786076 最近接触到一个项目,需要使用PCIE协议,项目要求完成一个pcie板卡,最终可以通过电脑进行通信,完成电脑发送的指令.这当中 ...

  6. 【前端】移动端Web开发学习笔记【2】 & flex布局

    上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...

  7. 【前端】移动端Web开发学习笔记【1】

    下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...

  8. 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址

    驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...

  9. android开发学习笔记000

    使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...

随机推荐

  1. .NET:如何实现 “热插拔”?

    背景 如果某个“功能”需要动态更新?这种动态更新,可能是需求驱动的,也可能是为了修改 BUG,面对这种场景,如何实现“热插拔”呢?先解释一下“热插拔”:在系统运行过程动态替换某些功能,不用重启系统进程 ...

  2. java中ant包中的org.apache.tools.zip实现压缩和解压缩

    其实apache中的ant包(请自行GOOGLE之ant.jar)中有一个更好的类,已经支持中文了,我们就不重复制造轮子了,拿来用吧,这里最主要的功能是实现了 可以指定多个文件 到同一个压缩包的功能 ...

  3. iOS开发中的 ARC

    1. weak属性(弱引用) 被weak修饰的对象叫弱引用,不算对象持有者,一个方法执行完后会导致这个对象自动释放掉,并将对象的指针设置成nil,我使用GCD延时1000ms来验证,1000ms之后, ...

  4. jQueryEasyUI创建菜单主页

    function addTab(title,path){ funcTab.tabs('add',{ title: title, fit:true, href:'${ctx}/login/forword ...

  5. Top N的MapReduce程序MapReduce for Top N items

    In this post we'll see how to count the top-n items of a dataset; we'll again use the flatland book ...

  6. JavaBean示例

    例1.通过非可视化的JavaBean,封装邮箱地址对象,通过JSP页面调用该对象来验证邮箱地址是否合法. (1)创建名称为Email的JavaBean对象,用于封装邮箱地址,关键代码如下: packa ...

  7. 附2 hystrix详述(2)- 配置

    一.hystrix在生产中的建议 1.保持timeout的默认值(1000ms),除非需要修改(其实通常会修改) 2.保持threadpool的的线程数为10个,除非需要更多 3.依赖标准的报警和监控 ...

  8. go语言进阶之为结构体类型添加方法

    1.为结构体类型添加方法 示例: package main import "fmt" type Person struct { name string //名字 sex byte ...

  9. apache 伪静态 .htaccess

    虽然网上有很多教程,但是我在这里进行简单对我用到的总结一下. 加载Rewrite模块: 在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/ ...

  10. THINKPHP URL模块大小写导致404问题

    最近我使用THINKPHP开发了一个项目在本地的集成开发环境wampserver做开发时并没有出现问题 上传到linux系统也没有出现问题,但当上传到windows平台上就出现了问题"文件4 ...