RSS
热门关键字:
当前位置 : 主页>通信技术>通信设备>列表

基于UPnP发现与组播技术的IPTV终端实现

来源:我要研发网 作者:52rd.info 时间:2008-05-18 点击:



  通过数字化处理和MEPG-2编码压缩后封装为RTP包发送到组播地址,供局域网内的合法用户观看。

字串1

  引言 字串4

  IPTV是一项系统技术, 可使音/视频内容节目或信号以IP 包的方式在不同物理网络中被安全、有效和保质地传送或分发给不同用户。

字串9

  基于UPnP中的简单服务发现协议(SSDP,Simple Service Discovery Protocol)和IP组播技术,本文提出并实现了一种新的IPTV终端系统。该系统不仅能将CATV(有线电视网)模拟信号和本地AV模拟信号转换为数字信号,并通过MPEG-2编码,再使用RTP/RTCP协议组播到家庭网络,而且提供了实时串流视频、本地视频定时存储播放和VoD(Video On Demand)服务。 字串7

  UPnP协议栈中的SSDP协议 字串9

  UPnP(Universal Plug and Play——通用即插即用)是针对局域网络范围内对等(peer-to-peer)互联而设计的一种应用层技术标准,旨在为家庭、小型企业、公共场所提供基于IP技术、易于使用的网络服务自动发现机制。

字串9

  SSDP用于服务发现,控制点借此可定位其感兴趣的资源在网络中的位置,设备可借此告之它们的可用性。SSDP客户(控制点)可往本地保留的多播地址的SSDP端口(239.255.255.250:1900)发送发现(Discovery)消息来寻找SSDP服务;SSDP服务(设备)也可以同样的方式发送SSDP指示来宣告它的存在。

字串9

  本文IPTV终端的UPnP发现过程,即控制点(运行在mClinux上的服务器程序)搜索网络上的UPnP设备(运行在PC上的客户端程序),同时,UPnP设备也要宣告自己的存在。当用户在PC上打开一个新的客户端程序时,它会通过标准的本地多播地址发送多播发现消息宣告一个新的用户存在。控制点监听该多播地址,获取用户的可用信息。同样,当控制点被添加到网络时,它会多播一条发现消息来搜索是否已有客户端存在。

字串1

  IPTV终端系统设计 字串3

  系统软件架构及

字串9

  子系统模块设计 字串6

  IPTV终端系统软件架构分为服务器和客户端两部分,如图1所示。 字串4

基于UPnP发现与组播技术的IPTV终端实现

字串6

  图2 IPTV终端系统软件架构图 字串7

  服务器软件部分包括:

字串4

  RTP/RTCP模块:该模块包含RTP/RTCP协议栈,负责将视频信息打包成RTP组播或单播到局域网中。

字串8

  串流模块:客户端用户选择本地音/视频文件或VoD服务器里存有的音/视频文件,将其发送到VLC播放器中处理并转发到服务器的串流模块,由此模块在局域网内组播,供在线合法用户观看。 字串9

  定时音/视频存储、播放模块:管理员选择本地音/视频文件,将其发送到VLC播放器中处理并转发到服务器的定时音/视频存储、播放模块,由此模块异步写入Flash中存储。管理员可以设定要播放存储视频的时间、播放次数、连续播放时间间隔、播放长度和结束时间等。 字串8

  用户合法性管理模块:该模块在用户登录时检查普通用户或系统管理员的合法性,并实时管理所有在线用户信息,定时显示所有在线用户的IP地址。 字串6

  UPnP服务发现模块:该模块负责使用UPnP中简单服务发现协议监听局域网内客户端程序的运行,并在客户端程序发出SSDP Notify消息时响应。 字串4

  服务控制模块:由管理员更改服务器IP地址,用户更改音量、频道、画质等模块组成。 字串7

  硬件驱动模块:该模块由服务器上的硬件驱动程序组成。

字串1

  客户端软件部分包括:

字串1

  UPnP服务发现模块:客户端应用程序运行时,在局域网内发送UPnP SSDP宣告消息。 字串6

  用户登录模块:当收到服务器的UPnP响应消息时,运行此模块,检查用户合法性。 字串6

  VoD上传模块:通过VLC播放器和服务器上的串流模块,将音/视频上传到本地VoD服务器。

字串4

  遥控器程序:系统UI部分,提供友好的系统管理员和普通用户操作界面。

字串6

  VLC播放器:一种强大的跨平台媒体播放软件,支持多种音/视频格式(MPEG-1、MPEG-2、 MPEG-4、DivX、MP3、ogg...)、流媒体协议和串流组播。 字串9

  系统硬件体系结构设计与实现

字串7

  本方案是以华邦ARM W90N740芯片为主控制器的硬件平台,在W90N740的外围添加网络模块、串口接口模块、调谐器模块、音/视频解码及数字化处理模块、MPEG-2音/视频压缩模块和USB模块等。

字串8

  系统硬件体系结构如图2所示。

字串3

基于UPnP发现与组播技术的IPTV终端实现

字串4

  图2 系统硬件体系结构框图

字串1

  1、CPU部分 字串6

  CPU(W90N740)、ROM(512KB)、Flash(8MB)、SDRAM(32MB)、SRAM(32K×32b)和CPLD构成了最基本的处理系统。ROM存放BOOT程序,每次RESET后,CPU从这里运行,该部分程序主要作硬件初始化,为运行mClinux作准备。Flash存放mClinux和用户程序。SDRAM是程序运行时存放mClinux和用户程序的地方。SRAM是PCI桥成为本地总线主机时,写入数据的地方,由于PLX9080不能操作SDRAM,所以,要用一个SRAM来做数据缓存。CPLD主要完成PCI总线的仲裁、地址译码、RESET信号的产生、中断信号的汇总、SRAM的片选,以及一些信号的电平或时序转换。在CPU与 SRAM的数据总线和地址总线之间有一个开关,用于解决当CPU访问PCI设备和PCI设备访问SRAM同时发生时引起的死锁。当这种情况发生时,开关将断开CPU的数据总线和地址总线,同时输出WAIT信号,让CPU处于等待中,而让PCI设备先访问SRAM,完成后,再恢复CPU对PCI设备的访问。 字串5

  2、PLX9080部分

字串9

  PLX9080将PCI总线和本地总线连接起来,它主要提供本地地址到PCI地址的双向转换,本地控制到PCI控制的双向转换。PLX9080收到CPU的命令后,首先向CPLD的PCI仲裁器申请,获得许可后,开始进行PCI读写。PCI设备(比如SAA7134)也是通过PLX9080将数据写入本地存储器,当外部设备向PLX9080发起PCI写操作后,PLX9080将向CPU申请本地总线的使用权,CPU释放总线的控制权,PLX9080就将PCI的地址翻译成本地地址,将数据写入SRAM中。

字串8

  3、SAA7134HL部分 字串1

  SAA7134HL主要将SIF和CVBS信号进行解码、取样,然后数字化,组合成ITU-R BT.656格式的视频数据和I2S格式的音频数据送给MPEG-2压缩,同时接收MPEG-2压缩器已经压缩好的传输流数据,进行缓冲后,将数据通过PLX9080写入SRAM中,完成后向CPU发出中断,请求CPU进行处理。SAA7134HL还包含了一个I2C MASTER总线控制器,可以完成对调谐器和SAA6752HS的控制。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
相关文章