socket通信基础
2014-06-30 16:48
204 查看
原:http://bbs.imp3.net/thread-609504-1-1.html
AVI是微软1992年推出用于对抗苹果Quicktime的技术,尽管国际学术界公认AVI已经属于被淘汰的技术,但是由于windows的通用性,和简单易懂的开发API,还在被广泛使用。
AVI的文件结构、分为头部, 主体和索引三部分. 主体中图像数据和声音数据是交互存放的。从尾部的索引可以索引跳到自己想放的位置。
AVI本身只是提供了这么一个框架,内部的图像数据和声音顺据格式可以是任意的编码形式。因为索引放在了文件尾部,所以在播internet流媒体时已属力不从心。很简单的例子,从网络上下载的片子,如果没有下载完成,是很难正常播放出来。
另外一个问题是AVI对高码率VBR音频文件支持不好。VBR全称是Variable BitRate,就是动态比特率,可以根据当前的需要定义不同的比特率,避免了浪费,并且提高了利用率。随之问题也就来了,因为容器里的图像和声音是分开的,所以播放时需要一个图像和声音的同步过程,如果CBR音轨的话因为码率是定值,同步不成为问题,可是VBR音轨是不断的在变换,而AVI没有时间戳去让VBR音轨和图像同步,这样就会产生图像声音不同步的问题。
后来VirtualDub提出了一种新的方法扩充了AVI对VBR音频的兼容,但是在高码率时会产生丢失数据的问题,从而导致有损音效,这一点问题到现在都没有比较完美的解决方法。并且更加令人遗憾的是,对TrueHD, DTS-HD等音效更是完全不能支持。
------------------------------
MKV封装十分新颖,而且也非常开放,它对比AVI的优势体现在以下几点:
1:可变帧率:这需要编码的配合,试想一下在回放变化比较慢(比如说静物)时以比较低的FPS来代替,可以节省不少资源。
2:错误检测以及修复:这无疑提供了纠错和容错性,在网络传输的今天尤为需要。
3:软字幕:经常看DVDrip以及HDrip的朋友了解到,字幕一般都是以其它文件形式存在,在MKV里它可以内嵌在封装里,但不会和视频混淆,也可以多字幕随意选择。这样在传输保存时比较方便。
4:流式传输:这和TS流的原因基本一致,通过时间戳来管理视频以及音频的同步问题,做到即下即看。
5:菜单:交互式的操作使得MKV更加人性化。
6:强大的兼容性:MKV最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,即使是非常封闭的RealMedia及QuickTime也被它包括进去了,堪称万能的媒体容器。
7:开放性和跨平台性:Matroska使用的是一种开放的架构,拥有众多的先进特性,并且能跨平台使用。
不过Matroska相对于以上我们介绍的缺点也是显而易见的,它没有深厚的背景可以依托,这决定了它不可能在商业领域里有所作为。不过从DVDrip里我们看到并非标准才是唯一,真正先进的技术在标准化商业化的道路上碰到很多非技术壁垒,而在网上而言,根本不存在这样那样的顾虑,所以MKV可以网上快速流行起来。
不过MKV的缺点也是显而易见的,分离器方面比较好的仅有HAALI分离器,再加上民间标准的缘故,我们很难在PC以外的地方能见到它的存在。
----------------------------------------
AVI是微软1992年推出用于对抗苹果Quicktime的技术,尽管国际学术界公认AVI已经属于被淘汰的技术,但是由于windows的通用性,和简单易懂的开发API,还在被广泛使用。
AVI的文件结构、分为头部, 主体和索引三部分. 主体中图像数据和声音数据是交互存放的。从尾部的索引可以索引跳到自己想放的位置。
AVI本身只是提供了这么一个框架,内部的图像数据和声音顺据格式可以是任意的编码形式。因为索引放在了文件尾部,所以在播internet流媒体时已属力不从心。很简单的例子,从网络上下载的片子,如果没有下载完成,是很难正常播放出来。
另外一个问题是AVI对高码率VBR音频文件支持不好。VBR全称是Variable BitRate,就是动态比特率,可以根据当前的需要定义不同的比特率,避免了浪费,并且提高了利用率。随之问题也就来了,因为容器里的图像和声音是分开的,所以播放时需要一个图像和声音的同步过程,如果CBR音轨的话因为码率是定值,同步不成为问题,可是VBR音轨是不断的在变换,而AVI没有时间戳去让VBR音轨和图像同步,这样就会产生图像声音不同步的问题。
后来VirtualDub提出了一种新的方法扩充了AVI对VBR音频的兼容,但是在高码率时会产生丢失数据的问题,从而导致有损音效,这一点问题到现在都没有比较完美的解决方法。并且更加令人遗憾的是,对TrueHD, DTS-HD等音效更是完全不能支持。
------------------------------
MKV封装十分新颖,而且也非常开放,它对比AVI的优势体现在以下几点:
1:可变帧率:这需要编码的配合,试想一下在回放变化比较慢(比如说静物)时以比较低的FPS来代替,可以节省不少资源。
2:错误检测以及修复:这无疑提供了纠错和容错性,在网络传输的今天尤为需要。
3:软字幕:经常看DVDrip以及HDrip的朋友了解到,字幕一般都是以其它文件形式存在,在MKV里它可以内嵌在封装里,但不会和视频混淆,也可以多字幕随意选择。这样在传输保存时比较方便。
4:流式传输:这和TS流的原因基本一致,通过时间戳来管理视频以及音频的同步问题,做到即下即看。
5:菜单:交互式的操作使得MKV更加人性化。
6:强大的兼容性:MKV最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,即使是非常封闭的RealMedia及QuickTime也被它包括进去了,堪称万能的媒体容器。
7:开放性和跨平台性:Matroska使用的是一种开放的架构,拥有众多的先进特性,并且能跨平台使用。
不过Matroska相对于以上我们介绍的缺点也是显而易见的,它没有深厚的背景可以依托,这决定了它不可能在商业领域里有所作为。不过从DVDrip里我们看到并非标准才是唯一,真正先进的技术在标准化商业化的道路上碰到很多非技术壁垒,而在网上而言,根本不存在这样那样的顾虑,所以MKV可以网上快速流行起来。
不过MKV的缺点也是显而易见的,分离器方面比较好的仅有HAALI分离器,再加上民间标准的缘故,我们很难在PC以外的地方能见到它的存在。
----------------------------------------
还有一个网页~~http://www.tfcc.cn/dvdrip/2007-10-10_14-27-03_8459.html |
相关文章推荐
- TCP/IP Socket 网络通信 基础
- API SOCKET基础(一) TCP建立连接并通信
- Java4Android之socket网络通信基础
- 【原创】《Linux高级程序设计》杨宗德著 - Linux Socket网络编程基础 - BSD Socket网络通信编程
- 【原创】《Linux高级程序设计》杨宗德著 - Linux Socket网络编程基础 - BSD Socket网络通信编程 分类: Linux --- 应用程序设计 2014-12-05 16:53 63人阅读 评论(0) 收藏
- Socket通信基础
- JAVA NIO(二)基础 内存管理 文件锁定 Socket服务器客户端通信
- Linux socket编程入门及客户端服务器端通信实现 – 基础篇
- socket编程基础1(大、小端,IP地址格式转换,通信主机信息获取)
- JAVA-socket通信基础(2)
- Linux基础之tcp socket 简单通信例程
- linux基础编程 链路层socket 摆脱winPcap 夸网段socket通信 可夸平台移植
- Socket网络通信理论基础搜集(TCP/IP协议栈与数据包封装+TCP与UDP的区别)
- Socket通信基础介绍及例子
- API SOCKET基础(一) TCP建立连接并通信
- [原创]网络通信基础Socket示例演练
- linux基础编程 链路层socket 摆脱winPcap 夸网段socket通信 可夸平台移植
- 网络通信Socket编程基础
- 【原创】《Linux高级程序设计》杨宗德著 - Linux Socket网络编程基础 - 网络通信基础 分类: Linux --- 应用程序设计 2014-12-03 22:46 71人阅读 评论(0) 收藏
- Socket通信基础——基于TCP的用户登录