手机视频播放系统的设计与实现

2014-01-03 06:35陈一魁
电子测试 2014年7期
关键词:比特客户端传输

陈一魁

(汕尾市广播电视大学,广东汕尾,516600)

1 手机视频播放系统内涵

用户终端在新一代移动互联网当中,其创新点以及改变是最为多的。手机能够通过专用的客户端程序给予点播,或直接在浏览器上点播等。随着机群技术不断向先进方向发展,从而可以采用分布式的方法进行处理大规模的并发点播请求,让其可以在大规模点播环境中快速适应。目前,人们对于移动终端上的视频业务也越来越重视,市面上的多数视频网站,均可支持移动终端及PC 进行看视频,主要有流媒体内容服务器、流媒体终端、Internet 网络、移动通信分组核心网以及移动通信接入网等。

可以将客户端相应的请求进行处理,并从视频网站中将指定的音视频信息进行提取,从而通过解码的方法把该类信息给予处理,且经流媒体协议发送于客户端播放,这就是所谓成熟的手机视频播放系统。

2 主要通信协议

2.1 RTSP

所谓RTSP,主要基于文本中的一种应用层协议,RTSP 协议在某些消息参数、语法上和HTTP 协议类似。对于RTSP 协议的扫描,是在rfc2326 里进行。在控制媒体流的传输建立过程中,常常应用RTSP 作为多媒体服务的网络远程控制。虽然媒体数据流偶尔可以与RTSP 控制信息结合传送,但是在通常情况下,RTSP 本身是不能利用在媒体流数据传送当中。则媒体数据能够经过各种协议完成,如RTP/RTCP 协议等。

RTSP 单次的基本操作:先在流服务器中连接客户端,同时将RTSP 描述命令(DESCRIBE)进行发送,经过一个SDP 描述将流服务器给予反馈,其中反馈信息有媒体类型和流数量等。SDP 描述受到客户端分析时,客户端分别给予会话里的流进行发送一个RTSP 建立命令(SETUP),RTSP 建立命令主要是告知服务客户端,让其作为接收媒体数据的端口。当建立流媒体链接之后,客户端将一个播放命令进行发送,然后服务器在UDP 中,把媒体流传送至客户端。

2.2 RTP/RTCP

RTP 是一种为端对端的传输服务进行提供的实时传输协议,其主要的作用是在多目标或单目标广播网络服务过程中,给予支持传输实时数据,然而该数据的传输,需要RTCP 协议进行控制及监督。多媒体广泛应用的各干个域,指的是信息包的结构,其中有电视会议、声音点播、因特网电话、影视点播等。而电视压缩格式以及声音未因RTP 的规格而制定相关的标准,可以使用它进行传输各种普通格式的档。如MPEG-2 的电视、MPEG-1、WAV 的声音等,或者也能用作专门格式存储电视文件及声音的传输等。在RTP 中进行运行使用RTP 协议的应用程序,在UDP 上层中,运行执行的RTP 的程序,这样能够将使用UDP 的检查更好的实现。如图1 所示,其中的RTP 报文结构相对于TCP 而言,具有一定的优势,对于传输媒体的信息,采用RTP 较适宜,可将RTP 当作传输层的子层。

图1 RTP 报文头格式

RTP 包头格式:当在每一个RTP 包里,发现前12 个字节,则仅混合器插入其中的时候,才有CSRC 识别符列表出现。然而,这些域体现各种不同的意义。首先是版本(V):2 比特。该域将RTP 版本给予定义。其版本为2。填充(P):1 比特。如果将填料进行设置,则在末端中,该包含有一至若干个的比特给予填充,当然填充比特是不属于负载部分。填充比特的可忽略个数可以通过填充中的最后一字节来判断。对于一些加密算法或底层数据单元里若干个传输RTP 包等,也可能应用到填充,如具备固定长度的加密算法等。其次是扩展(X):1 比特。如果将扩展比特设置,在固定头后携带着一个头扩展。CSRC 计数(CC):比特为4。在CSRC 计数中,有CSRC 识别符数目,此数目是跟随在固定头之后。标志(M):比特位1。相关的协议规定将其标志进行解释。使用标志标记在比特流里出现的帧边界等重要事件。负载类型(PT):比特为7。负载格式得到该域的定义,其解释经过实际应用确定。负载格式与负载类型码间的匹配,可利用协议进行规定。另外的负载类型码的动态定义,能使用非RTP 手段进行。

