CN101459693A - 一种流媒体下载方法及系统 - Google Patents

一种流媒体下载方法及系统 Download PDF

Info

Publication number
CN101459693A
CN101459693A CN200810246897.0A CN200810246897A CN101459693A CN 101459693 A CN101459693 A CN 101459693A CN 200810246897 A CN200810246897 A CN 200810246897A CN 101459693 A CN101459693 A CN 101459693A
Authority
CN
China
Prior art keywords
streaming media
medium data
rtp
file
stream medium
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
Application number
CN200810246897.0A
Other languages
English (en)
Inventor
吴明星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN200810246897.0A priority Critical patent/CN101459693A/zh
Publication of CN101459693A publication Critical patent/CN101459693A/zh
Priority to US13/141,416 priority patent/US20110320629A1/en
Priority to EP09837320.2A priority patent/EP2383941B1/en
Priority to BRPI0923614A priority patent/BRPI0923614A2/pt
Priority to PCT/CN2009/073863 priority patent/WO2010078763A1/zh
Priority to RU2011130223/08A priority patent/RU2487484C2/ru
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种流媒体下载方法,该方法包括:通过流媒体会话接收以RTP包承载的流媒体数据并缓存;将所缓存的RTP包排序、组帧;生成文件,将组好的数据帧写入所生成的文件中。本发明同时还公开了一种流媒体下载系统,包括流媒体服务器、客户端,流媒体服务器用于通过流媒体会话传送以RTP包承载的流媒体数据;客户端用于接收所述RTP包并缓存;用于将所缓存的RTP包排序、组帧;并用于生成文件,并将组好的数据帧写入所生成的文件中。采用本发明所述的方法和系统,能够保证下载中断后,已下载的流媒体数据可以正常播放。

Description

