CN102082761A - 一种流媒体协议转换系统及其方法 - Google Patents
一种流媒体协议转换系统及其方法 Download PDFInfo
- Publication number
- CN102082761A CN102082761A CN2009101539297A CN200910153929A CN102082761A CN 102082761 A CN102082761 A CN 102082761A CN 2009101539297 A CN2009101539297 A CN 2009101539297A CN 200910153929 A CN200910153929 A CN 200910153929A CN 102082761 A CN102082761 A CN 102082761A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- stream
- protocol
- reader
- 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
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种流媒体协议转换系统及其方法,该系统包括:读取器,用于接收来自外部的rtsp流文件并且对该rtsp流文件进行处理以生成干净的视频元数据;生成器,用于对读取器所生成的干净的视频元数据进行流化以生成mms流数据;以及输出器,用于输出mms流数据。
Description
技术领域
本发明涉及一种用流媒体协议转换系统及其方法,更具体地说,涉及一种用于将RTSP协议转换成mms协议的系统和方法。
背景技术
RTSP和mms是现在网络上应用最广泛的的两大实时流媒体传输协议。RTSP(Real Time Streaming Protocol)实时流传输协议是TCP/IP协议体系中的一个应用层协议,是为控制实时数据(如音频和视频内容)的传递而专门创建的。由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。
MMS(Microsoft Media Server Protocol),中文是“微软媒体服务器协议”,mms的最初目的是通过网络传输多媒体广播、视频、音轨、现场直播和一系列的实时或实况材料,以和rtsp抗衡。MMS建立在UDP或TCP传输/网络层上,也是属于应用层的。使用TCP的MMS上URL是MMS://或者MMST://,如果是UDP的MMS使用MMSU://。
但自wmp8开始,mms就逐步变成了现在的协议翻转协议,当使用MMS协议连接到发布点时,依据服务器发布的具体环境,为客户端选择适用于情况的最佳协议获得稳定的连接。协议翻转是为了确保客户端享受到最佳的流式播放体验。目前Microsoft在windows2003服务器版的windows media services已经支持了微软格式的rtsp协议的发布。目前网络上发布的实况流媒体视频也基本上是属于这两大类别。
目前网络视频发布工具主要有两种即HELEX和WMS。HELEX支持rstp流格式的播放,如real one;WMS支持mms流格式的播放,如Windows media player。因此现在的视频播放软件或者只能支持HELEX发布的rstp流格式的数据,或者只能支持WMS发布的mms流格式的数据,而不存在既能支持HELEX发布的rstp流格式的数据又能支持WMS发布的mms流格式的数据。
发明内容
为了解决上述传统问题,因此本发明的一个目的就是提出了一种用于将RTSP协议转换成mms协议的系统及其方法。
在一个方面中,提出了一种流媒体协议转换系统,该系统包括:读取器,用于接收来自外部的rtsp流文件并且对该rtsp流文件进行处理以生成干净的视频元数据;生成器,用于对读取器所生成的干净的视频元数据进行流化以生成mms流数据;以及输出器,用于输出mms流数据。
根据这个方面,其中读取器进一步包括:设置模块,用于设置读取器所输出的流的格式;协议翻转模块,用于对来自外部的rtsp流文件进行预读并进行协议翻转;读写模块,用于读取协议翻转之后的数据;缓冲模块,用于对读写模块所读取的数据进行缓冲;以及数据剥离模块,用于对缓冲模块中的数据进行剥离处理以生成干净的视频元数据。
根据这个方面,其中生成器进一步包括:设置模块,用于设置采样方式;缓冲模块,用于将读取器所处理的数据复制到该缓冲模块中;处理模块,用于根据设置模块设置的采样方式对复制到缓冲区中的数据进行处理,并且产生asf文件格式的媒体数据,该asf格式媒体文件以普通的http方式推送出去即是mmst流。
在另一个方面中,提出了一种流媒体协议转换方法,该方法包括步骤:A、读取器接收来自外部的rtsp流文件并且对该rtsp流文件进行处理以生成干净的视频元数据;B、生成器对读取器所生成的干净的视频元数据进行流化以生成mms流数据;以及C、输出器输出mms流数据。
根据这个方面,其中步骤A进一步包括:A1、设置读取器所输出的流的格式;A2、对来自外部的rtsp流文件进行预读并进行协议翻转;A3、读取协议翻转之后的数据;A4、对所读取的数据进行缓冲;以及A5、对缓冲的数据进行剥离处理以生成干净的视频元数据。
根据这个方面,其中步骤B进一步包括:在步骤A1至A5中的任何一个步骤之前或之后或同时执行步骤:B1、设置采样方式。
根据这个方面,其中步骤B进一步包括:与步骤A5同时执行步骤:B2、将读取器所处理的数据复制到该生成器的缓冲区中;以及B3、根据所设置的采样方式对复制到缓冲模块中的数据进行处理,并且产生asf文件格式的媒体数据,该asf格式媒体文件以普通的http方式推送出去即是mmst流。
附图说明
结合随后的附图,从下面的详细说明中可显而易见的得出本发明的上述及其他目的、特征及优点。在附图中:
图1给出了根据本发明的流媒体协议转换系统的方框图;
图2给出了根据本发明的流媒体协议转换系统的读取器的具体结构图;
图3给出了根据本发明的流媒体协议转换系统的生成器的具体结构图;
图4给出了根据本发明的流媒体协议转换方法的流程图。
具体实施方式
在下文中将详细地论述的,本公开可以采用完全硬件的实施例、完全软件的实施例或包括硬件和软件元件两者的实施例的形式。在优选实施例中,本公开可以用软件来实施,其可以包括但不局限于固件、驻留软件、微码等等。
现在参考附图,对本发明的原理进行详细的说明。
首先,参考图1,对根据本发明的流媒体协议转换系统进行详细的说明。
如图1所示,该流媒体协议转换系统包括读取器、生成器、以及输出器。
读取器接收来自外部的rtsp流文件并且对该rtsp流文件进行处理以生成干净的视频元数据。该rtsp流文件可以是通过HELEX提供的,但是rtsp流文件的提供并不局限于此,而是可以是以任何方式提供的。读取器输出的流是普通的数据流,即就是没有杂夹标志的流。随后对该读取器进行更详细地描述。
生成器对读取器所读取的数据源进行流化以生成mms流数据。随后对该生成器进行更详细地描述。
输出器输出生成器所生成的mms流数据。
现在,参考图2,对根据本发明的流媒体协议转换系统的读取器进行进一步说明。如图2所示,该读取器进一步包括:设置模块、协议翻转模块、缓冲模块、读写模块、以及数据剥离模块。此外,更好地是,该读取器还可包括响应模块,该响应模块用于接收缓冲模块的响应消息。
设置模块设置读取器所输出的流的格式,其中读取器输出的流是普通的数据流,即就是没有杂夹标志的流。此外,优选的是,设置模块还可以设置源路径以及流的号码等等。
协议翻转模块进行预读并进行协议翻转以可将rtsp协议的数据下载下来,自动选择相应的协议来连接。该协议翻转模块包括对象open函数,对象open函数是为本领域普通技术人员所熟知的函数。具体地说,将输入的rtsp协议名称改成mms,当对象open函数打开mms协议地址时就会触发对象open函数进行协议翻转,即当使用MMS协议连接到发布点时,依据服务器发布的具体环境,为客户端选择适用于情况的最佳协议获得稳定的连接。协议翻转是为了确保获得最佳的流式连接。需要说明是,在协议翻转模块中仅仅是将rtsp协议的协议头改为mms,因此此时的数据并不是实际意义上的mms数据流。由于在现有技术中Windows media player是不能将rtsp协议的数据下载到本地的,因此通过将rtsp协议头改为mms,就可将rtsp的数据下载下来。
读写模块读取进行协议翻转之后的数据,并且将所读取的数据写入到缓冲模块中,开始整个读写网络流过程。
缓冲模块对读写模块所读取的数据进行缓冲。该缓冲模块可以具有事先分配好的固定大小的本地缓冲区,但是本发明并不局限于此,该缓冲模块也可以动态地创建本地缓冲区,其中缓冲区的大小是与所读取的视频源质量、大小、以及码率有关,并不是固定不变的,但是对于一个视频源而言,在整个处理过程中是固定不变的。当开始创建本地缓冲区时,向响应模块发送WMT_BUFFERING_START消息。当对输入的视频源数据处理完成之后,缓冲模块释放所创建的缓冲区。然而,不管缓冲区是事先分配好的还是动态分配的,但是对于一个视频源而言,由于在整个处理过程中缓冲模块的缓冲区是固定不变的并且是可反复写入的,因此在读写模块的读写过程中,当本地缓冲区第一次写满时,缓冲模块向响应模块发送WMT_BUFFERING_STOP消息,这说明流的读取已经进入正常状态。当缓冲区写满后,读写模块按照先进先出方式继续将数据写入到缓冲区中。
数据剥离模块对读写模块写入到本地缓冲区中的数据进行剥离处理以生成干净的视频元数据。具体地说,数据剥离模块对本地缓冲区中的数据进行回调处理,即对本地缓冲区中的数据进行解压或解码,根据设置模块的设置来对数据进行剥离,去除数据中表征rtsp特征的信息头、标识位,剩余干净的视频元数据,并按照一定采样方式重新产生数据流。此外,更好地是,该数据剥离模块包括回调函数OnSample或者函数OnStreamSample以实现对数据的解压或解码,其中回调函数OnSample对本地缓冲区中的数据进行处理以生成非压缩的数据流,或通过函数OnStreamSample对本地缓冲区中的数据进行处理以生成压缩的数据流。当然,对于本领域普通技术人员来说,本发明并不局限于回调函数OnSample或者函数OnStreamSample,而是可采用任何对数据进行解压或解码的适当技术。
现在,参考图3,对根据本发明的流媒体协议转换系统的生成器进行进一步说明。如图3所示,该生成器进一步包括:设置模块、缓冲模块、以及处理模块。
设置模块设置采样方式,并且更好地是,设置模块还设置网络连接传输协议和端口。
缓冲模块将数据剥离模块所处理的数据复制到该缓冲区中,这时的数据仍是干净的视频元数据。与上述一样,该缓冲模块可以具有事先分配好的固定大小的缓冲区,但是本发明并不局限于此,该缓冲模块也可以动态地开辟缓冲区。
处理模块根据设置模块设置的采样方式对复制到缓冲区中的数据进行采样,对复制到缓冲区中的数据进行加压,加码,并且产生asf文件格式的媒体数据。也就是说,处理模块对干净的视频元数据进行一系列的处理,从而产生asf格式的数据。该asf格式媒体文件以普通的http方式推送出去即是mmst流。此外,更好地是,该处理模块包括对象BeginWriting函数。当然,对于本领域普通技术人员来说,本发明并不局限于对象BeginWriting函数,而是可采用任何的适当技术,只要它可实现对干净的视频元数据进行一系列处理以产生asf流数据这样的功能。
接下来,参考图4,对根据本发明的流媒体协议转换方法进行详细的说明。图4给出了根据本发明的流媒体协议转换方法的流程图。
如图4所示,根据本发明的流媒体协议转换方法包括步骤:
首先,在步骤A中,读取器的设置模块设置读取器所输出的流的格式。如上所述,读取器输出的流是普通的数据流,即就是没有杂夹标志的流。
在步骤B中,生成器的设置模块设置采样方式,并且更好地是,设置模块还设置网络连接传输协议和端口。
在步骤C中,读取器的协议翻转模块进行预读并进行协议翻转以可将rtsp协议的数据下载下来,自动选择相应的协议来连接。该协议翻转模块包括对象open函数。具体地说,将输入的rtsp协议名称改成mms,当对象open函数打开mms协议地址时就会触发对象open函数进行协议翻转,即当使用MMS协议连接到发布点时,依据服务器发布的具体环境,为客户端选择适用于情况的最佳协议获得稳定的连接。协议翻转是为了确保获得最佳的流式连接。需要说明是,在协议翻转模块中仅仅是将rtsp协议的协议头改为mms,因此此时的数据并不是实际意义上的mms数据流。
在步骤D中,读取器的读写模块读取协议翻转之后的数据,并且将所读取的数据写入到缓冲模块的本地缓冲区中以进行缓冲,开始整个读写网络流过程。由于本地缓冲区是固定大小的并且是可反复写入的,因此在读写模块的读写过程中,当本地缓冲区第一次写满时,缓冲模块向响应模块发送WMT_BUFFERING_STOP消息,这说明流的读取已经进入正常状态。当缓冲区写满后,读写模块按照先进先出方式继续将数据写入到本地缓冲区中。
在步骤E中,读取器的数据剥离模块对写入到本地缓冲区中的数据进行剥离处理以生成干净的视频元数据。具体地说,数据剥离模块对缓冲区中的数据进行回调处理,即对本地缓冲区中的数据进行解压或解码,根据设置模块的设置来对数据进行剥离,去除数据中表征rtsp特征的信息头、标识位,剩余干净的视频元数据,并按照一定采样方式重新产生数据流。此外,更好地是,该数据剥离模块包括回调函数OnSample或者函数OnStreamSample以实现对数据的解压或解码,其中回调函数OnSample对本地缓冲区中的数据进行处理以生成非压缩的数据流,或通过函数OnStreamSample对本地缓冲区中的数据进行处理以生成压缩的数据流。当然,对于本领域普通技术人员来说,本发明并不局限于回调函数OnSample或者函数OnStreamSample,而是可采用任何对数据进行解压或解码的适当技术。
在步骤F中,将数据剥离模块所处理的数据复制到生成器的缓冲模块的缓冲区中,这时的数据仍是干净的视频元数据。
在步骤G中,生成器的处理模块根据设置模块设置的采样方式对复制到缓冲区中的数据进行采样,对复制到缓冲区中的数据进行加压,加码,并且产生asf文件格式的媒体数据。也就是说,处理模块对干净的视频元数据进行一系列的处理,从而产生asf式的数据。该asf格式媒体文件以普通的http方式推送出去即是mmst流。应该注意的是,步骤F和G是与步骤E同步进行的,也就是说,只要数据剥离模块剥离出干净的视频元数据,就将干净的视频元数据复制到生成器的缓冲区中并且同时由处理模块进行处理,即一边剥离一边处理。
在步骤H中,输出器输出mms流数据。
应该注意的是,步骤B可以在步骤A至E中的任何一个步骤之前或之后执行,也可以与步骤A至E中的任何一个同时执行。
对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因此,具有更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施例。因此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情况下,可对其做出各种修改。
Claims (7)
1.一种流媒体协议转换系统,该系统包括:
读取器,用于接收来自外部的rtsp流文件并且对该rtsp流文件进行处理以生成干净的视频元数据;
生成器,用于对读取器所生成的干净的视频元数据进行流化以生成mms流数据;以及
输出器,用于输出mms流数据。
2.根据权利要求1的流媒体协议转换系统,其中读取器进一步包括:
设置模块,用于设置读取器所输出的流的格式;
协议翻转模块,用于对来自外部的rtsp流文件进行预读并进行协议翻转;
读写模块,用于读取协议翻转之后的数据;
缓冲模块,用于对读写模块所读取的数据进行缓冲;
数据剥离模块,用于对缓冲模块中的数据进行剥离处理以生成干净的视频元数据。
3.根据权利要求1的流媒体协议转换系统,其中生成器进一步包括:
设置模块,用于设置采样方式;
缓冲模块,用于将读取器所处理的数据复制到该缓冲模块中;
处理模块,用于根据设置模块设置的采样方式对复制到缓冲区中的数据进行处理,并且产生asf文件格式的媒体数据,该asf格式媒体文件以普通的http方式推送出去即是mmst流。
4.一种流媒体协议转换方法,该系统包括步骤:
A、读取器接收来自外部的rtsp流文件并且对该rtsp流文件进行处理以生成干净的视频元数据;
B、生成器对读取器所生成的干净的视频元数据进行流化以生成mms流数据;以及
C、输出器输出mms流数据。
5.根据权利要求4的流媒体协议转换方法,其中步骤A进一步包括:
A1、设置读取器所输出的流的格式;
A2、对来自外部的rtsp流文件进行预读并进行协议翻转;
A3、读取协议翻转之后的数据;
A4、对所读取的数据进行缓冲;
A5、对缓冲的数据进行剥离处理以生成干净的视频元数据。
6.根据权利要求5的流媒体协议转换方法,其中步骤B进一步包括:
在步骤A1至A5中的任何一个步骤之前或之后或同时执行步骤:
B1、设置采样方式;
7.根据权利要求6的流媒体协议转换方法,其中步骤B进一步包括:
与步骤A5同时执行步骤:B2、将读取器所处理的数据复制到该生成器的缓冲区中;以及B3、根据所设置的采样方式对复制到缓冲模块中的数据进行处理,并且产生asf文件格式的媒体数据,该asf格式媒体文件以普通的http方式推送出去即是mmst流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101539297A CN102082761A (zh) | 2009-11-27 | 2009-11-27 | 一种流媒体协议转换系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101539297A CN102082761A (zh) | 2009-11-27 | 2009-11-27 | 一种流媒体协议转换系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102082761A true CN102082761A (zh) | 2011-06-01 |
Family
ID=44088515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101539297A Pending CN102082761A (zh) | 2009-11-27 | 2009-11-27 | 一种流媒体协议转换系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102082761A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656938A (zh) * | 2015-11-02 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种流媒体文件处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004077790A1 (en) * | 2003-02-26 | 2004-09-10 | Koninklijke Philips Electronics N.V. | System for broadcasting multimedia content |
US20050102371A1 (en) * | 2003-11-07 | 2005-05-12 | Emre Aksu | Streaming from a server to a client |
CN101064669A (zh) * | 2006-04-29 | 2007-10-31 | 互联天下科技发展(深圳)有限公司 | 一种网络实时播放多媒体数据的方法 |
CN101079871A (zh) * | 2006-09-29 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 多媒体信息流的透传方法和系统 |
CN101389020A (zh) * | 2008-05-06 | 2009-03-18 | 李丹 | 一种扩展流媒体播放设备解码能力的方法 |
-
2009
- 2009-11-27 CN CN2009101539297A patent/CN102082761A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004077790A1 (en) * | 2003-02-26 | 2004-09-10 | Koninklijke Philips Electronics N.V. | System for broadcasting multimedia content |
US20050102371A1 (en) * | 2003-11-07 | 2005-05-12 | Emre Aksu | Streaming from a server to a client |
CN101064669A (zh) * | 2006-04-29 | 2007-10-31 | 互联天下科技发展(深圳)有限公司 | 一种网络实时播放多媒体数据的方法 |
CN101079871A (zh) * | 2006-09-29 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 多媒体信息流的透传方法和系统 |
CN101389020A (zh) * | 2008-05-06 | 2009-03-18 | 李丹 | 一种扩展流媒体播放设备解码能力的方法 |
Non-Patent Citations (1)
Title |
---|
滑海: "《基于Windows Media的多媒体数字资源服务系统实现》", 《图书馆学刊》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656938A (zh) * | 2015-11-02 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种流媒体文件处理方法及装置 |
CN106656938B (zh) * | 2015-11-02 | 2020-03-03 | 腾讯科技(深圳)有限公司 | 一种流媒体文件处理方法及装置 |
US10700916B2 (en) | 2015-11-02 | 2020-06-30 | Tencent Technology (Shenzhen) Company Limited | Streaming media file processing method and apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2383941B1 (en) | Client terminal, method and system for downloading streaming media | |
CN106170095B (zh) | 内容分发网络系统和方法 | |
EP2223492B1 (en) | Real-time network transport protocol interface method and apparatus | |
EP1796389A3 (en) | Device and method for playback of streaming content | |
CN108848060A (zh) | 一种多媒体文件处理方法、处理系统及计算机可读存储介质 | |
CN103200461A (zh) | 一种多台播放终端同步播放系统及播放方法 | |
WO2012079223A1 (zh) | 内容传送网络中流媒体请求地址映射的方法及装置、缓存节点 | |
CN103957469A (zh) | 基于实时转封装的互联网视频点播方法及系统 | |
JP2003114845A5 (ja) | メディア変換方法およびメディア配信装置 | |
CN113661692B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读存储介质 | |
TW200904191A (en) | Media stream system and method thereof. | |
WO2015109847A1 (zh) | 一种分段节目快速分发的方法、服务器及客户端 | |
WO2017185601A1 (zh) | 一种提供、下载视频的方法及设备 | |
WO2007053957A1 (en) | Transcoder for live streams and on demand media | |
CN102656857A (zh) | 一种启动阶段的流媒体数据获取、发送方法及装置 | |
TWI577186B (zh) | 第二內容串流在第二裝置上描繪時間之控制方法及控制裝置 | |
WO2013185514A1 (zh) | 一种播放流媒体的系统和方法 | |
JP2018524893A (ja) | メディア同期化ウェブインタラクション | |
CN102082761A (zh) | 一种流媒体协议转换系统及其方法 | |
CN112953899A (zh) | 一种支持多音视频流协议的流媒体分发系统及方法 | |
AU2002317807A1 (en) | Capturing data attribute of predefined type from user | |
JP6597604B2 (ja) | 受信装置、送信装置、データ通信方法、およびデータ処理方法 | |
CN102244813A (zh) | 一种视频播放方法及应用其方法的互联网电视终端 | |
CN101420420A (zh) | 一种数据流式传输的方法和装置 | |
JP2000165825A (ja) | データ送受信システム、データ受信装置、及びデータ受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 310012, building 8, building 99, Huaxing Road, Hangzhou, Zhejiang Applicant after: China Telecom Corporation Limited Address before: Hangzhou City, Zhejiang province 310005 Moganshan Road No. 118 Applicant before: China Telecom Corporation Limited |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110601 |