CN101277443B - 流媒体播放方法和终端 - Google Patents

流媒体播放方法和终端 Download PDF

Info

Publication number
CN101277443B
CN101277443B CN2008101040477A CN200810104047A CN101277443B CN 101277443 B CN101277443 B CN 101277443B CN 2008101040477 A CN2008101040477 A CN 2008101040477A CN 200810104047 A CN200810104047 A CN 200810104047A CN 101277443 B CN101277443 B CN 101277443B
Authority
CN
China
Prior art keywords
media stream
stream data
data
buffering area
sign
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.)
Active
Application number
CN2008101040477A
Other languages
English (en)
Other versions
CN101277443A (zh
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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN2008101040477A priority Critical patent/CN101277443B/zh
Publication of CN101277443A publication Critical patent/CN101277443A/zh
Application granted granted Critical
Publication of CN101277443B publication Critical patent/CN101277443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种流媒体播放方法和终端,该方法包括根据预设工作模式标识获取媒体流数据;对媒体流数据进行解析,获得媒体流数据的原始编码数据和相关辅助信息;根据预设工作模式标识判断播放媒体流数据是否需要缓冲区,如果是,根据相关辅助信息对媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放,否则,对解析后的原始编码数据直接进行解码播放。本发明通过预设工作模式标识以不同的方法获取流媒体数据并进行相应的播放处理,实现对需缓冲区和不需缓冲区的媒体流数据区分播放,使得播放终端可灵活适配于不同的流媒体服务器,保证了播放质量和速度,节省了播放终端的资源,提高了播放终端的互通能力。

Description

流媒体播放方法和终端
技术领域
本发明涉及网络电视(Internet Protocol Television,IPTV)领域,特别是涉及一种流媒体播放方法和终端。
背景技术
IPTV终端播放来自网络的流媒体节目时要用到两个功能模块:网络接收模块和播放软件模块。流媒体节目的播放分三步,第一步是从流媒体服务器上接收媒体流数据;第二步是对接收到的媒体流数据进行乱序重排、抖动处理、丢包处理等的预处理操作,而媒体流数据预处理操作需要用到缓冲区;第三步是对媒体流数据进行解码和播放。其中,所述第一步由网络接收模块实现,第三步由播放软件模块实现,而第二步则根据流媒体服务器采用的传输协议决定是由网络接收模块或播放软件模块来实现。
不同的流媒体服务器采用的媒体流数据传输协议并不一致,如:有的流媒体服务器采用实时传输协议(Real Time Transport Protocol,RTP),有的流媒体服务器采用用户数据报协议(User Datagram Protocol,UDP)。若采用RTP协议进行媒体流数据传输,网络接收模块在接收媒体流数据时可以根据RTP协议携带的信息进行媒体流数据预处理操作,不需要播放软件模块提供用于存储媒体流数据的缓冲区;若采用UDP协议进行媒体流数据传输,则只能根据媒体流数据本身携带的信息进行媒体流数据的预处理操作,而这只能由播放软件模块实现,因此播放软件模块需具备提供缓冲区的功能,以实现媒体流数据预处理操作。因此,播放软件模块在设计开发时就要考虑是否需要设置缓冲区以实现媒体流数据预处理操作,从而可以与特定的流媒体服务器适配。
目前流媒体终端在对媒体流数据预处理操作有以下两种方案:一种方案是在播放软件模块中设置缓冲区,不管与采用何种媒体流数据传输协议的流媒体服务器进行对接,播放软件模块均分配缓冲区来实现媒体流数据的预处理操作。但在对采用RTP协议这类不需要在播放软件模块中进行媒体流数据的预处理操作的流媒体服务器,也同样会分配一次缓冲区,因此会多进行一次媒体流数据预处理操作,而这必然造成资源的极大浪费。第二种方案是在播放软件模块中不设置缓冲区,即不在播放软件模块中进行媒体流数据的预处理操作。但采用这种方案的播放终端在与采用UDP协议进行媒体流数据传输的流媒体服务器对接时,由于没有进行媒体流数据的预处理操作,媒体流数据可能混乱,严重影响媒体流的播放效果。
由上述技术方案可以看出,目前在流媒体播放终端的开发设计时就需考虑播放软件模块与特定的网络接收模块搭配才可实现对特定流媒体服务器的适配,播放软件模块与网络接收模块之间存在极大的耦合性,造成流媒体播放终端中的播放软件模块对需要媒体流数据缓冲和不需要媒体流缓冲的媒体流都进行同样的处理,无法区分处理,使得流媒体终端只能播放特定流媒体服务器提供的流媒体节目,流媒体终端的互通性能差,造成资源浪费或严重影响播放效果。
发明内容
本发明的目的是提供一种流媒体播放方法和终端,实现对不同流媒体服务器提供的流媒体节目的播放,使得同一流媒体播放终端可实现对需要缓冲区和不需要缓冲区的不同流媒体服务器进行对接并实现高质量、高速的播放效果,增强流媒体播放终端的互通能力,提高资源利用率。
为实现上述目的,本发明提供了一种流媒体播放方法包括:
创建播放实例,预设所述媒体流数据的工作模式标识,所述工作模式标识包括带缓冲模式标识和无缓冲模式标识;
根据所述预设工作模式标识,判断所述媒体流数据是否需要缓冲区,若需要,设置存储媒体流数据的缓冲区;若不需要,设置回调函数,以供获取媒体流数据;
根据预设工作模式标识获取媒体流数据,所述工作模式标识包括带缓冲模式标识和无缓冲模式标识
对所述媒体流数据进行解析,获得媒体流数据的原始编码数据和相关辅助信息;
根据预设工作模式标识判断播放所述媒体流数据是否需要缓冲区,如果是,则根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放;否则,对所述媒体流数据的原始编码数据直接进行解码播放;
其中,所述根据预设工作模式标识获取媒体流数据包括:根据所述预设工作模式标识判断所述媒体流数据是否需要所述缓冲区,若所述预设工作模式标识为所述带缓冲模式标识,则需要缓冲区,被动接收媒体流数据;若所述预设工作模式标识为所述无缓冲模式标识,则不需要缓冲区,通过回调函数主动获取媒体流数据。
本发明还提供了一种流媒体播放终端,包括用于接收流媒体服务器发送的媒体流数据的网络接收模块和用于播放媒体流数据的播放软件模块,所述播放软件模块包括:
创建单元,用于创建播放实例,预设所述媒体流数据的工作模式标识;
设置单元,用于根据所述预设工作模式标识,设置存储媒体流数据的缓冲区,或者设置回调函数,以供获取媒体流数据;
获取单元,用于根据预设工作模式标识获取媒体流数据,所述工作模式标识包括带缓冲模式标识和无缓冲模式标识;
解析单元,用于对所述媒体流数据进行解析,获得媒体流数据的原始编码数据和相关辅助信息;
播放单元,用于根据预设工作模式标识判断播放所述媒体流数据是否需要缓冲区,如果是,则根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放;否则,对所述媒体流数据的原始编码数据进行解码播放;
其中,所述获取单元包括:
第一判断单元,用于根据所述预设工作模式标识判定所述流媒体数据是否需要所述缓冲区,其中,根据所述预设工作模式标识是否需要所述缓冲区具体为:若所述预设工作模式标识为所述带缓冲模式标识,则需要缓冲区,若所述预设工作模式标识为所述无缓冲模式标识,则不需要缓冲区;
接收单元,根据所述第一判断单元的判定结果,若需要缓冲区,用于被动接收媒体流数据;
接收控制单元,根据所述第一判断单元的判定结果,若不需要缓冲区,用于利用回调函数主动获取媒体流数据。
本发明流媒体播放方法和终端可以接收和播放需缓冲区和不需缓冲区的流媒体节目,实现了与不同流媒体服务器的适配,使得媒体流的播放更加灵活,增强了流媒体终端产品的互通能力,提高了资源的利用率,同时流媒体终端的播放软件模块在开发设计时不用过多考虑与各种不同网络接收模块的搭配问题,使得流媒体终端的开发更加灵活。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明流媒体播放方法实施例一的流程图;
图2为本发明流媒体播放方法实施例二的流程图;
图3为本发明流媒体播放方法实施例三的流程图;
图4为本发明流媒体播放终端实施例一的结构图;
图5为本发明流媒体播放终端实施例二的结构图。
具体实施方式
如图1所示,为本发明流媒体播放方法实施例一的流程图。本实施例在接收到网络上流媒体服务器传过来的媒体流数据后,包括以下步骤:
步骤50、流媒体播放终端根据预设工作模式标识获取媒体流数据;
步骤60、流媒体播放终端对获取的媒体流数据进行解析,如进行MEPG-TS解码,得到流媒体原始编码数据(如音视频编码数据)和相关的辅助信息等;
步骤70、流媒体播放终端根据预设工作模式标识判断播放所述媒体流数据是否需要缓冲区,如果是,则根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放;否则,对所述媒体流数据的原始编码数据进行解码播放。
本实施例中,流媒体播放终端可以播放需要缓冲区和不需要缓冲区的媒体流数据,提高了与不同流媒体服务器的适配能力,增强了流媒体播放的灵活性。
如图2所示,为本发明流媒体播放方法实施例二的流程图。与上述实施例一相比,本实施例在步骤50之前还包括以下步骤:
步骤10、流媒体播放终端创建播放实例,并在创建播放实例时预设所述媒体流数据的工作模式标识,所述工作模式标识包括带缓冲模式标识和无缓冲模式标识,且根据所述工作模式标识可判定媒体流数据是否需要缓冲区;
步骤20、流媒体播放终端根据预设工作模式标识,判断媒体流是否需要缓冲区,若是,执行步骤30,否则,执行步骤40;
步骤30、流媒体播放终端设置一缓冲区,用于存储媒体流数据,执行步骤501;
步骤40、流媒体播放终端设置一回调函数,用于获取媒体流数据,执行步骤502;
使得那些不需要缓冲区的媒体流数据可以不设置缓冲区,提高了流媒体播放终端的资源利用率。
步骤50具体包括:
步骤501、流媒体播放终端被动等待媒体流数据送过来并接收;
步骤502、流媒体播放终端在需要时通过回调函数主动获取媒体流数据。
本实施例通过在创建播放实例时预设工作模式标识,实现了以不同的方法获取需缓冲区和不需缓冲区的媒体流数据,实现了对不同的流媒体数据获取方法的媒体流数据进行接收,可更加灵活与不同流媒体服务器的适配。
如图3所示,为本发明流媒体播放方法第三实施例的流程图。在上述实施例二的基础上,步骤70具体包括如下步骤:
步骤701、流媒体播放终端根据预设工作模式标识判断播放所述媒体流数据是否需要缓冲区,如果是,执行步骤702,否则执行步骤705;
步骤702、流媒体播放终端根据步骤60解析后得到的相关辅助信息对媒体流数据的原始编码数据进行相应的预处理即对媒体流数据进行乱序重排、抖动处理及丢包处理等的操作;
步骤703、流媒体播放终端将经过步骤702预处理后的媒体流数据的原始编码数据存储于缓冲区中;
步骤704、流媒体播放终端判定所述缓冲区中的数据是否达到播放门限,若达到,则执行步骤705,若没有达到,等待,直到达到方可发送缓冲区中的数据;
步骤705、流媒体播放终端对接收到的媒体流数据,进行解码播放。
本实施例中,根据预设工作模式实现了对需缓冲区和不需缓冲区的媒体流数据区分播放处理,通过对需要缓冲区的媒体流数据进行预处理实现对媒体流的播放,保证了播放的效果,同时对不需要缓冲区的媒体流则不进行预处理,直接进行播放,避免了现有技术中重复进行预处理而造成的资源浪费,提高了播放速度,同时保证了播放质量,实现了对不同流媒体服务器提供的媒体流的高质量、高速的播放效果,节省了资源。
如图4所示,为本发明流媒体播放终端实施例一的结构图。本实施例包括网络接收模块1和播放软件模块2,其中播放软件模块2包括获取单元23、解析单元24和播放单元25。其中获取单元23,用于根据预设工作模式标识获取媒体流数据;解析单元24,用于对媒体流数据进行解析,获得媒体流数据的原始编码数据和相关辅助信息;播放单元25,用于根据预设工作模式标识判断播放所述媒体流数据是否需要缓冲区,如果是,则根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放;否则,对所述媒体流数据的原始编码数据进行解码播放。
本实施例实现了对需缓冲区和不需缓冲的媒体流的播放,使得流媒体播放终端可以适配不同的流媒体服务器,提高了流媒体播放终端的互通能力。
如图5所示,为本发明流媒体播放终端实施例二的结构图。在上述实施例一的基础上,播放软件模块2还包括创建单元21,用于创建播放实例,预设所述媒体流数据的工作模式标识;设置单元22,用于根据所述预设工作模式标识,设置存储媒体流数据的缓冲区,或者设置回调函数,以供获取媒体流数据。
进一步地,获取单元23具体包括:第一判断单元231,用于判定根据所述媒体流数据的工作模式标识是否需要所述缓冲区;接收单元232,用于被动收媒体流数据;接收控制单元233,用于控制并利用所述回调函数主动获取媒体流数据。播放单元25具体包括:第二判断单元251,用于判定根据所述媒体流数据的工作模式标识是否需要所述缓冲区;预处理单元252,根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的预处理操作,把经过预处理操作的媒体流数据的原始编码数据存入所述缓冲区中;播放门限判定单元253,用于判定所述缓冲区中的数据是否达到播放门限;解码播放单元254,用于对接收到的媒体流数据的原始编码数据进行解码播放。
本实施例通过判定媒体流是否需要缓冲区设置缓冲区或回调函数,实现对不同媒体流数据进行了相应的接收、处理和播放,提高了资源利用率,保证了播放质量,提高了播放速度,同时也提高了流媒体播放终端的开发设计的灵活性,不用过多考虑播放软件模块和网络接收模块的搭配问题,增强了流媒体播放终端的互通能力。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

Claims (4)

1.一种流媒体播放方法,其特征在于包括:
创建播放实例,预设所述媒体流数据的工作模式标识,所述工作模式标识包括带缓冲模式标识和无缓冲模式标识;
根据所述预设工作模式标识,判断所述媒体流数据是否需要缓冲区,若需要,设置存储媒体流数据的缓冲区;若不需要,设置回调函数,以供获取媒体流数据;
根据预设工作模式标识获取媒体流数据;
对所述媒体流数据进行解析,获得媒体流数据的原始编码数据和相关辅助信息;
根据预设工作模式标识判断播放所述媒体流数据是否需要缓冲区,如果是,则根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放;否则,对所述媒体流数据的原始编码数据直接进行解码播放;
其中,所述根据预设工作模式标识获取媒体流数据包括:根据所述预设工作模式标识判断所述媒体流数据是否需要所述缓冲区,若所述预设工作模式标识为所述带缓冲模式标识,则需要缓冲区,被动接收媒体流数据;若所述预设工作模式标识为所述无缓冲模式标识,则不需要缓冲区,通过回调函数主动获取媒体流数据。
2.根据权利要求1所述的流媒体播放方法,其特征在于所述根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放具体为:
根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的预处理操作;
将经过预处理操作的媒体流数据的原始编码数据存入所述缓冲区中;
判定所述缓冲区中的数据是否达到播放门限,若达到,对所述缓冲区中的原始编码数据进行解码播放。
3.一种流媒体播放终端,包括用于接收流媒体服务器发送的媒体流数据的网络接收模块和用于播放媒体流数据的播放软件模块,其特征在于所述播放软件模块包括:
创建单元,用于创建播放实例,预设所述媒体流数据的工作模式标识;
设置单元,用于根据所述预设工作模式标识,设置存储媒体流数据的缓冲区,或者设置回调函数,以供获取媒体流数据;
获取单元,用于根据预设工作模式标识获取媒体流数据,所述工作模式标识包括带缓冲模式标识和无缓冲模式标识;
解析单元,用于对所述媒体流数据进行解析,获得媒体流数据的原始编码数据和相关辅助信息;
播放单元,用于根据预设工作模式标识判断播放所述媒体流数据是否需要缓冲区,如果是,则根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的缓冲处理,对经过缓冲处理后的原始编码数据进行解码播放;否则,对所述媒体流数据的原始编码数据进行解码播放;
其中,所述获取单元包括:
第一判断单元,用于根据所述预设工作模式标识判定所述流媒体数据是否需要所述缓冲区,其中,所述根据所述预设工作模式标识判定所述流媒体数据是否需要所述缓冲区具体为:若所述预设工作模式标识为所述带缓冲模式标识,则需要缓冲区,若所述预设工作模式标识为所述无缓冲模式标识,则不需要缓冲区;
接收单元,根据所述第一判断单元的判定结果,若需要缓冲区,用于被动接收媒体流数据;
接收控制单元,根据所述第一判断单元的判定结果,若不需要缓冲区,用于利用回调函数主动获取媒体流数据。
4.根据权利要求3所述的流媒体播放终端,其特征在于所述播放单元具体包括:
第二判断单元,用于根据所述预设工作模式标识判定播放所述媒体流数据是否需要所述缓冲区,其中,根据所述预设工作模式标识判定播放所述媒体流数据是否需要所述缓冲区具体为:若所述预设工作模式标识为所述带缓冲模式标识,则需要缓冲区,若所述预设工作模式标识为所述无缓冲模式标识,则不需要缓冲区;
预处理单元,若所述第二判断单元判断需要缓冲区,用于根据所述相关辅助信息对所述媒体流数据的原始编码数据进行相应的预处理操作,把经过预处理操作的媒体流数据的原始编码数据存入所述缓冲区中;
播放门限判定单元,用于判定所述缓冲区中的数据是否达到播放门限;
解码播放单元,用于对所述缓冲区中的数据进行解码播放;
或者,若所述第二判断单元判定不需要缓冲区,则所述解码播放单元还用于对所述媒体流数据的原始编码数据进行解码播放。
CN2008101040477A 2008-04-14 2008-04-14 流媒体播放方法和终端 Active CN101277443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101040477A CN101277443B (zh) 2008-04-14 2008-04-14 流媒体播放方法和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101040477A CN101277443B (zh) 2008-04-14 2008-04-14 流媒体播放方法和终端

Publications (2)

Publication Number Publication Date
CN101277443A CN101277443A (zh) 2008-10-01
CN101277443B true CN101277443B (zh) 2010-04-07

Family

ID=39996388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101040477A Active CN101277443B (zh) 2008-04-14 2008-04-14 流媒体播放方法和终端

Country Status (1)

Country Link
CN (1) CN101277443B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101583025B (zh) * 2009-06-11 2011-05-11 中兴通讯股份有限公司 一种流媒体播放方法及装置
CN101969430B (zh) * 2010-09-25 2014-08-13 中兴通讯股份有限公司 Ip数据的解析方法及用于解析ip数据的手机电视***、装置
CN102625193B (zh) * 2011-01-27 2014-07-09 郑州威科姆科技股份有限公司 一种借助辅助文件实现多媒体文件网络播放的方法
CN108259987A (zh) * 2017-12-19 2018-07-06 湖北鸿云科技股份有限公司 移动端低延时流媒体播放器及播放方法

Also Published As

Publication number Publication date
CN101277443A (zh) 2008-10-01

Similar Documents

Publication Publication Date Title
JP4975967B2 (ja) デジタルブロードバンド伝送を提供するための方法、システムおよびネットワークエンティティ
CN102598691B (zh) 利用数据分段的可选广播传送的流传输
CN101068236B (zh) 流媒体码率控制方法、***和设备
RU2417554C1 (ru) Способ и система для предоставления услуг групповой передачи
CN102685563B (zh) 互联网协议电视内容共享方法、装置以及终端设备
US8612620B2 (en) Client capability adjustment
CN101383959B (zh) 流媒体业务中获取关键帧的方法、***及用户设备
KR101614862B1 (ko) 멀티미디어 비디오 데이터의 송신, 수신 방법 및 대응되는 장치
US20080034395A1 (en) Method for suppression index reuse and packet classification for payload header suppression within a wireless network
US20080107108A1 (en) System and method for enabling fast switching between psse channels
US8855139B1 (en) Method and device for receiving and providing programs
CN101277443B (zh) 流媒体播放方法和终端
CN102136962B (zh) 质量问题定界方法及相关设备与***
CN108063911B (zh) 一种视频会议扩容方法
CN101621386A (zh) 一种节省内容网络带宽的方法、***和设备
CN101431653B (zh) 一种创建和点播频道的方法、***及装置
US10270708B2 (en) Aggregated adaptive bit rate streaming
CN101034968B (zh) 在分离双向网络中提供双向业务的***、方法及设备
CN102638731B (zh) 一种用户点播的优化方法及***
CN102957631A (zh) 一种预处理方法及基于该预处理方法的三种设备
CN105659615B (zh) 内容供给装置、内容供给方法、终端装置及内容供给***
CN103152545B (zh) 一种处理纠错请求的方法、视频服务器和视频会议***
CN104301551A (zh) 一种音乐播放的方法和设备
CN104410895B (zh) 实现dvb数据多模块分发的方法及装置
CN101378512A (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
ASS Succession or assignment of patent right

Owner name: CHINA LINKED NETWORK COMMUNICATION GROUP CO.,LTD.

Free format text: FORMER OWNER: CHINA NETWORK COMMUNICATIONS GROUP CORPORATION

Effective date: 20090522

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090522

Address after: Number 21, Finance Street, Beijing, Xicheng District: 100140

Applicant after: China United Network Telecommunication Group Co., Ltd.

Address before: Number 21, Finance Street, Beijing, Xicheng District: 100032

Applicant before: China Network Communications Group Corporation

C14 Grant of patent or utility model
GR01 Patent grant