一种流媒体下载方法及系统
技术领域
本发明涉及多媒体存储技术,尤其涉及一种流媒体下载方法及系统。
背景技术
流媒体系统是一个典型的客户端、服务端系统,服务端主要是流媒体服务器。流媒体系统支持视频点播、直播业务的流媒体业务,用户需要时还可以采用文件传输协议(FTP)、超文本传输协议(HTTP)等下载方法实现流媒体源文件的下载。
但采用FTP、HTTP等下载方法下载流媒体内容,存在以下缺点:需要借助FTP服务器、HTTP服务器等服务器支持才能实现流媒体内容的下载;只支持整个流媒体内容的下载,不能满足用户只下载流媒体内容中感兴趣的片段的需求;未下载完整文件时,无法播放,即下载中断后,文件中已存储的流媒体数据,无法正常播放。
发明内容
有鉴于此,本发明的主要目的在于提供一种流媒体下载方法及系统,能够保证下载中断后,已下载的流媒体数据可以正常播放。
为达到上述目的,本发明的技术方案是这样实现的:
一种流媒体下载方法,该方法包括以下步骤:
通过流媒体会话接收以实时传输协议RTP包承载的流媒体数据并缓存;
将所缓存的RTP包排序、组帧;
生成文件,将组好的数据帧写入所生成的文件中。
进一步地,传输中断后,该方法进一步包括:
保存最后写入文件中的数据帧的时间戳,并丢弃所缓存的RTP包;
通过向媒体服务器发送携带传输中断的流媒体源文件URL地址的实时流协议描述RTSP Describe请求,发起建立流媒体会话请求;
向流媒体服务器发送携带所保存的时间戳的RTSP播放Rtsp play命令;
接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存;所述流媒体数据为根据所保存的时间戳确定的需要续传的流媒体数据;
将所缓存的RTP包排序、组帧;
每组好一帧数据,将该帧数据写到传输中断前所生成的文件中。
进一步地,所述对所缓存的流媒体数据进行排序、组帧包括:
a、将所缓存的RTP包排序;
b、从排序得到的RTP包序列中查找出第一个承载I帧数据的RTP包;丢弃该序列中所查找出的RTP包之前的RTP包,并从所查找出的RTP包起,根据RTP包的PID字段,区分出承载音频、视频数据的RTP包,并将承载音频、视频数据的RTP包分别组帧。
进一步地,其特征在于,所述通过流媒体会话接收以RTP包承载的流媒体数据并缓存包括:
建立流媒体会话;
向流媒体服务器发送携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtsp play命令;
接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存;所述流媒体数据为所述起始时间到终止时间的时间对应所述流媒体源文件中的流媒体数据。
进一步地,所述需要续传的流媒体数据为所保存的时间戳到终止时间的时间对应所述流媒体源文件中的流媒体数据。
本发明还提供一种流媒体下载系统,该系统包括:
流媒体服务器,用于通过流媒体会话传送以RTP包承载的流媒体数据;
客户端,用于接收所述RTP包并缓存;用于将所缓存的RTP包排序、组帧;并用于生成文件,并将组好的数据帧写入所生成的文件中。
进一步地,所述流媒体服务器包括:
第一解析单元,用于与客户端之间的信令交互,以建立流媒体会话;
发送模块,用于获取客户端要求的所述流媒体数据,以RTP包承载所获取的流媒体数据向客户端传送。
进一步地,所述客户端包括:
第一信令生成单元,用于与流媒体服务器之间的信令交互,以建立流媒体会话;
接收单元,用于接收所述RTP包并缓存;
处理单元,用于将所缓存的RTP包排序、组帧;
第一存储单元,用于生成文件,并将组好的数据帧写入所生成的文件中。
进一步地,所述客户端进一步包括:
第二存储单元,用于在传输发生中断时,存储最后写入文件中的数据帧的时间戳;
第二信令生成单元,用于生成携带所保存的时间戳的Rtsp play命令并发送;并用于生成携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtspplay命令并发送。
进一步地,所述流媒体服务器进一步包括:
第二解析单元,用于解析所述携带所保存的时间戳的Rtsp play命令,得到所保存的时间戳;并用于解析所述携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtsp play命令,得到流媒体源文件中选中下载部分的起始时间和终止时间;
数据识别单元,用于根据所述所保存的时间戳确定客户端要求传送的流媒体数据;并用于根据所述流媒体源文件中选中下载部分的起始时间和终止时间确定客户端要求传送的流媒体数据。
本发明所提供的流媒体下载方法及系统通过将流媒体数据顺序写入所述文件中,且组好一帧后才写入,确保写入文件中的每帧数据都是完整的,能够保证下载中断后,已下载的流媒体数据可以播放,即画面连续清晰,不会出现马赛克或画面断续等问题。本发明还具有以下的优点和特点:
1)本发明通过流媒体服务器即可实现流媒体源文件下载,不需借助FTP服务器、HTTP服务器等服务器;
2)本发明在传输中断后,保存最后写入文件中的数据帧的时间戳,并通过所保存的时间戳确定需要续传的流媒体数据并续传,使得传输中断后可接续断点处续传完成流媒体源文件的下载任务;
3)本发明通过设置请求时间字段,将流媒体源文件中用户感兴趣的部分通知流媒体服务器,使得用户可以随意下载流媒体源文件中感兴趣的部分的流媒体数据。
附图说明
图1为本发明实施例一流媒体下载方法的实现流程图;
图2为本发明实施例二流媒体下载方法的实现流程图;
图3为本发明实施例三流媒体下载系统的结构示意图。
具体实施方式
本发明实施例一流媒体下载方法的实现流程如图1所示,包括以下步骤:
步骤101:客户端向流媒体服务器获取要下载的流媒体源文件的统一资源定位器(URL)地址;向媒体服务器发送携带该URL地址的实时流协议描述(RTSP Describe)请求;收到Rtsp描述应答(Rtsp describe Respone)后,向流媒体服务器发送RTSP设置(Rtsp setup)命令;收到RTSP设置应答(Rtsp setupRespone)后,流媒体会话建立完成。该流媒体会话建立遵循RTSP标准协议要求。
这里,可以是边播放边下载流媒体源文件,即边播放流媒体服务器发来的流媒体数据,边对该流媒体数据进行缓存、排序、组帧并写入文件的操作,不必为下载重新建立流媒体会话。
步骤102:客户端向流媒体服务器发送RTSP播放(Rtsp play)命令;此处还可以通过Rtsp play定义传输速率,要求流媒体服务器以该传输速率向客户端传输流媒体数据。
步骤103:流媒体服务器向客户端发送RTSP播放应答(Rtsp play Respone)后,以实时传输协议(RTP)包承载所述流媒体源文件的流媒体数据向客户端传送,直到将流媒体源文件全部发送完后,向客户端发送传输结束通知。
传输没有发生中断时,执行步骤104~106,直到接收到传输结束通知,结束本次下载流程,或传输发生中断;如果传输发生中断,执行步骤107~113。
步骤104:客户端接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存。
其中,所述RTP包的包头中包含以下扩展字段:承载I帧数据的所述RTP包的包头包含指示该RTP包是I帧的开头、中间、结尾的I_frame_indicator字段;用于区分是视频或音频数据的PID字段;所述RTP包的包头包含指示该RTP包是否是一帧数据的开始的payload_unit_start_indicator字段。
步骤105:将所缓存的RTP包排序、组帧;
所述排序、组帧具体包括:
a、将所缓存的RTP包排序;在此,排序是为了防止传输中出现乱序,影响组帧;
b、根据RTP包的I_frame_indicator字段,从排序得到的RTP包序列中查找出第一个承载I帧数据的RTP包;丢弃该序列中所查找出的RTP包之前的RTP包,并从所查找出的RTP包起,根据RTP包的PID字段,区分出承载音频、视频数据的RTP包,并将承载音频、视频数据的RTP包分别组帧;
这里,将承载音频、视频数据的RTP包分别组帧具体包括:
查找RTP包序列中payload_unit_start_indicator字段为1的承载视频数据的RTP包作为视频帧帧头所在包,顺序将每个视频帧帧头所在包、以及该视频帧帧头所在包的下一个视频帧帧头所在包之前的承载视频数据的RTP包去掉包头后组成一帧;
查找RTP包序列中payload_unit_start_indicator字段为1的承载音频数据的RTP包作为音频帧帧头所在包,顺序将每个音频帧帧头所在包、以及该音频帧帧头所在包的下一个音频帧帧头所在包之前的承载音频数据的RTP包去掉包头后组成一帧。
步骤106:生成文件,将组好的数据帧写入所生成的文件中。
步骤107:传输中断后,客户端保存最后写入文件中的数据帧的时间戳,并丢弃所缓存的RTP包;
通过步骤105、106将流媒体数据顺序写入所述文件中,且组好一帧后才写入,确保写入文件中的每帧数据都是完整的,步骤107则使得发生传输中断时,文件中存储的第一帧数据也是I帧的多个完整且连续的数据帧,而第一帧数据是I帧的连续多个完整的帧,即可正常播放,不会因为首帧不是关键帧导致解码出现马赛克或画面断续等问题,因此,所述文件在下载中断后也可正常播放。
步骤108:客户端通过向流媒体服务器发送携带传输中断的流媒体源文件URL地址的RTSP Describe请求,发起建立流媒体会话请求;
步骤109:流媒体会话建立后,客户端在Rtsp play中设置请求时间字段,将所保存的时间戳写入该请求时间字段,向流媒体服务器发送该Rtsp play;
传输没有再次发生中断时,执行步骤111~113,直到接收到传输结束通知,结束本次下载流程,或传输再次发生中断;如果传输再次发生中断,返回步骤107,再次进行续传,继续完成本次下载任务。
步骤110:流媒体服务器接收到所述Rtsp play,解析该Rtsp play的请求时间字段,得到客户端所保存的时间戳,并寻找得到时间戳对应的流媒体数据,并以RTP包承载该流媒体数据之后的流媒体数据,即需要续传的流媒体数据,向客户端传送;
步骤111:客户端接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存。
步骤112:客户端将所缓存的RTP包排序、组帧;此处排序、组帧的具体过程与步骤105相同,此处不再赘述。
步骤113:将组好的数据帧写入传输中断前所生成的文件中。
步骤107~113,传输中断后,保存最后写入文件中的数据帧的时间戳,并通过所保存的时间戳查询传输中断点,确定需要续传的流媒体数据并续传,使得传输中断后,可接续断点处续传,完成流媒体源文件的下载任务。
步骤101~113中,通过客户端与流媒体服务器之间的信令交互,建立流媒体会话后,流媒体服务器向客户端传送流媒体数据,客户端对该流媒体数据进行缓存、排序、组帧并写入文件的操作,整个下载流程中不再采用FTP、HTTP等协议,因此不需要除流媒体服务器外的其它服务器介入,即完成了流媒体下载。
本发明实施例二流媒体下载方法的实现流程如图2所示,包括以下步骤:
步骤201:客户端向流媒体服务器获取流媒体源文件的URL地址;向媒体服务器发送携带该URL地址的RTSP Describe请求;收到Rtsp describe Respone应答后,向流媒体服务器发送RTSP设置(Rtsp setup)命令;收到Rtsp setupRespone应答后,流媒体会话建立完成。该流媒体会话建立遵循RTSP标准要求。
步骤202:客户端在Rtsp play中设置请求时间字段,将所述流媒体源文件中选中下载部分的起始时间和终止时间写入该请求时间字段,向流媒体服务器发送该Rtsp play;此处还可以通过Rtsp play定义传输速率,要求流媒体服务器以该传输速率向客户端传输流媒体数据。
步骤203:流媒体服务器接收到所述Rtsp play,解析该Rtsp play的请求时间字段,得到本次下载的起始时间和终止时间,并寻找起始时间到终止时间的时间对应的流媒体数据,即所述流媒体源文件中选中下载部分的流媒体数据,向客户端发送Rtsp play Respone后,以RTP包承载的所述起始时间到终止时间的时间对应的流媒体数据向客户端传送,直到传送完该时间段对应的流媒体数据后,向客户端发送传输结束通知。
步骤202、203通过设置请求时间字段,将流媒体源文件中用户感兴趣的部分,即所述流媒体源文件中选中下载部分,通知流媒体服务器,请求流媒体服务器传输该选中下载部分的流媒体数据,使得用户可以随意下载流媒体源文件中感兴趣的部分的流媒体数据。
传输没有发生中断时,执行步骤204~206,直到接收到传输结束通知,结束本次下载流程,或传输发生中断;如果传输发生中断,执行步骤207~213。
步骤204:客户端接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存。
其中,所述RTP包的包头中包含以下扩展字段:承载I帧数据的所述RTP包的包头包含指示该RTP包是I帧的开头、中间、结尾的I_frame_indicator字段;承载视频数据的所述RTP包的包头包含存放视频PID值的video_PID字段;承载音频数据的所述RTP包的包头包含存放音频PID值的video_PID字段;所述RTP包的包头包含指示该RTP包是否是一帧数据的开始的payload_unit_start_indicator字段。
步骤205:将所缓存的RTP包排序、组帧;
所述排序、组帧具体包括:
a、将所缓存的RTP包排序;在此,排序是为了防止传输中出现乱序,影响组帧;
b、根据RTP包的I_frame_indicator字段,从排序得到的RTP包序列中查找出第一个承载I帧数据的RTP包;丢弃该序列中所查找出的RTP包之前的RTP包,并从所查找出的RTP包起,根据RTP包的PID字段,区分出承载音频、视频数据的RTP包,并将承载音频、视频数据的RTP包分别组帧;
这里,将承载音频、视频数据的RTP包分别组帧具体包括:
查找RTP包序列中payload_unit_start_indicator字段为1的承载视频数据的RTP包作为视频帧帧头所在包,顺序将每个视频帧帧头所在包、以及该视频帧帧头所在包的下一个视频帧帧头所在包之前的承载视频数据的RTP包组成一帧;
查找RTP包序列中payload_unit_start_indicator字段为1的承载音频数据的RTP包作为音频帧帧头所在包,顺序将每个音频帧帧头所在包、以及该音频帧帧头所在包的下一个音频帧帧头所在包之前的承载音频数据的RTP包去掉包头后组成一帧。
步骤206:生成文件,将组好的数据帧写入所生成的文件中。
步骤207:传输中断后,客户端保存最后写入文件中的数据帧的时间戳,并丢弃所缓存的RTP包;
通过步骤205、206将流媒体数据顺序写入所述文件中,且组好一帧后才写入,确保写入文件中的每帧数据都是完整的,步骤207则使得发生传输中断时,文件中存储的第一帧数据也是I帧的多个完整且连续的数据帧,而第一帧数据是I帧的连续多个完整的帧,即可正常播放,得到连续清晰的画面,不会出现马赛克或画面断续等问题,因此,所述文件在下载中断后也可正常播放。
步骤208:客户端通过向流媒体服务器发送携带传输中断的流媒体源文件URL地址的RTSP Describe请求,发起建立流媒体会话请求;
步骤209:流媒体会话建立后,客户端将所保存的时间戳写入Rtsp play中所增加的请求时间字段作为接续传输的起始时间,所述流媒体源文件中选中下载部分的终止时间写入该请求时间字段作为接续传输的终止时间,将写入该请求时间字段,向流媒体服务器发送该Rtsp play;
传输没有再次发生中断时,执行步骤211~213,直到接收到传输结束通知,结束本次下载流程,或传输再次发生中断;如果传输再次发生中断,返回步骤107,再次进行续传,继续完成本次下载任务。
步骤210:流媒体服务器接收到所述Rtsp play,解析该Rtsp play的请求时间字段,得到客户端所保存的时间戳和终止时间,并寻找时间戳到终止时间的时间对应的流媒体数据,并以RTP包承载该时间段对应的流媒体数据,即需要续传的流媒体数据,向客户端传送;
步骤211:客户端接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存。
步骤212:客户端将所缓存的RTP包排序、组帧;此处排序、组帧的具体过程与步骤205相同,不再赘述。
步骤213:将组好的数据帧写入传输中断前所生成的文件中。
步骤207~213,传输中断后,保存最后写入文件中的数据帧的时间戳,并通过所保存的时间戳查询传输中断点,确定需要续传的起始流媒体数据并续传,使得传输中断后,可接续断点处续传,完成流媒体源文件的下载任务。
步骤201~213中,通过客户端与流媒体服务器之间的信令交互,建立流媒体会话后,客户端通过扩展Rtsp play命令,通知流媒体服务器其自流媒体源文件中选中下载的部分;流媒体服务器向客户端传送该选中下载部分的流媒体数据,客户端对该流媒体数据进行缓存、排序、组帧并写入文件的操作,整个下载流程中不再采用FTP、HTTP等协议,因此不需要除流媒体服务器外的其它服务器介入,即完成了流媒体下载。
本发明实施例三流媒体下载系统的结构如图3所示,包括:
流媒体服务器,用于通过流媒体会话传送以RTP包承载的流媒体数据;
客户端,用于接收所述RTP包并缓存;用于将所缓存的RTP包排序、组帧;并用于生成文件,并将组好的数据帧写入所生成的文件中。
其中,所述流媒体服务器包括:
第一解析单元,用于与客户端之间的信令交互,以建立流媒体会话;
发送模块,用于获取客户端要求的所述流媒体数据,以RTP包承载所获取的流媒体数据向客户端传送。
所述客户端包括:
第一信令生成单元,用于与流媒体服务器之间的信令交互,以建立流媒体会话;
接收单元,用于接收所述RTP包并缓存;
处理单元,用于将所缓存的RTP包排序、组帧;
第一存储单元,用于生成文件,并将组好的数据帧写入所生成的文件中。
所述客户端进一步包括:
第二存储单元,用于在传输发生中断时,存储最后写入文件中的数据帧的时间戳;
第二信令生成单元,用于生成携带所保存的时间戳的Rtsp play命令并发送;并用于生成携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtspplay命令并发送。
所述流媒体服务器进一步包括:
第二解析单元,用于解析所述携带所保存的时间戳的Rtsp play命令,得到所保存的时间戳;并用于解析所述携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtsp play命令,得到流媒体源文件中选中下载部分的起始时间和终止时间;
数据识别单元,用于根据所述所保存的时间戳确定客户端要求传送的流媒体数据;并用于根据所述流媒体源文件中选中下载部分的起始时间和终止时间确定客户端要求传送的流媒体数据。
本发明的方法及系统可下载的数据不限于RTP/RTCP/用户数据报协议(UDP)类型数据,且适用于有线网络、无线网络等多种传输环境。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1、一种流媒体下载方法,其特征在于,该方法包括以下步骤:
通过流媒体会话接收以实时传输协议RTP包承载的流媒体数据并缓存;
将所缓存的RTP包排序、组帧;
生成文件,将组好的数据帧写入所生成的文件中。
2、根据权利要求1所述的流媒体下载方法,其特征在于,传输中断后,该方法进一步包括:
保存最后写入文件中的数据帧的时间戳,并丢弃所缓存的RTP包;
通过向媒体服务器发送携带传输中断的流媒体源文件URL地址的实时流协议描述RTSP Describe请求,发起建立流媒体会话请求;
向流媒体服务器发送携带所保存的时间戳的RTSP播放Rtsp play命令;
接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存;所述流媒体数据为根据所保存的时间戳确定的需要续传的流媒体数据;
将所缓存的RTP包排序、组帧;
每组好一帧数据,将该帧数据写到传输中断前所生成的文件中。
3、根据权利要求1所述的流媒体下载方法,其特征在于,所述对所缓存的流媒体数据进行排序、组帧包括:
a、将所缓存的RTP包排序;
b、从排序得到的RTP包序列中查找出第一个承载I帧数据的RTP包;丢弃该序列中所查找出的RTP包之前的RTP包,并从所查找出的RTP包起,根据RTP包的PID字段,区分出承载音频、视频数据的RTP包,并将承载音频、视频数据的RTP包分别组帧。
4、根据权利要求1或2所述的流媒体下载方法,其特征在于,所述通过流媒体会话接收以RTP包承载的流媒体数据并缓存包括:
建立流媒体会话;
向流媒体服务器发送携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtsp play命令;
接收流媒体服务器发来的承载着流媒体数据的RTP包并缓存;所述流媒体数据为所述起始时间到终止时间的时间对应所述流媒体源文件中的流媒体数据。
5、根据权利要求4所述的流媒体下载方法,其特征在于,所述需要续传的流媒体数据为所保存的时间戳到终止时间的时间对应所述流媒体源文件中的流媒体数据。
6、一种流媒体下载系统,其特征在于,该系统包括:
流媒体服务器,用于通过流媒体会话传送以RTP包承载的流媒体数据;
客户端,用于接收所述RTP包并缓存;用于将所缓存的RTP包排序、组帧;并用于生成文件,并将组好的数据帧写入所生成的文件中。
7、根据权利要求6所述流媒体下载系统,其特征在于,所述流媒体服务器包括:
第一解析单元,用于与客户端之间的信令交互,以建立流媒体会话;
发送模块,用于获取客户端要求的所述流媒体数据,以RTP包承载所获取的流媒体数据向客户端传送。
8、根据权利要求6所述流媒体下载系统,其特征在于,所述客户端包括:
第一信令生成单元,用于与流媒体服务器之间的信令交互,以建立流媒体会话;
接收单元,用于接收所述RTP包并缓存;
处理单元,用于将所缓存的RTP包排序、组帧;
第一存储单元,用于生成文件,并将组好的数据帧写入所生成的文件中。
9、根据权利要求8所述流媒体下载系统,其特征在于,所述客户端进一步包括:
第二存储单元,用于在传输发生中断时,存储最后写入文件中的数据帧的时间戳;
第二信令生成单元,用于生成携带所保存的时间戳的Rtsp play命令并发送;并用于生成携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtspplay命令并发送。
10、根据权利要求9所述流媒体下载系统,其特征在于,所述流媒体服务器进一步包括:
第二解析单元,用于解析所述携带所保存的时间戳的Rtsp play命令,得到所保存的时间戳;并用于解析所述携带流媒体源文件中选中下载部分的起始时间和终止时间的Rtsp play命令,得到流媒体源文件中选中下载部分的起始时间和终止时间;
数据识别单元,用于根据所述所保存的时间戳确定客户端要求传送的流媒体数据;并用于根据所述流媒体源文件中选中下载部分的起始时间和终止时间确定客户端要求传送的流媒体数据。
CN200810246897.0A 2008-12-29 2008-12-29 一种流媒体下载方法及系统 Pending CN101459693A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN200810246897.0A CN101459693A (zh) 2008-12-29 2008-12-29 一种流媒体下载方法及系统
US13/141,416 US20110320629A1 (en) 2008-12-29 2009-09-10 Stream media server, client terminal and method and system for downloading stream media
EP09837320.2A EP2383941B1 (en) 2008-12-29 2009-09-10 Client terminal, method and system for downloading streaming media
BRPI0923614A BRPI0923614A2 (pt) 2008-12-29 2009-09-10 servidor de fluxo de mídia, terminal de cliente e método e sistema para baixar fluxo de mídia
PCT/CN2009/073863 WO2010078763A1 (zh) 2008-12-29 2009-09-10 流媒体服务器、客户端及流媒体下载的方法和系统
RU2011130223/08A RU2487484C2 (ru) 2008-12-29 2009-09-10 Потоковый медиа-сервер, клиентский терминал, способ и система для загрузки потоковых мультимедийных данных

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810246897.0A CN101459693A (zh) 2008-12-29 2008-12-29 一种流媒体下载方法及系统

