CN105744380A - 一种基于Android系统的媒体数据流播放方法及系统 - Google Patents
一种基于Android系统的媒体数据流播放方法及系统 Download PDFInfo
- Publication number
- CN105744380A CN105744380A CN201610103442.8A CN201610103442A CN105744380A CN 105744380 A CN105744380 A CN 105744380A CN 201610103442 A CN201610103442 A CN 201610103442A CN 105744380 A CN105744380 A CN 105744380A
- Authority
- CN
- China
- Prior art keywords
- multicast
- android system
- data flow
- player
- port
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000002347 injection Methods 0.000 description 11
- 239000007924 injection Substances 0.000 description 11
- 238000002360 preparation method Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种基于Android系统的媒体数据流播放方法及系统。其中,方法包括步骤:A、应用APP建立组播地址,并打开组播端口,生成组播通道;B、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;C、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。本发明不需要修改Android系统层,容易实施,应用简单;本发明充分利用Android系统中TCP/IP协议栈的数据组播功能,通过标准的组播通道形成了数据流代理,达到非标准数据流通过标准的Android应用层播放器播放的目的;本发明可在已经发布的Android系统或产品中应用,可以解决特定的媒体流播放问题,具有良好的兼容性、通用性。
Description
技术领域
本发明涉及多媒体数据播放领域,尤其涉及一种基于Android系统的媒体数据流播放方法及系统。
背景技术
目前,搭载Android系统的产品如手机、机顶盒、智能电视等,其实现播放都是在应用APP中指定具体的播放数据资源定位符URL,然后传递给系统底层的播放服务层,通过播放服务层实现具体数据请求、处理、播放显示等,从而形成Android系统内完整的多媒体子系统。但是这样的多媒体子系统也存在弊端:非通用或非标准的播放资源数据应对能力差。
现有技术中,改进的方法一般有两种:第一种是修改系统底层的播放服务层,从而达到对特定播放资源的支持以实现播放;第二种是在应用层获取特定数据后逐层穿透送到底层的播放服务层,然后通过特定解码通道实现解码播放。
但是上述两种方法均需要产品软件系统开发的介入,其软件开发工作量大并且效率低,同时还有可能导致音视频延迟;另外,对于已经发布的系统或产品,由于其系统底层已经相对稳定和固化,所以无法实现对非通用或非标准的资源进行播放。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种基于Android系统的媒体数据流播放方法及系统,旨在解决现有的播放方法无法支持特定媒体资源、开发难度大、效率低且可能影响播放效果的问题。
本发明的技术方案如下:
一种基于Android系统的媒体数据流播放方法,其中,包括步骤:
A、应用APP建立组播地址,并打开组播端口,生成组播通道;
B、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
C、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。
优选的,所述步骤C之后还包括:
D、当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。
优选的,所述步骤D之后还包括:
E、当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。
优选的,所述步骤A具体包括:
A1、应用APP查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;
A2、应用APP利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。
优选的,所述操控包括暂停、恢复和倍速播放。
一种基于Android系统的媒体数据流播放系统,其中,包括:
组播通道生成模块,用于建立组播地址,并打开组播端口,生成组播通道;
组播流形成模块,用于获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
播放模块,用于利用所述组播地址打开应用层的播放器,并开始播放所述组播流。
优选的,所述媒体数据流播放系统还包括:
控制模块,用于当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。
优选的,所述媒体数据流播放系统还包括:
关闭模块,用于当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。
优选的,所述组播通道生成模块具体包括:
查询单元,用于查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;
组播通道生成单元,用于利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。
优选的,所述操控包括暂停、恢复和倍速播放。
有益效果:本发明可完全在应用APP内部实现,实际播放是通过Android应用层标准的播放器组件进行,整个过程不需要修改Android系统层,所以容易实施,应用简单;本发明充分利用Android系统中TCP/IP协议栈的数据组播功能,通过标准的组播通道形成了数据流代理,达到非标准数据流通过标准的Android应用层播放器播放的目的;本发明可以在已经发布的Android系统或产品中应用,可以解决特定的媒体流播放问题,具有良好的兼容性、通用性。
附图说明
图1为本发明一种基于Android系统的媒体数据流播放方法第一实施例的流程图;
图2为图1中步骤S1的具体流程图;
图3为本发明一种基于Android系统的媒体数据流播放方法第二实施例的流程图;
图4为本发明一种基于Android系统的媒体数据流播放方法第三实施例的流程图;
图5为本发明一种基于Android系统的媒体数据流播放系统第一实施例的结构框图;
图6为图5中组播通道生成模块的具体流程图;
图7为本发明一种基于Android系统的媒体数据流播放系统第二实施例的结构框图;
图8为本发明一种基于Android系统的媒体数据流播放系统第三实施例的结构框图。
具体实施方式
本发明提供一种基于Android系统的媒体数据流播放方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种基于Android系统的媒体数据流播放方法第一实施例的流程图,其包括步骤:
S1、应用APP建立组播地址,并打开组播端口,生成组播通道;
S2、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
S3、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。
本发明在不修改产品系统的前提下,通过应用APP中技术实现即可解决特定媒体数据流的播放,增强了产品的适用性、通用性。本发明的方法非常适合应用APP能获取稳定、平滑的媒体流的场景下应用。
本发明的实现原理主要是:利用Android系统中TCP/IP协议栈提供的局域网内的组播功能,在应用APP中建立Android系统内的组播通道,向此组播通道中发送(注入)传输流包,同时利用Android系统媒体播放子系统对标准组播资源的播放支持以达到实现播放的要求。
如图2所示,所述步骤S1具体包括:
S11、应用APP查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;
S12、应用APP利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。
本步骤是充分利用Android系统中TCP/IP协议栈的数据组播功能,将应用APP内部的私有数据流(或称私有媒体流)在系统形成组播流,即形成公开、标准的播放流。本步骤巧妙地利用了Android系统中全局的TCP/IP协议栈的功能,使其完成私有媒体流的中转站或代理服务器功能,从而将私有媒体流转化为公开、标准的播放流。
具体来说,此步骤中关键是确定应用APP所需要的组播地址及组播端口。由于在IP网络中,组播地址有其特殊规定:多播地址(multicastaddress)即组播地址,是一组主机的标示符,其已经加入到一个多播组中。在以太网中,多播地址是一个48位的标示符,命名了一组应该在这个网络中应用接收到一个分组的站点。在IPv4中,组播地址也被叫做D类地址,是一种类型的IP地址,它的范围从224.0.0.0到239.255.255.255(即确立的组播地址应该在TCP/IP网络标准规定的组播地址范围内,即224.0.0.0-239.255.255.255这段组播保留地址内),或,等同的,在224.0.0.0/4。但224.0.0.0被保留,不能赋给任何多播组。
例如,选取的组播地址从239.1.2.1开始,发送端口从1234开始检查,如果发现目标端口被占用逐次加1,直到找到满足要求的空闲端口作为组播端口,即确立的组播端口应是当前系统中处于空闲的动态或私有端口。通过检查,发现目标端口1234空闲,那确定的组播地址URL即为udp://239.1.2.1:1234,即以UDP开头的URL,如"udp://组播地址:端口号"。打开组播通道即为建立组播SOCKET、绑定组播端口,加入组播群组。
在步骤S2中,应用APP连续获取需播放的数据流形成连续的传输流包(TS包),通过前述的组播通道连续发送(即注入)传输流包,形成系统内的组播流。此步骤中关键过程为获取正确的传输流包及将传输流包发向组播通道。
由于本发明是面向解决特定数据流播放问题而设计,特定的数据流的解析不是本发明所关注的(不同的数据源应该有自己的数据解析说明或接口),本发明所关注的是这些数据流解析得到后的过程,特别说明的是在发送给组播通道之前需要确定数据包是传输流包,基于Android系统的播放一般都是支持TS流直接解码播放显示的。如果解析得到的数据包不是TS包例如是程序流包,则需要在发送前将其转化成TS包。至于将TS包发送到组播通道,就是向步骤S1中所开的组播SOCKET发送TS包。
另外,获取数据包(即传输流包)以及将数据包向组播通道发送过程应该在播放器打开之前开始,播放器打开时需要组播通道内已经有一定量的媒体数据。
在所述步骤S3中,由于组播地址URL具有相对的标准和普适性,以此标准的组播地址去打开Android应用层的播放器(标准播放器MediaPlayer)实现对组播流的播放。本发明中,播放的本质还是利用Android应用层的MediaPlayer实现播放,只是在MediaPlayer接触到数据前将数据流进行转化。
具体来说,本步骤的关键过程是用前述的组播地址URL去打开一个Android应用层中标准播放器MediaPlayer。例如组播地址URL:"udp://239.1.2.1:1234",即通过此URL去调用MediaPlayer的setDataSource接口,成功后依次调用prepare接口(准备接口)及start接口(开始接口),如果这些过程均成功,表示此步骤完成。此步骤在步骤S2后开始,并且两者是互为依赖的,可能需要多次的数据注入才能打开MediaPlayer(MediaPlayer在打开时需要探测到一定量的媒体数据才能确定解码类型及其它播放的关键参数);而如果只是注入数据没有播放器去消耗组播通道的数据,那么注入数据也是无用的。
所以为了顺利完成如此的数据关系,可专门设置一个任务去完成MediaPlayer的打开过程,即数据注入与MediaPlayer打开分别在不同的任务中完成,MediaPlayer只需要成功打开一次即可。打开Android应用层的播放器是指在应用APP自身的进程中打开的播放器对象,具体包括利用MediaPlayer的标准接口进行创建、设置播放源、播放准备等过程;在打开播放器后开始播放,其是指利用播放器提供的标准接口方法开始数据流(TS包)的播放。
请参阅图3,图3为本发明一种基于Android系统的媒体数据流播放方法第二实施例的流程图,其包括步骤:
S1、应用APP建立组播地址,并打开组播端口,生成组播通道;
S2、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
S3、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流;
S4、当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。
其与上述方法第一实施例不同的是,在所述步骤S3之后增加一步骤S4,其是为了完善整个播放流程而添加。数据的注入要考虑到播放的场景,播放的场景也需要考虑数据注入情况,只有这样播放过程才是完美的。例如,当APP应用需要进行暂停播放操作时,通过MediaPlayer的pause(暂停)接口进行播放器的暂停,同时也需要数据注入过程及数据解析和获取过程也要暂停,否则注入到组播通道中的数据会被浪费,并且恢复播放时播放的结果也是错误的;同理,当应用需要恢复播放显示时,通过MediaPlayer的start接口进行播放器的恢复播放显示的同时也需要数据注入过程及数据解析、获取过程要同步恢复处理,否则整个过程就会发生错位。即当通过所述应用APP操控播放器时,匹配控制组播通道的数据注入速率和流量。
APP应用持续重复获取传输流包并持续向组播通道发送所述传输流包;在播放过程中,需要根据播放媒体的类型及播放的环节调整发送速度及数据量大小,避免超过或不满足播放要求的数据流量;另外还可根据应用的要求对播放器对象进行操作,比如暂停、恢复、倍速播放等(但显然还可以是其他的常用或不常用操作),同时也需要数据流注入进行相应的匹配。
请参阅图4,图4为本发明一种基于Android系统的媒体数据流播放方法第三实施例的流程图,其包括步骤:
S1、应用APP建立组播地址,并打开组播端口,生成组播通道;
S2、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
S3、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流;
S4、当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量;
S5、当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。
其与方法第二实施例不同的是,在所述步骤S4之后,增加了步骤S5。在所述步骤S5中,应用可以根据数据流状态或用户要求进行播放器的控制,选择退出播放,退出数据注入一同结束。
具体来说,播放结束的过程:一种是应用中需要播放的数据流已经完成时;另外一种是在播放过程中遇到无法解决的问题时,或者用户需要结束播放。此两种情况都需要退出播放过程。在退出时,需要关闭所打开的资源:组播通道、播放器等,这些都是系统内重要的资源地,不需要时将其关闭。
在本发明中数据获取、建立组播通道、向组播通道发送数据、打开及操控播放器MediaPlayer等技术过程均在同一个应用进程中实施。
基于上述方法,本发明还提供一种基于Android系统的媒体数据流播放系统第一实施例,如图5所示,其包括:
组播通道生成模块100,用于建立组播地址,并打开组播端口,生成组播通道;
组播流形成模块200,用于获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
播放模块300,用于利用所述组播地址打开应用层的播放器,并开始播放所述组播流。
本发明的系统第一实施例,其通过应用APP中技术实现来解决特定媒体数据流的播放,增强了产品的适用性、通用性。本发明的系统非常适合应用APP能获取稳定、平滑的媒体流的场景下应用。其实现原理主要是:利用Android系统中TCP/IP协议栈提供的局域网内的组播功能,在应用APP中建立Android系统内的组播通道,向此组播通道中发送(注入)传输流包,同时利用Android系统媒体播放子系统对标准组播资源的播放支持以达到实现播放的要求。
如图6所示,所述组播通道生成模块100具体包括:
查询单元110,用于查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;
组播通道生成单元120,用于利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。
在所述组播通道生成模块100中,关键是确定应用APP所需要的组播地址及组播端口。由于在IP网络中,组播地址有其特殊规定:多播地址(multicastaddress)即组播地址,是一组主机的标示符,其已经加入到一个多播组中。在以太网中,多播地址是一个48位的标示符,命名了一组应该在这个网络中应用接收到一个分组的站点。在IPv4中,组播地址也被叫做D类地址,是一种类型的IP地址,它的范围从224.0.0.0到239.255.255.255(即确立的组播地址应该在TCP/IP网络标准规定的组播地址范围内,即224.0.0.0-239.255.255.255这段组播保留地址内),或,等同的,在224.0.0.0/4。但224.0.0.0被保留,不能赋给任何多播组。
例如,选取的组播地址从239.1.2.1开始,发送端口从1234开始检查,如果发现目标端口被占用逐次加1,直到找到满足要求的空闲端口作为组播端口,即确立的组播端口应是当前系统中处于空闲的动态或私有端口。通过检查,发现目标端口1234空闲,那确定的组播地址URL即为udp://239.1.2.1:1234,即以UDP开头的URL,如"udp://组播地址:端口号"。打开组播通道即为建立组播SOCKET、绑定组播端口,加入组播群组。
在所述组播流形成模块200中,应用APP连续获取需播放的数据流形成连续的传输流包(TS包),通过前述的组播通道连续发送(即注入)传输流包,形成系统内的组播流。此模块中的关键为获取正确的传输流包及将传输流包发向组播通道。
由于本发明是面向解决特定数据流播放问题而设计,特定的数据流的解析不是本发明所关注的(不同的数据源应该有自己的数据解析说明或接口),本发明所关注的是这些数据流解析得到后的过程,特别说明的是在发送给组播通道之前需要确定数据包是传输流包,基于Android系统的播放一般都是支持TS流直接解码播放显示的。如果解析得到的数据包不是TS包例如是程序流包,则需要在发送前将其转化成TS包。至于将TS包发送到组播通道,就是向组播通道生成模块100中所开的组播SOCKET发送TS包。
在所述播放模块300中,由于组播地址URL具有相对的标准和普适性,以此标准的组播地址去打开Android应用层的播放器(标准播放器MediaPlayer)实现对组播流的播放。本发明中,播放的本质还是利用Android应用层的MediaPlayer实现播放,只是在MediaPlayer接触到数据前将数据流进行转化。
具体来说,本模块的关键是用前述的组播地址URL去打开一个Android应用层中标准播放器MediaPlayer。例如组播地址URL:"udp://239.1.2.1:1234",即通过此URL去调用MediaPlayer的setDataSource接口,成功后依次调用prepare接口(准备接口)及start接口(开始接口),如果这些过程均成功,表示此步骤完成。所述播放模块300与所述组播流形成模块200两者是互为依赖的,可能需要多次的数据注入才能打开MediaPlayer(MediaPlayer在打开时需要探测到一定量的媒体数据才能确定解码类型及其它播放的关键参数);而如果只是注入数据没有播放器去消耗组播通道的数据,那么注入数据也是无用的。
所以为了顺利完成如此的数据关系,可专门设置一个任务去完成MediaPlayer的打开过程,即数据注入与MediaPlayer打开分别在不同的任务中完成,MediaPlayer只需要成功打开一次即可。打开Android应用层的播放器是指在应用APP自身的进程中打开的播放器对象,具体包括利用MediaPlayer的标准接口进行创建、设置播放源、播放准备等过程;在打开播放器后开始播放,其是指利用播放器提供的标准接口方法开始数据流(TS包)的播放。
本发明还提供一种基于Android系统的媒体数据流播放系统第二实施例,如图7所示,其包括:
组播通道生成模块100,用于建立组播地址,并打开组播端口,生成组播通道;
组播流形成模块200,用于获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
播放模块300,用于利用所述组播地址打开应用层的播放器,并开始播放所述组播流;
控制模块400,用于当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。
其与系统第一实施例不同的是,增加了控制模块400,其是为了完善整个播放流程而添加。数据的注入要考虑到播放的场景,播放的场景也需要考虑数据注入情况,只有这样播放过程才是完美的。例如,当APP应用需要进行暂停播放操作时,通过MediaPlayer的pause(暂停)接口进行播放器的暂停,同时也需要数据注入过程及数据解析和获取过程也要暂停,否则注入到组播通道中的数据会被浪费,并且恢复播放时播放的结果也是错误的;同理,当应用需要恢复播放显示时,通过MediaPlayer的start接口进行播放器的恢复播放显示的同时也需要数据注入过程及数据解析、获取过程要同步恢复处理,否则整个过程就会发生错位。即当通过所述应用APP操控播放器时,匹配控制组播通道的数据注入速率和流量。
APP应用持续重复获取传输流包并持续向组播通道发送所述传输流包;在播放过程中,需要根据播放媒体的类型及播放的环节调整发送速度及数据量大小,避免超过或不满足播放要求的数据流量;另外还可根据应用的要求对播放器对象进行操作,比如暂停、恢复、倍速播放等(但显然还可以是其他的常用或不常用操作),同时也需要数据流注入进行相应的匹配。
本发明还提供一种基于Android系统的媒体数据流播放系统第三实施例,如图8所示,其包括:
组播通道生成模块100,用于建立组播地址,并打开组播端口,生成组播通道;
组播流形成模块200,用于获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
播放模块300,用于利用所述组播地址打开应用层的播放器,并开始播放所述组播流;
控制模块400,用于当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量;
关闭模块500,用于当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。
其与系统第二实施例不同的是,增加了关闭模块500,在此模块中,应用可以根据数据流状态或用户要求进行播放器的控制,选择退出播放,退出数据注入一同结束。
具体来说,播放结束的过程:一种是应用中需要播放的数据流已经完成时;另外一种是在播放过程中遇到无法解决的问题时,或者用户需要结束播放。此两种情况都需要退出播放过程。在退出时,需要关闭所打开的资源:组播通道、播放器等,这些都是系统内重要的资源地,不需要时将其关闭。
在本发明中数据获取、建立组播通道、向组播通道发送数据、打开及操控播放器MediaPlayer等技术过程均在同一个应用进程中实施。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于Android系统的媒体数据流播放方法,其特征在于,包括步骤:
A、应用APP建立组播地址,并打开组播端口,生成组播通道;
B、应用APP获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
C、应用APP利用所述组播地址打开应用层的播放器,并开始播放所述组播流。
2.根据权利要求1所述的基于Android系统的媒体数据流播放方法,其特征在于,所述步骤C之后还包括:
D、当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。
3.根据权利要求2所述的基于Android系统的媒体数据流播放方法,其特征在于,所述步骤D之后还包括:
E、当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。
4.根据权利要求1所述的基于Android系统的媒体数据流播放方法,其特征在于,所述步骤A具体包括:
A1、应用APP查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;
A2、应用APP利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。
5.根据权利要求2所述的基于Android系统的媒体数据流播放方法,其特征在于,所述操控包括暂停、恢复和倍速播放。
6.一种基于Android系统的媒体数据流播放系统,其特征在于,包括:
组播通道生成模块,用于建立组播地址,并打开组播端口,生成组播通道;
组播流形成模块,用于获取数据源的传输流包,并利用所述组播通道发送所述传输流包,在Android系统内形成组播流;
播放模块,用于利用所述组播地址打开应用层的播放器,并开始播放所述组播流。
7.根据权利要求6所述的基于Android系统的媒体数据流播放系统,其特征在于,还包括:
控制模块,用于当通过所述应用APP操控所述播放器时,匹配控制所述组播通道的数据注入速率和流量。
8.根据权利要求7所述的基于Android系统的媒体数据流播放系统,其特征在于,还包括:
关闭模块,用于当所述数据源播放结束时,关闭所述组播通道以及关闭所述播放器。
9.根据权利要求6所述的基于Android系统的媒体数据流播放系统,其特征在于,所述组播通道生成模块具体包括:
查询单元,用于查询Android系统内的网络以及网络端口的使用状态,并将处于空闲状态的网络端口作为组播端口;
组播通道生成单元,用于利用所述组播端口建立组播地址,并打开组播端口,生成组播通道。
10.根据权利要求7所述的基于Android系统的媒体数据流播放系统,其特征在于,所述操控包括暂停、恢复和倍速播放。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610103442.8A CN105744380B (zh) | 2016-02-25 | 2016-02-25 | 一种基于Android系统的媒体数据流播放方法及系统 |
PCT/CN2017/074669 WO2017144001A1 (zh) | 2016-02-25 | 2017-02-24 | 一种基于Android系统的媒体数据流播放方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610103442.8A CN105744380B (zh) | 2016-02-25 | 2016-02-25 | 一种基于Android系统的媒体数据流播放方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105744380A true CN105744380A (zh) | 2016-07-06 |
CN105744380B CN105744380B (zh) | 2018-11-30 |
Family
ID=56248497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610103442.8A Expired - Fee Related CN105744380B (zh) | 2016-02-25 | 2016-02-25 | 一种基于Android系统的媒体数据流播放方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105744380B (zh) |
WO (1) | WO2017144001A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017144001A1 (zh) * | 2016-02-25 | 2017-08-31 | 深圳创维数字技术有限公司 | 一种基于Android系统的媒体数据流播放方法及系统 |
CN108600826A (zh) * | 2018-05-22 | 2018-09-28 | 深圳市茁壮网络股份有限公司 | 一种播放ts流的方法及装置 |
CN110149559A (zh) * | 2019-05-27 | 2019-08-20 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种全局变速播放视频的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070277210A1 (en) * | 2006-05-24 | 2007-11-29 | Newport Media, Inc. | System and method for statistical multiplexing of video channels for DVB-H mobile TV applications |
CN103796078A (zh) * | 2014-01-23 | 2014-05-14 | 深圳创维-Rgb电子有限公司 | 组播视频的播放方法和视频播放终端 |
CN103945284A (zh) * | 2013-01-18 | 2014-07-23 | 联想(北京)有限公司 | 信息处理方法和信息处理装置 |
CN104618802A (zh) * | 2015-02-03 | 2015-05-13 | 深圳市米家互动网络有限公司 | 移动终端、基于安卓的网络机顶盒及其系统恢复方法 |
CN104796796A (zh) * | 2015-04-21 | 2015-07-22 | 范文鲜 | 提高Android平台的HLS流播放器容错的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867803B (zh) * | 2010-05-21 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种数据的传输方法、设备和系统 |
CN103313111A (zh) * | 2012-10-29 | 2013-09-18 | 中兴通讯股份有限公司 | 一种媒体播放方法及装置 |
US20150046568A1 (en) * | 2013-08-11 | 2015-02-12 | Imvision Software Technologies Ltd. | Method and system for playing multicast over-the-top (ott) content streams |
CN106464932A (zh) * | 2014-03-31 | 2017-02-22 | 英国电讯有限公司 | 多播流传输 |
CN105744380B (zh) * | 2016-02-25 | 2018-11-30 | 深圳创维数字技术有限公司 | 一种基于Android系统的媒体数据流播放方法及系统 |
-
2016
- 2016-02-25 CN CN201610103442.8A patent/CN105744380B/zh not_active Expired - Fee Related
-
2017
- 2017-02-24 WO PCT/CN2017/074669 patent/WO2017144001A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070277210A1 (en) * | 2006-05-24 | 2007-11-29 | Newport Media, Inc. | System and method for statistical multiplexing of video channels for DVB-H mobile TV applications |
CN103945284A (zh) * | 2013-01-18 | 2014-07-23 | 联想(北京)有限公司 | 信息处理方法和信息处理装置 |
CN103796078A (zh) * | 2014-01-23 | 2014-05-14 | 深圳创维-Rgb电子有限公司 | 组播视频的播放方法和视频播放终端 |
CN104618802A (zh) * | 2015-02-03 | 2015-05-13 | 深圳市米家互动网络有限公司 | 移动终端、基于安卓的网络机顶盒及其系统恢复方法 |
CN104796796A (zh) * | 2015-04-21 | 2015-07-22 | 范文鲜 | 提高Android平台的HLS流播放器容错的方法 |
Non-Patent Citations (1)
Title |
---|
HTTPS://WENKU.BAIDU.COM/VIEW/3E77A982BCEB19E8B8F6BAA3.HTML?FROM=: "组播测试工具VLC使用说明", 《百度文库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017144001A1 (zh) * | 2016-02-25 | 2017-08-31 | 深圳创维数字技术有限公司 | 一种基于Android系统的媒体数据流播放方法及系统 |
CN108600826A (zh) * | 2018-05-22 | 2018-09-28 | 深圳市茁壮网络股份有限公司 | 一种播放ts流的方法及装置 |
CN108600826B (zh) * | 2018-05-22 | 2021-04-20 | 深圳市茁壮网络股份有限公司 | 一种播放ts流的方法及装置 |
CN110149559A (zh) * | 2019-05-27 | 2019-08-20 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种全局变速播放视频的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105744380B (zh) | 2018-11-30 |
WO2017144001A1 (zh) | 2017-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451264B (zh) | 一种监控设备入会的方法和系统 | |
CN108881361B (zh) | 一种基于视联网的数据推送方法和装置 | |
US20150067110A1 (en) | Media Playing Method, Apparatus, and System | |
US20110138022A1 (en) | Fast Content Switching in a Communication System | |
WO2012079321A1 (zh) | 一种提供流媒体服务的方法及系统、设备 | |
CN109547417A (zh) | 码流传输方法和装置 | |
CN109194982A (zh) | 一种传输大文件流的方法和装置 | |
CN101516057B (zh) | 一种通过移动终端实现流媒体播放的方法 | |
CN109257253A (zh) | 一种app运行监测的方法和装置 | |
EP1962521A4 (en) | METHOD, SYSTEM AND DEVICE FOR IMPLEMENTING A SERVICE FOR THE COMMON USE OF VIDEO CONTENT | |
CN108173803A (zh) | 一种通过视联网访问互联网的方法及视联猫服务端 | |
CN105744380A (zh) | 一种基于Android系统的媒体数据流播放方法及系统 | |
CN110417877A (zh) | 一种音视频业务的处理方法及装置 | |
CN108965223A (zh) | 一种基于视联网的网页处理方法、代理服务器及视联网终端 | |
CN109981560A (zh) | 电视接收器和装置 | |
CN109889780A (zh) | 数据同步方法和装置 | |
CN103747326B (zh) | 多媒体文件连续播放方法和装置 | |
CN109525854A (zh) | 直播处理方法和装置 | |
CN105323628A (zh) | 基于dlna跨屏播放的方法及系统、浏览器端装置和播放装置 | |
CN108307212B (zh) | 一种文件点播方法和装置 | |
CN110475125A (zh) | 视频转码方法和装置 | |
CN110233982A (zh) | 一种基于视联网的监控方法和装置 | |
WO2018019167A1 (zh) | 基于机顶盒的直播共享方法及系统 | |
CN110324563A (zh) | 一种视频会议的主辅源切换方法和系统 | |
CN108235062B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181130 |
|
CF01 | Termination of patent right due to non-payment of annual fee |