04 2013 档案

摘要:NAL技术1.NAL概述NAL全称Network Abstract Layer,即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。现实中的传输系统是多样化的,其可靠性,服务质量,封装方式等特征各不相同,NAL这一概念的提出提供了一个视频编码器和传输系统的友好接口,使得编码后的视频数据能够有效地在各种不同的网络环境中传输。2.NAL单元NAL单元是NAL的基本语法结构,它包含一个字节的头信息和一系列来自V 阅读全文
posted @ 2013-04-23 10:40 木子你妹 阅读(1764) 评论(0) 推荐(0) 编辑
摘要:PES是打包过的ES,已经插入PTS和DTS,一般是一个pes包为一帧图像PES包格式:PES再打包成TS流或PS流,往往一个PES会分存到多个ts包中,start_code: 0x00 00 01stream_id: pes包头长: 信息区:包含附加信息以及PTS和DTSPS流:每一个pes header包含pts和dts,在解码时,pes-->es,音视频的同步,除了使用pts和dts以外,还会用到SCR(system clock reference),在编码时,都是由STC(system time clock)生成ps包长度是可变的TS也是有多个pes组合而成,ts包由包头和包数据 阅读全文
posted @ 2013-04-22 10:25 木子你妹 阅读(5370) 评论(0) 推荐(1) 编辑
摘要:在 MPEG-2系统中,信息复合/分离的过程称为系统复接/分接,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送 流(TS:TransportStream)。据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS)和节目流 (PS:ProgramStream)TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。 PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后 阅读全文
posted @ 2013-04-22 10:20 木子你妹 阅读(427) 评论(0) 推荐(0) 编辑
摘要:上一篇文章我详细介绍了如何开发一款高性能的TCP服务器的网络传输层.本章我将谈谈如何开发一个高性能的UDP服务器的网络层.UDP服务器的网络层开 发相对与TCP服务器来说要容易和简单的多,UDP服务器的大致流程为创建一个socket然后将其绑定到完成端口上并投递一定数量的recv操作.当有 数据到来时从完成队列中取出数据发送到接收队列中即可。 测试结果如下:WindowsXP Professional,Intel Core Duo E4600 双核2.4G , 2G内存。同时30K个用户和该UDP服务器进行交互其CPU使用率为10%左右,内存占用7M左右。 下面详细介绍该服务器的架构及流程: 阅读全文
posted @ 2013-04-03 13:35 木子你妹 阅读(2763) 评论(0) 推荐(0) 编辑
摘要:对于开发一款高性能服务器程序,广大服务器开发人员在一直为之奋斗和努力.其中一个影响服务器的重要瓶颈就是服务器的网络处理模块.如果一款服务器程序不能及时的处理用户的数据.则服务器的上层业务逻辑再高效也是徒劳.所以一个服务器程序的网络处理能力直接影响到整个服务器的性能, 本文主要介绍在windows平台下开发高性能的网络处理模块以及自己在设计开发服务器网络模块遇到的一些问题和开发心得.本篇主要介绍TCP服务器的设计, 下一篇将主要介绍UDP服务器的设计. 众所周知, 对于服务器来说windows下网络I/O处理的最佳方式就是完成端口, 因此本服务器的开发主要基于完成端口的模式.完成端口(compl 阅读全文
posted @ 2013-04-03 13:32 木子你妹 阅读(680) 评论(1) 推荐(0) 编辑