Publications (1)

Publication Number Publication Date
CN101459693A true CN101459693A (zh) 2009-06-17

Family

ID=40770317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810246897.0A Pending CN101459693A (zh) 2008-12-29 2008-12-29 一种流媒体下载方法及系统

Country Status (6)

Country Link
US (1) US20110320629A1 (zh)
EP (1) EP2383941B1 (zh)
CN (1) CN101459693A (zh)
BR (1) BRPI0923614A2 (zh)
RU (1) RU2487484C2 (zh)
WO (1) WO2010078763A1 (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010078763A1 (zh) * 2008-12-29 2010-07-15 中兴通讯股份有限公司 流媒体服务器、客户端及流媒体下载的方法和系统
WO2011038593A1 (zh) * 2009-09-29 2011-04-07 中兴通讯股份有限公司 彩信编辑时获取媒体资源的方法及其移动终端
CN102215116A (zh) * 2010-04-02 2011-10-12 三星电子株式会社 在数字广播系统中提供时间偏移服务的方法、设备及系统
CN102438182A (zh) * 2010-09-29 2012-05-02 中兴通讯股份有限公司 一种视频流分析方法及装置
EP2491715A1 (en) * 2009-10-21 2012-08-29 Telefonaktiebolaget L M Ericsson (PUBL) Method, apparatus and system for media position control
CN102654884A (zh) * 2012-04-26 2012-09-05 深圳市万兴软件有限公司 一种媒体数据截取的方法、装置及系统
CN102685469A (zh) * 2012-05-04 2012-09-19 北京航空航天大学 一种基于mpeg-2 aac及h.264音视频传输码流的组帧方法
CN102917212A (zh) * 2012-10-29 2013-02-06 合肥移瑞通信技术有限公司 一种基于rtp和rtsp的3g无线视频监控实现方法及系统
CN103026680A (zh) * 2010-08-10 2013-04-03 瑞典爱立信有限公司 用于媒体流传输的会话控制
WO2013053259A1 (zh) * 2011-10-11 2013-04-18 华为技术有限公司 流媒体数据的处理方法、播放方法以及装置
CN103124412A (zh) * 2012-11-16 2013-05-29 佳都新太科技股份有限公司 一种基于rtp协议的网络抖动处理技术
CN104661113A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种直播流媒体的方法、服务器、终端及通信系统
CN104735463A (zh) * 2015-03-26 2015-06-24 南京传唱软件科技有限公司 流媒体传输方法及系统
CN105227671A (zh) * 2015-10-16 2016-01-06 北京恒华伟业科技股份有限公司 离线数据缓存方法及系统
CN105392086A (zh) * 2015-11-04 2016-03-09 广东欧珀移动通信有限公司 一种信息处理方法及播放设备
CN107948153A (zh) * 2017-11-23 2018-04-20 莫宝兰 一种流媒体传输控制系统和方法
CN107995172A (zh) * 2017-11-23 2018-05-04 莫宝兰 一种数据流传输控制系统和方法
CN108023906A (zh) * 2016-10-31 2018-05-11 杭州海康威视系统技术有限公司 监控录像的断点续传方法及装置
CN108989426A (zh) * 2018-07-17 2018-12-11 深圳市网心科技有限公司 基于hls协议的拉流方法、系统及客户端和存储介质
CN111698466A (zh) * 2020-05-07 2020-09-22 浙江大华技术股份有限公司 监控录像断点下载的方法、装置、设备和介质
CN111866604A (zh) * 2020-07-24 2020-10-30 四川科泰智能电子有限公司 一种音视频传输方法及系统
CN114697712A (zh) * 2022-05-16 2022-07-01 浙江华创视讯科技有限公司 一种媒体流的下载方法、装置、设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390053B2 (en) * 2012-04-20 2016-07-12 Sk Telecom Co., Ltd. Cache device, cache control device, and methods for detecting handover
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
CN104253816A (zh) * 2014-09-25 2014-12-31 武汉传神信息技术有限公司 基于http协议的大文件页面断点续传的方法
CN109547860A (zh) * 2018-12-07 2019-03-29 晶晨半导体(上海)股份有限公司 一种点播的视频断网续播的方法和iptv播放装置
CN109495764B (zh) * 2018-12-07 2022-04-01 晶晨半导体(上海)股份有限公司 一种直播时移的视频断网续播的方法和iptv播放装置
CN113365098B (zh) * 2021-06-01 2022-07-22 平安国际智慧城市科技股份有限公司 视频帧组装方法、装置、电子设备及存储介质
CN114679438B (zh) * 2022-03-03 2024-04-30 上海艾策通讯科技股份有限公司 流媒体数据传输方法、装置、计算机设备和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608966B1 (en) * 1994-10-07 2003-08-19 Intel Corporation VCR-type controls for video server system
US5659539A (en) * 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
GB0103381D0 (en) * 2001-02-12 2001-03-28 Eyretel Ltd Packet data recording method and system
US20020178330A1 (en) * 2001-04-19 2002-11-28 Schlowsky-Fischer Mark Harold Systems and methods for applying a quality metric to caching and streaming of multimedia files over a network
US20030002865A1 (en) * 2001-06-29 2003-01-02 Yoshinori Matsui Data playback apparatus and data relay apparatus
FI114527B (fi) * 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
US20030206549A1 (en) * 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
US20050091554A1 (en) * 2003-08-07 2005-04-28 Dmitrii Loukianov Event time-stamping
JP4718122B2 (ja) * 2004-04-06 2011-07-06 株式会社日立製作所 メディア配信装置
FR2883692A1 (fr) * 2005-03-25 2006-09-29 Thomson Licensing Sa Procede d'envoi de commande a un serveur de flux de donnees numeriques et appareil implementant le procede
EP1777962A1 (en) * 2005-10-24 2007-04-25 Alcatel Lucent Access/edge node supporting multiple video streaming services using a single request protocol
EP1788774A1 (en) * 2005-11-18 2007-05-23 Alcatel Lucent Method and system for initiating or recovering a media-on-demand session
CN100473162C (zh) * 2005-11-27 2009-03-25 海信集团有限公司 基于单输入接口的mpeg2文件实时播放的方法
CN101009686A (zh) * 2006-01-23 2007-08-01 中兴通讯股份有限公司 一种流媒体播放方法
CN101217638B (zh) * 2007-12-28 2012-10-24 深圳市迅雷网络技术有限公司 视频文件分段下载的方法、系统及装置
CN101277209B (zh) * 2008-05-14 2010-07-14 山东大学 网络流媒体传输断线重连技术
JP4735697B2 (ja) * 2008-09-29 2011-07-27 ソニー株式会社 電子機器、コンテンツ再生方法及びプログラム
CN101459693A (zh) * 2008-12-29 2009-06-17 中兴通讯股份有限公司 一种流媒体下载方法及系统
US8903895B2 (en) * 2009-07-22 2014-12-02 Xinlab, Inc. Method of streaming media to heterogeneous client devices

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010078763A1 (zh) * 2008-12-29 2010-07-15 中兴通讯股份有限公司 流媒体服务器、客户端及流媒体下载的方法和系统
WO2011038593A1 (zh) * 2009-09-29 2011-04-07 中兴通讯股份有限公司 彩信编辑时获取媒体资源的方法及其移动终端
EP2491715A1 (en) * 2009-10-21 2012-08-29 Telefonaktiebolaget L M Ericsson (PUBL) Method, apparatus and system for media position control
EP2491715A4 (en) * 2009-10-21 2014-06-25 Ericsson Telefon Ab L M METHOD, DEVICE AND SYSTEM FOR MEDIA POSITION CONTROL
CN102215116B (zh) * 2010-04-02 2016-03-02 三星电子株式会社 在数字广播系统中提供时间偏移服务的方法、设备及系统
CN102215116A (zh) * 2010-04-02 2011-10-12 三星电子株式会社 在数字广播系统中提供时间偏移服务的方法、设备及系统
US9615119B2 (en) 2010-04-02 2017-04-04 Samsung Electronics Co., Ltd. Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
CN103026680A (zh) * 2010-08-10 2013-04-03 瑞典爱立信有限公司 用于媒体流传输的会话控制
CN102438182B (zh) * 2010-09-29 2014-11-05 中兴通讯股份有限公司 一种视频流分析方法及装置
CN102438182A (zh) * 2010-09-29 2012-05-02 中兴通讯股份有限公司 一种视频流分析方法及装置
WO2013053259A1 (zh) * 2011-10-11 2013-04-18 华为技术有限公司 流媒体数据的处理方法、播放方法以及装置
CN102654884A (zh) * 2012-04-26 2012-09-05 深圳市万兴软件有限公司 一种媒体数据截取的方法、装置及系统
CN102685469A (zh) * 2012-05-04 2012-09-19 北京航空航天大学 一种基于mpeg-2 aac及h.264音视频传输码流的组帧方法
CN102917212A (zh) * 2012-10-29 2013-02-06 合肥移瑞通信技术有限公司 一种基于rtp和rtsp的3g无线视频监控实现方法及系统
CN103124412A (zh) * 2012-11-16 2013-05-29 佳都新太科技股份有限公司 一种基于rtp协议的网络抖动处理技术
CN104661113A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种直播流媒体的方法、服务器、终端及通信系统
CN104735463A (zh) * 2015-03-26 2015-06-24 南京传唱软件科技有限公司 流媒体传输方法及系统
CN105227671A (zh) * 2015-10-16 2016-01-06 北京恒华伟业科技股份有限公司 离线数据缓存方法及系统
CN105392086A (zh) * 2015-11-04 2016-03-09 广东欧珀移动通信有限公司 一种信息处理方法及播放设备
CN105392086B (zh) * 2015-11-04 2018-05-29 广东欧珀移动通信有限公司 一种信息处理方法及播放设备
CN108023906A (zh) * 2016-10-31 2018-05-11 杭州海康威视系统技术有限公司 监控录像的断点续传方法及装置
CN108023906B (zh) * 2016-10-31 2020-06-12 杭州海康威视系统技术有限公司 监控录像的断点续传方法及装置
CN107948153A (zh) * 2017-11-23 2018-04-20 莫宝兰 一种流媒体传输控制系统和方法
CN107995172A (zh) * 2017-11-23 2018-05-04 莫宝兰 一种数据流传输控制系统和方法
CN108989426A (zh) * 2018-07-17 2018-12-11 深圳市网心科技有限公司 基于hls协议的拉流方法、系统及客户端和存储介质
CN108989426B (zh) * 2018-07-17 2021-04-06 深圳市网心科技有限公司 基于hls协议的拉流方法、系统及客户端和存储介质
CN111698466A (zh) * 2020-05-07 2020-09-22 浙江大华技术股份有限公司 监控录像断点下载的方法、装置、设备和介质
CN111866604A (zh) * 2020-07-24 2020-10-30 四川科泰智能电子有限公司 一种音视频传输方法及系统
CN114697712A (zh) * 2022-05-16 2022-07-01 浙江华创视讯科技有限公司 一种媒体流的下载方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2010078763A1 (zh) 2010-07-15
BRPI0923614A2 (pt) 2016-01-12
US20110320629A1 (en) 2011-12-29
EP2383941B1 (en) 2017-05-17
RU2011130223A (ru) 2013-02-20
RU2487484C2 (ru) 2013-07-10
EP2383941A1 (en) 2011-11-02
EP2383941A4 (en) 2012-10-31

Similar Documents

Publication Publication Date Title
CN101459693A (zh) 一种流媒体下载方法及系统
WO2020192152A1 (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
US7587507B2 (en) Media recording functions in a streaming media server
CN101741890B (zh) 一种实现速率控制的方法、系统和设备
JP5086285B2 (ja) 映像配信システム,映像配信装置,及び同期補正処理装置
US8806048B2 (en) Method and apparatus for transmitting and receiving streaming data based on real-time streaming protocol (RTSP) session
US10015225B2 (en) Method for dynamic adaptation of the reception bitrate and associated receiver
US20130124683A1 (en) Data distribution system, data distribution method, data relay device on distribution side, and data relay device on reception side
US8407361B2 (en) Media player with integrated parallel source download technology
US11070601B2 (en) Data rate adaptation for multicast delivery of streamed content
KR20140099924A (ko) 이용가능한 대역폭에 따라 전송 프로토콜을 선택함으로써 콘텐츠를 획득하는 장치
CN101827251B (zh) 一种播放网络流媒体的方法、装置
EP1806870B1 (en) Method for providing data and data transmission system
KR20120114016A (ko) 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
JP2013504912A (ja) Mpeg−2ts多重化マルチメディアストリームのエレメンタリパケットの選択による、mpeg−2ts多重化マルチメディアストリームの配信
JP2004038575A (ja) データ送受信システム及びデータ送受信方法、情報提供装置及び情報提供方法、並びにデータ受信装置及びデータ受信方法
KR102137858B1 (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램
CN104469538B (zh) 面向画面画质较小损失的rtp视频流数据包重组方法
US9332421B2 (en) Method and apparatus for random access to multimedia content in wireless communication system
CN101917327A (zh) 一种流媒体收录方法及一种播放器
RU2655744C2 (ru) Устройство подачи содержания, способ подачи содержания, программа, оконечное устройство и система подачи содержания
WO2015064384A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法
CN116074297A (zh) 视频传输方法、系统和相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090617