http://blog.csdn.net/wcl0715/article/details/676137
目前比较流行的几种适合网络传输的视频编码有:MPEG4、H263、H264。下面简要介绍下这些编码。
(1)MPEG4:MPEG-4标准主要应用于视像电话(Video Phone),视像电子邮件(Video Email)和电子新闻(Electronic News)等,其传输速率要求较低,在4800-64000bits/sec之间,分辨率为176X144。MPEG-4利用很窄的带宽,通过帧重建技术,压缩和传输数据,以求以最少的数据获得最佳的图象质量。
(2)H263:263是国际电联ITU-T的一个标准草案,是为低码流通信而设计的。但实际上这个标准可用在很宽的码流范围,而非只用于低码流应用。H.263采用无限制的运动向量以及基于语法的算术编码,采用事先预测和与MPEG中的P-B帧一样的帧预测方法。H.263支持5种分辨率,即除了支持QCIF和CIF外,还支持SQCIF、4CIF和16CIF。
(3)H.264是ITU-T的VCEG (Video Coding Experts Group)和ISO/IEC的MPEG(Motion Picture Experts Group)联合成立的“联合视频组”(JVT:Joint Video Team)共同制定的新建议,它等同于ISO的 MPEG-4的 Part10。可以说,264是263的发展和延续,同时吸收了MPEG的一些优点。
(4)比较:和H.263、H.264比较而言,MPEG4相对简单,实现起来对系统要求也最低,但效果也最差的。对这种编码,和另外两种比起来,优势并不大,我不多讲,我主要的讲263和264。
263是种优秀的编码,它可以根据需要产生适合网络情况传输的视频流,在网络允许的条件下生成最好的视频效果。也就是说,它产生的流量是可变的,可以适应很宽的网络带宽,满足不同需要。另外,263的标准也很完备,它充分考虑了不同厂家产品的兼容性,不同厂家的产品之间互通不存在问题,因此,263也是视频产品领域个厂家所必须支持的标准之一。
从产品开发的角度讲,264和263的差别并不大:它是263的发展,于之比较,除了263的优点外,还有更高的压缩比,有更好的图象质量。这也就意味着,同样的网络和同样的流量情况下,264能够产生更好的视觉效果,从实际来看,这个效果是好很多的。
但264也是有缺点的。首先,由于264的算法更加复杂,程序实现烦琐,运行它需要更多的处理器和内存资源。在相同的系统下,可能可以跑起四路MPEG4,两路263,却不一定跑得起一路264(当然这个程序的效率有关)。因此,运行运行264对系统要求是比较高的。其次,由于264的实现更加灵活,它把一些实现留给了厂商自己去实现,虽然这样给实现带来了很多好处,但是不同产品之间互通成了很大的问题,造成了通过A公司的编码器编出的数据,必须通过A公司的解码器去解这样尴尬的事情。因此目前来说,不同产品之间通过264互通是不现实的。
分享到:
相关推荐
入门级别的离散数学课件PPT通常会涵盖以下几个核心概念: 1. **集合论**:集合是离散数学的基本元素,用来组织和分类各种数学对象。集合的定义、性质、运算(并集、交集、差集)、笛卡尔积以及幂集等都是基础内容。...
根据给定的信息,我们可以从标题、描述以及部分内容中提取到几个关键的知识点: ### C语言中的7-bit编码 #### 1. 压缩原理 在短信通信领域,为了节省空间,经常采用7-bit编码技术对ASCII码进行压缩。由于ASCII码的...
### Struts2框架详解:从入门到实践 #### 引言 Struts2是一个基于MVC设计模式的Java Web框架,它提供了丰富的功能和灵活的配置选项,使得开发者能够更高效地构建复杂的企业级Web应用。本文将深入探讨Struts2框架的...
通过这个入门级别的SSM框架模板,你可以学习如何创建这些组件,理解它们之间的协作关系,以及如何配置和集成这些框架。同时,这个模板可能还包含了示例代码,帮助你快速上手实践,例如简单的CRUD操作(创建、读取、...
在命名空间下可以定义以下几种类型: - **Class**: 类是面向对象编程的基本组成部分,用于封装数据和行为。 - **Interface**: 接口定义了一个类必须实现的行为标准,它包含一组抽象方法和属性。 - **Delegate**: ...
【hibernate入门小例子】是一个适合初学者的教程,主要涵盖了如何在JavaWeb项目中使用Hibernate框架与MySQL数据库进行集成。在这个例子中,我们将会深入理解Hibernate的核心概念,包括实体映射、对象关系映射(ORM)...
### Verilog HDL入门教程知识点解析 #### 一、Verilog HDL简介 - **Verilog HDL**:Verilog HDL(Hardware Description Language)是一种用于数字系统设计的硬件描述语言,广泛应用于集成电路(IC)和现场可编程...
视频剪辑软件是一种用于处理和编辑视频文件的强大工具,它具备了多种功能,如剪切、合并、转场效果、滤镜应用、音频混合以及速度调整等,旨在帮助用户快速创作出专业级别的视频作品。这类软件通常设计简洁,操作易懂...
从提供的信息来看,Oracle的入门心得书籍主要包含以下几点重要的知识点: 1. Oracle数据库基础:初学者需要熟悉Oracle数据库的基本组成部分,包括系统全局区域(SGA),以及相关的概念如数据块、段、和表空间。这些...
### 软件测试入门精要介绍 #### 认识软件测试 软件测试是一个重要的环节,在软件开发过程中扮演着至关重要的角色。它不仅确保软件产品的质量,还帮助开发者及时发现并修正错误,从而提高产品的用户体验。 **背景...
【标题】:“mybatis入门教程(一)(超简单)1” 【描述】:“2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护3、向preparedStatement中设置参数,对占” 【标签】:...
《Spring入门到精通》这本书是针对Java开发人员深入学习Spring框架的一份宝贵资源。Spring作为Java企业级应用开发中的核心框架,它提供了丰富的功能,包括依赖注入、面向切面编程、事务管理、数据访问以及Web应用...
CCD快速入门指南包括以下几个部分: 1. 谁应该阅读此文档:这部分会明确哪些人群可以从理解CCD中受益,可能包括医疗信息系统开发者、项目经理、医疗保健提供者等。 2. 引言:介绍CCD的基本概念及其在医疗保健中的...
为了达到入门级别,本书可能会包括如下几个方面的内容: 1. PLC基础知识:包括PLC的基本构成、工作原理、编程方法和常见的编程语言(如梯形图、指令表、功能块图等)。 2. 步进电机控制:介绍步进电机的工作原理、...
在你提到的**WCF入门demo**中,可能包含了以下几种方法: 1. **基本HttpBinding示例**:展示了使用默认HTTP协议的简单服务实例。 2. **NetTcpBinding示例**:演示了使用更高效、更安全的TCP协议来通信。 3. **Mex...
STM32CubeWL包含以下几个核心组成部分: 1. **STM32CubeMX**:这是一个图形化的软件配置工具,通过向导式界面,用户可以自动生成微控制器的初始化C代码,设置系统时钟、外设配置等,大大简化了项目启动阶段的工作。...
在"Python从入门到精通第2章--Python语言基础"的教学课件中,我们主要学习以下几个核心知识点: 1. **Python语言特点**: - **代码缩进**:Python的一大特色是其代码的可读性,通过缩进来表示代码块。不同于其他...
在软件工程领域,“不错的资料”提示我们这份文档可能包含了一些入门级别的基础知识。软件工程是一种系统化的、规范的、可量化的方法来开发和维护软件产品。它涉及到软件开发的全过程,包括需求分析、设计、编码、...
与传统的C++源代码级别的重用相比,COM更加侧重于二进制级别的重用,这使得它能够跨越不同的编程环境和语言平台。 **特点:** - **二进制兼容性**:COM规定了二进制模块(DLLs和EXEs)必须按照特定的结构进行编译,...
2. `<head>`标签包含文档的元数据,如标题、字符编码等。这些信息不会直接显示在页面上,但对浏览器和搜索引擎非常重要。 3. `<title>`标签定义了浏览器顶部显示的页面标题。 4. `<body>`标签包含网页的实际内容,如...