当RTP 发送端随意将一个RTP 负载类型进行单独发出时,则该域不能用于不一致的媒体流。存在于RTP 信息包里的有效载荷域,具有7 位的长度,正是如此,RTP 即可支持128 种的有效载荷类型。针对声音流的域,其作用是将声音所采取的编码类型进行确定,如线性预测编码、PCM 以及自适应增量调制等。在广播或会话过程中,若发送端中途将编码措施给予变化,则发送端能够经过此域告知接收端。如下表1 所示:

表1 RTP 支持的有效载荷类型

针对电视流,电视编码的类型可经过有效载荷类型进行确定,如H.231、motionJPEG、MPEG-2 等。在会话期间,发送端也可将电视编码的手段进行变化。如下表2 所示:RTP 支持的各种不同的电视有效载荷类型。

表2 RTP 支持的电视有效载荷类型

在RTP 信息包中,封装着声音以及电视数据块,其中声音是通过多媒体应用程序而产生的。然而在UDP 消息段里又封装着各个RTP 信息包,接着再在IP 数据报中进行封装。

2.3 UDP

UDP 是一种用户数据报协议,其作用是支持需在计算机间进行传输数据的网络支持。如存在于网络视频会议系统中的大量客户/服务器模式的网络应用等。但是,UDP 协议不能给予数据传送提供确保机制。若在发送至接收中,有数据报丢失现象发生,协议不会有提示或者是检测等,UDP 也亦如此。

2.4 SDP

在流媒体传输中,对于其媒体描述信息,应该及时查看,而该功能即将SDP 里体现。SDP 在媒体会话中,发挥着媒体流信息传递的作用,同时给予对应的会话描述接受者,加入会话当中。而SDP 几乎都是在internet 中实行工作。

3 关于音频和视频解码格式

3.1 视频解码格式MPEG-4

对于MPEG-4 的管理,是经过层次结构实行的,层次结构主要有以下几个:视频对象平面组、视频对象、视频场景、视频对象平面以及视频对象层等。该视频标准提供高压缩率的新多媒体信息传输标准和实现强劲、全方位存取以及较高交互性的纠错能力目的。

3.2 音频解码格式AMR

AdaptiveMulti-Rate 简称AMR,比较适合多速率的编码,常应用在移动设备中的音频上,并具有相对较大的压缩比,但是,对于另外压缩格式质量而言,其质量较弱。因常应用在人声通话中,所以具有良好的效果。针对AMR 定义的扩展卡,可将MODEM 功能与声音同时进行支持。利用这样的设计,不仅将成本进行有效降低,而且将MODEM 子系统和声音功能存在的局限性给予解决。

4 流媒体服务器设计与实现

4.1 流媒体传输分析

所谓流媒体技术,指的是经过应用RTSP-on-TCP/RTPon-UDP 的手段,进行实行数据传输以及交互。但RTP 会因多种不同的网络情况而受到限制,按照各种现状,采取不同的解决措施。系统的设计以及实现,是通过了boostC++库的asio 异步通信库以及线程库的充分应用实行的,如此一来,系统的并发性、跨平台性和高校性得到更好的确保。由正常RTSP 协商将外网IP 客户端给予控制,再经过UDP 协议中的RTP 给予传输。随着IP 地址不断降低下,大部分的局域网或运营商均采用内网IP,由此可见,对于内网IP 客户端的UDP 传输过程中,则应穿透内网IP,换言之,就是NAT 穿越和UDP 打洞技术等。在进行该操作之前,必须确定此路由器能够把NAT 协议给予支持。

5 客户端维护和优化

用户访问的视频网站通过此系统开发的客户端程序,实现汇总以及格式安排等目的,利用搜集的方式,从各个视频网站中,搜集高点击的视频,以此作为每日的焦点,同时携带访问历史以及查询签等功能,以便保留用户已看过的视频链接。客户端程序能够应用手动,将相关设置进行选择,如开机是否运行,视频更新频率等。所涉及的相关内容,则需要服务端及时更新,如每日焦点等,且将用户使用的UA 以及另外访问的参数正常进行识别并确保。

6 总结

综上所述,手机视频播放系统的实现,能使该系统能够处理从无线客户端的请求,从本地或视频网站中提取指定音视频信息,将这些信息以特定解码方式处理,通过流媒体协议发送给客户端播放。而毫无疑问,本文的研究将大大有利于该系统的进一步实现与优化。

[1] 史政. 手机流媒体播放系统的设计与实现[J]. 北京邮电大学,2011 年

[2] 蔡庆元. 基于RTP 的手机视频点播系统的设计与实现[J].华南理工大学,2010 年

猜你喜欢
比特客户端传输
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
如何看待传统媒体新闻客户端的“断舍离”?
关于无线电力传输的探究
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元