学术文化网:本站代理期刊可作为职称及学位评审依据;并代写(职称、本科、硕士、博士)论文,代写代发论文一条龙服务;保证原创,保证质量,100%通过,保密服务

学术文化网

重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。代写论文申请表
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。代写代发论文申请表
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425 代写论文写手申请表
当前位置: 主页 > 工科论文

针对移动互联网的流媒体服务器的实现(2)


源。识别符的数目在CC 域中给定。
2.3 NAT 协议
互联网即将用完IPv4 地址,这是没有争议的。但是,争议的问题是互联网服务提供商
165 是直接迁移到IPv6 以解决这个问题,还是将采用运营商级网络地址转换(NAT)等替代方法在
其新用户中共享剩余的IPv4 地址。
到目前为止最成功的是网络地址转换(NAT)方法。尤其是NAT44,该技术将一个IPv4
地址转换成了另一个IPv4 地址。私有 IPv4 地址要在所给网络中使用;这里是假设在一个网
络中,大多数IP 设备都只需要和相同网络中的其他IP 设备进行连接。
170 NAT44(通常位于路由或防火墙之中)放在与公共互联网相接的网络边缘。NAT 拥有若
 干独特的IPv4 地址。随着数据包从内部或私有界面发送到外部或公共界面,NAT 用其公共
IPv4 地址中的一个代替了数据包的私有IPv4 地址。NAT 技术通过映射内部地址到外部地址
的路径来记住数据包源自哪个内部设备。
网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)
地址转化为合法IP 175 地址的转换技术,它被广泛应用于各种类型Internet 接入方式和各种类型的网络中。
原因很简单,NAT 不仅完美地解决了lP 地址不足的问题,而且还能够有效地避免来自网络外部的攻
击,隐藏并保护网络内部的计算机。
NAT 可以分为Basic NAT 和PAT:
- Basic NAT 只转化IP,不映射端口。
180 - PAT 除了转化IP,还做端口映射,可以用于多个内部地址映射到少量(甚至一个)外
部地址。
NAT 还可以分为静态NAT 和动态NAT:
- 静态NAT,将内部网络中的每个主机都永久映射成 外部网络中的某个合法的地址,
多用于服务器。
185 - 动态NAT,则是在外部网络中定义了一个或多个合法地址,采用动态分配的方法映
射到内部网络。
3 流媒体服务器设计与实现
3.1 主要数据结构及算法
3.1.1 RTP 数据包头部定义
190 typedef struct
{
/**//* byte 0 */
uint8_t csrc_len:4; /**//* expect 0 */
uint8_t extension:1; /**//* expect 1, see RTP_OP below */
195 uint8_t padding:1; /**//* expect 0 */
uint8_t version:2; /**//* expect 2 */
/**//* byte 1 */
uint8_t payload:7; /**//* RTP_PAYLOAD_RTSP */
uint8_t marker:1; /**//* expect 1 */
200 /**//* bytes 2, 3 */
uint16_t seq_no;
/**//* bytes 4-7 */
uint32_t timestamp;
/**//* bytes 8-11 */
205 uint32_t ssrc; /**//* stream number is used here. */
} RTP_FIXED_HEADER;
3.1.2 MPEG-4 打包rtp 算法
Mpeg‐4 打包rtp 的算法[3]的伪代码如下:
While(MPEG‐4 数据流结束前)
210 {If(发现下一个VOP 起始码)
{If(当前分段长度≤去除头部字段长度的路径MTU 值)
 {把此段数据打入RTP 包}
else
{把尽可能多的宏块打入RTP 包}
215 }
else
{对剩余数据打包}

3.1.3 AMR 打包rtp 算法
220 AMR 打包rtp 算法[4],以流程图表示如下:
图3 视频流结构图
Fig.3 streaming video char
225 3.2 系统设计
本系统采用了boost C++库的asio 异步通信库和线程库进行设计和实现,保证了系统的
并发性,高效性以及跨平台性。系统设计如图4 所示。
 图4 系统设计图
Fig.230 4 system design chart
Server:系统主程序,负责初始化环境变量,线程池,异步通信机制。
RtspServicer:主要负责与客户端进行协商,并为rtpservicer 进行相关初始化和控制。
Request 和reply 分别代表客户端请求和服务器回复的类抽象。
235 RequestParser:解析request。
RequestHandler:对不同request 进行不同的处理。
RtpServicer:负责往客户端发送rtp 数据。
FileParser:负责解析媒体文件,提取帧数据
RtpPacketer:对媒体帧进行处理,打包成rtp 包。
240 本系统主要使用了rtsp 协议和rtp 协议,其主要工作机制[5]如图所示:
图5 系统工作流程
Fig.5 system work flow chart
流媒体文
件或者流
Demux
Rtsp 协商
音频流
视频流
rtp 数据包
发送客户端
 245 3.3 协议交互过程
RTP 协议并没有规定其传输层的实现,传输层主要有tcp 和udp 协议。但是基于tcp 有
以下特点.
·TCP 重传机制
·TCP 拥塞控制机制
250 ·TCP 报文头比UDP 保文头要大
·TCP 的启动速度慢
TCP 协议不适合传输实时的多媒体数据,新的为实时传输多媒体数据的RTP 协议也就应
运而生。流媒体技术采用RTSP-on-TCP/RTP-on-UDP 的方式进行交互和数据传输[6]。
面对ip 地址的减少,很多运营商或者局域网都使用了内网ip,这里就涉及到了在对内
255 网ip 客户端进行udp 传输时,需要对内网ip 进行穿透—也就是udp 打洞,NAT 穿越技术。
这样做的前提是该路由器支持NAT 协议。协议交互过程如图6 所示。
图6 系统交互图
Fig.6 system interaction chart
260
4 结论
3G 移动通信网作为日趋完善的无线网络,为流媒体的应用提供了一个崭新的平台,也
为流媒体技术更好的为使用者服务开辟了新的传输媒体。随着手机增值业务的不断发展,视
音频流媒体业务将会成为3G 增值业务的一个热点,通过手机实现视频点播、收看视频节目
265 成为最能吸引用户眼球的业务之一。
本文针对移动互联网和手持终端的特点,对流媒体协议和原理进行了详细的分析,并提
出了一套跨平台的服务端实现方案,并且给出了程序的具体实现。本系统已经过实际测试,
服务器测试平台为ubuntu,opensuse 及windows,客户端测试系统包括android,symbian,
windows mobile.
270 由于本人能力和时间有限,可能本系统仍存在不足之处,比如对于系统流量的监控措施,
希望以后继续改进。
 5 致谢
在本文的撰写及系统的开发过程中,感谢我的导师张笑燕以及杜晓峰老师给我提供的帮
助与指点。 


学术论文网Tag:代写论文 代写代发论文 论文发表 职称论文发表
本站郑重声明:
  1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
  2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
  3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
  4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------
栏目列表
联系我们
服务承诺
推荐内容