CN103024596A - 一种iptv机顶盒基于rtsp协议网络媒体流窜播放方法 - Google Patents
一种iptv机顶盒基于rtsp协议网络媒体流窜播放方法 Download PDFInfo
- Publication number
- CN103024596A CN103024596A CN2012105692601A CN201210569260A CN103024596A CN 103024596 A CN103024596 A CN 103024596A CN 2012105692601 A CN2012105692601 A CN 2012105692601A CN 201210569260 A CN201210569260 A CN 201210569260A CN 103024596 A CN103024596 A CN 103024596A
- Authority
- CN
- China
- Prior art keywords
- data
- rtsp
- media
- network
- basis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明为一种IPTV机顶盒基于RTSP协议网络媒体流窜播放方法,按照传入的网络流媒体地址与服务器进行协商与播放控制,获取媒体数据,并把收到的媒体数据解析成解码器需要的格式。基于RFC2326规范设计,支持点播和组播的网络流串;能够兼容网络环境中现行的各种基于RFC2326规范设计的流媒体服务器发送出来的媒体流串;增加了私网穿越功能,可以用于各种复杂的内网环境;模块基于独立的结构设计,可以广泛使用于各种播放器的流媒体播放模块。
Description
技术领域
本发明涉及网络媒体流窜播放方法,特别是涉及一种IPTV机顶盒基于RTSP协议网络媒体流窜播放方法。
背景技术
RTSP(Real Time Streaming Protocol,实时流媒体协议)是由Real Network和Netscape共同提出的一种应用层协议,它定义了如何在IP网络上有效地传输流媒体数据,RTSP提供了一种机制,使音频、视频等数据可以按照需要进行实时传输,并且可以实施诸如暂停、快进等控制。网络中的媒体服务器基本上都是基于RTSP协议的媒体服务器,IPTV机顶盒是基于网络的产品,所以播放网络中的媒体流是一个必须的基本功能。基于这个需求,我们设计了基于RTSP的网络媒体流串播放。
发明内容
本发明的目的在与解决如何实现IPTV机顶盒播放网络中的媒体流。
本发明采用如下技术方案:一种IPTV机顶盒基于RTSP协议网络媒体流窜播放方法,所述方法主要通过机顶盒中的RTSP模块是实现,所述RTSP模块按照接收到的网络流媒体地址与服务器进行协商与播放控制,获取媒体数据,并把收到的媒体数据解析成解码器需要的格式;所述方法包括以下步骤:
步骤一:首先建立两个缓存数组,分别对应接收到与准备发送的数据,其数组元素包括缓存区与标识缓存区是否有数据的标志位;
步骤二:建立四个链表,分别对应音频的准备数据与完毕数据、视频的准备数据与完毕数据;
步骤三:解析处理媒体数据,把解析后的媒体数据放入链表,供播放器取用;
步骤四: 处理服务器主动发送的Announce信号;
步骤五:根据RTSP控制指令,IPTV机顶盒开始播放。
上述步骤三中的链表包括链表节点元素,所述链表节点元素包括一帧asf数据、数据对应的扫描信息、指向链表下一个节点及尾节点的指针。
上述步骤五中的RTSP控制指令每发送一次,只有收到服务器对此指令的回应后才能发送下一条rtsp指令。
在上述技术方案中,传输的数据过多堆积时,RTSP模块自动暂停数据传输或停止播放。
本发明的优点在于:本发明可以兼容所有基于RFC2326规范设计的流媒体服务器发送出的网络流串;可以处理基于RTSP单播流媒体和基于IGMP的组播流媒体;结合实际网络情况,增加了私网穿越功能,能适应复杂的内网环境;基于独立模块的设计,不影响播放器的其他播放功能;模块基于独立的结构设计,可以广泛使用于各种播放器的流媒体播放模块。
附图说明
本发明将通过实施例并参照附图的方式说明,其中:
图1是RTSP流媒体播放模块流程图。
具体实施方式
下面结合附图对本发明做进一步的说明。
本发明主要通过RTSP模块来实现,RTSP模块的主要功能是,按照传入的网络流媒体地址与服务器进行协商与播放控制,获取媒体数据,并把收到的媒体数据解析成解码器需要的格式。
数据的处理流向如下:
首先,建立两个缓存数组RecvBuf_Block与SendBuf_Block,分别对应接收到与准备发送的数据,其数组元素包括缓存区与标识缓存区是否有数据的标志位。使用这两个数组的目的是:把数据接收与处理独立开,并行化加快效率;在多数据源的情况下(例如tcp+udp),有利于数据在主循环中的统一处理。
其次,建立四个链表、VideoStream、AudioStream、VideoStreamReady、AudioStreamReady,分别对应音视频的准备数据与完毕数据,其链表节点元素包括“一块”数据(针对asf,即一帧数据)、数据对应的描述信息、指向链表下一个节点及尾节点的指针。
在RTSP模块的handle函数的主循环中:
首先从RecvBuf_Block取出一块接收到的网络数据,接着对媒体数据进行解析,把解析完毕后的数据放入VideoStream/AudioStream;
接着,对当前的VideoStream/AudioStream链表进行判断,把其中准备好的数据转入VideoStreamReady/AudioStreamReady链表,以供播放器模块取用。
在这里设计准备链表的原因是,目前送往播放的数据只能是pes数据,而asf码流没有pes数据这一概念,必须针对每一帧数据进行重新打包工作,而asf每帧的数据并不一定是一次接收完毕的,所以每次处理后的asf数据首先放入VideoStream/AudioStream中。对于TS流的pes数据,由于每个TS包中的pes数据较少,出于效率的考虑,当堆积的pes数据达到一定数目(数百字节)后,作为一块放入VideoStream/AudioStream,并置完毕标志位,以在之后的处理中直接转入VideoStreamReady/AudioStreamReady链表。
当RTSP模块接收准备好数据后,等待处理服务器主动发送的Announce信号,根据rtsp控制命令的回应,调整主循环状态机,在主循环中,有一个接收rasps控制命令的队列,每次循环中,如当前状态可以发送rtsp命令,且队列中有未处理的控制,则取出相应控制进行处理。
主循环模块中,使用了三个全局状态变量RTSP_STAT、RTSP_COMM、NowStat来控制状态机。
其中:RTSP_STAT的作用是保证rtsp命令发送的时序,即每发送一个rtsp命令后,只有收到服务器对此命令的回应后,才能发送下一条rtsp命令。
RTSP_COMM负责记录当前发送的rtsp命令,以便收到服务器回应后,相应的调节状态机。
NowStat标识当前的主循环的状态。在播放过程中,只有两大状态:数据传输进行中与数据传输暂停中。
本说明书中公开的所有特征,除了互相排斥的特征以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种IPTV机顶盒基于RTSP协议网络媒体流窜播放方法,所述方法主要通过机顶盒中的RTSP模块是实现,所述RTSP模块按照接收到的网络流媒体地址与服务器进行协商与播放控制,获取媒体数据,并把收到的媒体数据解析成解码器需要的格式;其特征在于,所述方法包括以下步骤:
步骤一:首先建立两个缓存数组,分别对应接收到与准备发送的数据,其数组元素包括缓存区与标识缓存区是否有数据的标志位;
步骤二:建立四个链表,分别对应音频的准备数据与完毕数据、视频的准备数据与完毕数据;
步骤三:解析处理媒体数据,把解析后的媒体数据放入链表,供播放器取用;
步骤四: 处理服务器主动发送的Announce信号;
步骤五:根据RTSP控制指令,IPTV机顶盒开始播放。
2.根据权利要求1所述的播放方法,其特征是上述步骤三中的链表包括链表节点元素,所述链表节点元素包括一帧asf数据、数据对应的扫描信息、指向链表下一个节点及尾节点的指针。
3.根据权利要求1所述的播放方法,其特征是上述步骤五中的RTSP控制指令每发送一次,只有收到服务器对此指令的回应后才能发送下一条rtsp指令。
4.根据权利要求3所述的播放方法,其特征是传输的数据过多堆积时,RTSP模块自动暂停数据传输或停止播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105692601A CN103024596A (zh) | 2012-12-25 | 2012-12-25 | 一种iptv机顶盒基于rtsp协议网络媒体流窜播放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105692601A CN103024596A (zh) | 2012-12-25 | 2012-12-25 | 一种iptv机顶盒基于rtsp协议网络媒体流窜播放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103024596A true CN103024596A (zh) | 2013-04-03 |
Family
ID=47972647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105692601A Pending CN103024596A (zh) | 2012-12-25 | 2012-12-25 | 一种iptv机顶盒基于rtsp协议网络媒体流窜播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024596A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671124A (zh) * | 2004-03-19 | 2005-09-21 | 清华大学 | 通信终端装置、通信终端接收方法、通信系统、网关 |
CN1893572A (zh) * | 2005-07-07 | 2007-01-10 | 上海金士林数码科技有限公司 | 一种应用于网络电视机顶盒的嵌入式媒体播放器 |
CN101202900A (zh) * | 2007-03-12 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种数字电视直播与回放的切换方法及视频服务器 |
CN101271720A (zh) * | 2008-04-22 | 2008-09-24 | 中兴通讯股份有限公司 | 一种手机流媒体音视频的同步方法 |
CN101668174A (zh) * | 2008-09-01 | 2010-03-10 | 华为技术有限公司 | 播放控制方法和设备 |
CN101771599A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | 一种rtp数据包接收处理方法及装置 |
-
2012
- 2012-12-25 CN CN2012105692601A patent/CN103024596A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1671124A (zh) * | 2004-03-19 | 2005-09-21 | 清华大学 | 通信终端装置、通信终端接收方法、通信系统、网关 |
CN1893572A (zh) * | 2005-07-07 | 2007-01-10 | 上海金士林数码科技有限公司 | 一种应用于网络电视机顶盒的嵌入式媒体播放器 |
CN101202900A (zh) * | 2007-03-12 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种数字电视直播与回放的切换方法及视频服务器 |
CN101271720A (zh) * | 2008-04-22 | 2008-09-24 | 中兴通讯股份有限公司 | 一种手机流媒体音视频的同步方法 |
CN101668174A (zh) * | 2008-09-01 | 2010-03-10 | 华为技术有限公司 | 播放控制方法和设备 |
CN101771599A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | 一种rtp数据包接收处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6612249B2 (ja) | メディアデータをストリーミングするためのターゲット広告挿入 | |
TWI729997B (zh) | 傳輸經寫碼音訊資料 | |
CN105594219B (zh) | 用于广播信号的发射/接收处理的设备和方法 | |
TWI727186B (zh) | 使用網路內容之檔案軌處理媒體資料 | |
CN108702527A (zh) | 用于使用通用夹层分发格式的媒体传送的系统和方法 | |
JP2018521538A (ja) | ウェブソケットサブプロトコルを使用したメディアデータの転送 | |
WO2014188886A1 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム | |
CN104040993A (zh) | 用于发送相应地接收媒体流的方法 | |
US20160088321A1 (en) | Transmission apparatus, transmission method, reproduction apparatus, reproduction method and reception apparatus | |
CN103929427A (zh) | 一种动态多线程下载装置及其下载方法 | |
CN105325005B (zh) | 内容供应装置、内容供应方法、存储介质、终端装置以及内容供应系统 | |
WO2015064383A1 (ja) | 送信装置、送信方法、受信装置、及び、受信方法 | |
WO2015109847A1 (zh) | 一种分段节目快速分发的方法、服务器及客户端 | |
CN105052159B (zh) | 内容提供设备、内容提供方法、程序、和内容提供系统 | |
KR102137858B1 (ko) | 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램 | |
US20100322420A1 (en) | Duplicate Address Detection Proxy in Edge Devices | |
WO2018121584A1 (zh) | 一种数据流传输方法、装置、相关设备及存储介质 | |
CN105191324A (zh) | 通信设备、通信数据生成方法、以及通信数据处理方法 | |
CN106254548A (zh) | 一种下载流媒体数据的方法及装置 | |
CN103067690A (zh) | 基于智能监控平台的均衡传输音视频数据的方法及装置 | |
KR102138075B1 (ko) | 미디어 데이터를 전송하기 위한 가변 크기 데이터 패킷을 송수신하는 방법 및 장치 | |
KR102373195B1 (ko) | 수신 장치, 송신 장치, 데이터 통신 방법, 및 데이터 처리 방법 | |
CN105900437A (zh) | 通信设备、通信数据生成方法和通信数据处理方法 | |
CN103024596A (zh) | 一种iptv机顶盒基于rtsp协议网络媒体流窜播放方法 | |
Kovalick | Design elements for core IP media infrastructures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130403 |