频道快速切换的方法、服务器和机顶盒与流程

文档序号:13425723阅读:1176来源:国知局
频道快速切换的方法、服务器和机顶盒与流程

本申请涉及视频媒体技术领域,尤其涉及频道快速切换的方法、服务器和机顶盒。



背景技术:

频道切换是传统电视的基本用户体验,因特网协议电视(internetprotocoltelevision,iptv)要提供最佳的用户体验,频道切换速度的水平必须达到或超过传统电视,同时要保证频道切换时播放的画面质量。因此,有效的降低频道切换延时,保证频道时播放画面的用户体验效果,对iptv的成功至关重要。

现有的可以通过部署频道快速切换(fastchannelchange,fcc)服务器,可把频道切换的延时从2.5秒降低到1秒,但是1秒的时延仍然很长,iptv的频道切换比传统电视还是要慢,仍然无法满足用户体验的需求。



技术实现要素:

本申请实施例提供一种频道快速切换的方法、装置和系统,减少iptv系统中的频道切换时所消耗的时间,提高了用户体验。

一方面,本申请的实施例提供了一种频道快速切换的方法。方法包括:机顶盒向频道快速切换服务器发送频道快速切换请求,该频道快速切换请求包含了目标频道的标识,这样频道快速切换服务器就可以根据该目标频道的标识,向机顶盒发送目标频道的媒体流,机顶盒接收到第一码率的媒体流,就可以播放了。此时发送的媒体流是低码率的,即第一码率的媒体流,由于频道快速切换服务器开始放的媒体流是低码率的,因此频道快速切换服务器可以在短时间内将缓存的媒体流快速发送给机顶盒,让机顶盒可以在短时间内能够播放低码率媒体流,让用户体验频道切换的非常快。通常来说,频道快速切换服务器设定时间内的第一码率的媒体流发送完成后,就会向机顶盒发送组播加入通知,并且向机顶盒发送高码率的媒体流,即第二码率的媒体流。机顶盒接收后,获知目前需要加入组播服务器的组播了,因此向组播服务器发送组播加入请求,接着,机顶盒就可以从组播服务器接收目标频道的高码率媒体流,此时需要通知频道快速切换服务器停止发送媒体流,则向频道快速切换服务器发送媒体流终止请求,频道快速切换服务器在收到媒体流终止请求,将组播服务器没有发给机顶盒的高码率媒体流补发给机顶盒,当发送完成后,就停止向机顶盒发送媒体流了。这样机顶盒将组播服务器发送的高码率媒体流和频道快速切换服务器发送的高码率媒体流组合起来,播放高码率的媒体流了,而后续直接接收组播服务器发送的高码率媒体流,就完成了频道的快速切换。该方法由于一开始从fcc服务器接收的是低码率媒体流,因此目标频道的媒体流将会被快速地发送到机顶盒上,因此能够实现在更短时间内机顶盒接收了媒体流,并开始播放,缩短频道切换的时间。并且由于媒体流是低码率,发送媒体流所需要的网络带宽也变小,因此频道快速切换过程对网络带宽的冲击较小。

在一个可能的设计中,不管是组播服务器组播方式发送的媒体流,还是fcc服务器单播方式发送的媒体流在传输过程中,都是以数据包(例如:rtp包)的形式进行传输的。也就是说:目标频道的第一码率的媒体流可以承载在单播低码率数据包,从所述频道快速切换服务器接收目标频道的第二码率的媒体流可以承载在单播高码率数据包,从所述组播服务器接收的所述目标频道的第二码率的媒体流可以承载在组播高码率数据包。

在另一个可能的设计中,媒体流可以具体为一个个分片,比如:dash分片。编码器是按照时间顺序对媒体内容进行分片划分的,比如:每隔2秒钟,可以将一个媒体内容划分为一个独立分片。也就是说,0-2秒为分片1,2-4秒为分片2,4-6秒为分片3,依次类推。由于每个分片是独立的文件,机顶盒(或者机顶盒包含的播放器)可以播放该独立分片。通常来说频道快速切换服务器设定时间内的第一码率的媒体流发送完成,具体可以为频道快速切换服务器将缓存的第一码率的1个或1个以上的独立分片发送结束。向机顶盒发送高码率的媒体流,即第二码率的媒体流,具体来说,在缓存的第一码率的分片发送结束后,向机顶盒发送第二码率的分片。

在另外一个可能的设计中,机顶盒可以将从所述频道快速切换服务器接收的单播高码率数据包和从所述组播服务器接收的组播高码率数据包解码成一个分片,播放所述分片。也可以说,从所述频道快速切换服务器接收的单播高码率数据包和所述组播服务器接收的组播高码率数据包是一个独立分片的两部分,因此只要把这两个数据包解码成一个独立分片,机顶盒(或者机顶盒包含的播放器)就可以播放了。

在另一个可能的设计中,媒体流可以是视频流,音频流或者字幕流的一种或者它们三者之间任意的混合流。

另一方面,本申请的实施例提供了一种频道快速切换的方法。方法包括:fcc服务器接收机顶盒发送的fcc请求,根据该fcc请求包含的目标频道的标识,向机顶盒发送所述目标频道的低码率的媒体流;当设定时间内的所述目标频道的低码率的媒体流发送完成后,此时停止向机顶盒发送低码率的媒体流,向所述机顶盒发送组播加入通知,以及向所述机顶盒发送所述目标频道的高码率的媒体流。当机顶盒接收到组播服务器发送的高码率的媒体流时,fcc服务器将接收机顶盒发送的媒体流终止请求,此时fcc服务器就可以停止向所述机顶盒发送所述目标频道的高码率的媒体流。

在一个可能的设计中,fcc服务器接收组播服务器发送的各个频道(包含目标频道)的媒体流,由于fcc服务器只是为了实现频道快速切换,因此fcc服务器不会永久存储接收到媒体流,而只是缓存一定时间内目标频道的低码率和高码率的媒体流。由于fcc服务器是持续接收组播服务器发送的媒体流,因此缓存一定时间内的媒体流相当于缓存滑动的窗口的媒体流。例如:始终缓存10秒的媒体流,当有新的1秒的媒体流接收时,将丢弃最早的1秒的媒体流。正如上述方法所说的一样,媒体流可以为分片的形式,以2秒一个分片为例,10秒的媒体流可能就是5个分片。对于设定时间内的所述目标频道的低码率的媒体流被fcc服务器发送完成具体可以为:将缓存的10秒低码率的媒体流(相当于5个分片)向机顶盒发送结束(结束的标志是一个完整分片发送完成)。此时机顶盒就已经有10秒的媒体流可以播放,为了提高用户观看体验,后续机顶盒可以播放高码率的媒体流,因此fcc服务器就可以停止向机顶盒发送低码率媒体流,改发高码率媒体流,并且通知机顶盒加入组播。

在另一个可能的设计中,由于机顶盒也从相同的组播服务器接收目标频道发送的媒体流,也就是说,机顶盒从fcc服务器和组播服务器接收的媒体流都是同源媒体流,它们的分片划分是相同的。正如上面所述的方法介绍,对于同一个内容而言,它们对应的分片是相同,传输该内容的数据包是相同,数据包对应的序列号(序列号是具有时间顺序性的)自然也是相同的。从机顶盒接收的媒体流终止请求包含了从组播服务器接收的目标频道的第一个组播高码率数据包的序列号,fcc服务器只要将该序列号之前的高码率的数据包(和机顶盒接收的第一个组播高码率数据包属于同一个分片)发送给机顶盒,机顶盒就可以将从fcc服务器和组播服务器接收的高码率媒体流组成一个独立分片进行播放了,此时fcc服务器也需要停止向机顶盒发送目标频道的第二码率的媒体流。

又一方面,本发明实施例提供了一种机顶盒,该机顶盒具有实现上述方法设计中机顶盒行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。

在一个可能的设计中,机顶盒的结构中包括收发器和处理器,所述接收器被配置为支持机顶盒向fcc服务器发送频道快速切换请求、媒体流终止请求以及向组播服务器发送组播加入请求,从fcc服务器接收第一码率的媒体流、第二码率的媒体流、组播加入通知以及从组播服务器接收第二码率的媒体等各种指令或者媒体流。所述处理器控制机顶盒播放第一码率媒体流或者第二码率媒体流。

又一方面,本发明实施例提供了一种fcc服务器,该fcc服务器具有实现上述方法设计中fcc服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。

在一个可能的设计中,fcc服务器的结构中包括收发器和处理器,所述接收器被配置为支持fcc服务器从机顶盒接收fcc请求,媒体流终止请求,以及向机顶盒发送第一码率的媒体流,第二码率的媒体流和组播加入通知。所述处理器控制fcc服务器开始或者停止向机顶盒发送第一码率的媒体流,第二码率的媒体流。

又一方面,本发明实施例提供了一种通信系统,该系统包括上述方面所述的机顶盒和fcc服务器。

再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述机顶盒所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述fcc所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

相较于现有技术,本发明提供的方案中,由于fcc服务器一开始发送的是低码率的媒体流,传输的低码率媒体流的时间将缩短,机顶盒接收到低码率的媒体流也就缩短,因此可以在很短时间内的就可以播放目标频道的视频了,因此缩短了机顶盒等待时间和频道切换的时间。另外,由于传输的媒体流是低码率的,在fcc服务器和机顶盒之间传输的媒体流所消耗的带宽也将降低,不会造成拥塞的情况,也提高了fcc的效率和性能。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1所示为本发明实施例的一种频道快速切换的系统网络示意图;

图2所示为本发明实施例提供的计算机设备示意图;

图3所示为本发明实施例提供的频道快速切换的方法流程示意图;

图4所示为本发明实施例提供的机顶盒的结构示意图;

图5所示为本发明实施例提供的频道快速切换服务器的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

首先介绍一下本发明实施例的频道快速切换的主要思路,包括:机顶盒向fcc服务器发送fcc请求,这样频道快速切换服务器就可以根据fcc请求中包含的目标频道的标识,向机顶盒发送目标频道的媒体流了,一开始,fcc服务器向机顶盒发送低码率的媒体流,由于媒体流的码率低,传输该媒体流的时间就变短了,机顶盒接收到该媒体流的时间变短了,播放该媒体流的时间也变短了,提高了用户频道切换的体验。但是一味传输低码率也不好,这样播放的清晰度就降低了,并且机顶盒加入组播服务器后,也是接收的高码率的视频流,因此需要向机顶盒传输视频流进行高低码率的切换。即fcc服务器在设定时间内的第一码率的媒体流发送完成后,就会向机顶盒发送组播加入通知,并且向机顶盒发送高码率的媒体流。机顶盒接收后,获知目前需要加入组播服务器的组播了,因此向组播服务器发送组播加入请求,接着,机顶盒就可以从组播服务器接收目标频道的高码率媒体流,此时需要通知频道快速切换服务器停止发送媒体流,则向频道快速切换服务器发送媒体流终止请求,频道快速切换服务器在收到媒体流终止请求,将组播服务器没有发给机顶盒的高码率媒体流补发给机顶盒,当发送完成后,就停止向机顶盒发送媒体流了。这样机顶盒将组播服务器发送的高码率媒体流和频道快速切换服务器发送的高码率媒体流组合起来,播放高码率的媒体流了,而后续直接接收组播服务器发送的高码率媒体流,就完成了频道的快速切换。

如图1所示,本发明实施例简单的频道快速切换方法所应用的系统框架图,包括:直播源101,自适应码率(adaptivebitrate,abr)编码器102,直播转发器(mediarelayfunction,mrf)103,组播服务器104,频道快速切换(fastchannelchange,fcc)服务器105和机顶盒(settopbox,stb)106。其中,直播源101用于输出直播的媒体流,这里的媒体流可以包括视频流,音频流和字幕流的一个或多个。通常来说,媒体流可以单独为视频流、音频流或者字幕流,在这种情况下,直播源101可以向abr编码器102分别单独输出的视频流、音频流或者字幕流。直播源101还可以向abr编码器102输出视频流和音频流的混合媒体流,或者视频流、音频流和字幕流的混合媒体流。但是不管直播源101输出的是单独的视频流,音频流或者字幕流,还是视频流和音频流等混合媒体流,本发明实施例实现的技术方案是一样的,方案细节是类似的,为了描述方便,本发明的各个实施例以媒体流为视频流为例进行说明,就不再重复描述视频流为音频流,字幕流或者混合媒体流的技术方案过程了。

abr编码器102接收来自直播源101推送的媒体流,按照不同码率,对该媒体流分别进行编码,形成了2条或者2条以上媒体流。通常来说,abr编码器102对同一个媒体流至少可以进行两种不同的码率进行编码,比如:低码率和高码率,低码率是清晰度较低的媒体流,比如:标清视频,高码率是清晰度较高的媒体流,比如:高清视频或者超高清视频。通常来说,低码率的媒体流用于频道快速切换,高码率主要用于组播的播放。这里的媒体流采用的编码方式可以有多种,比如:可以采用http动态自适应码流(dynamicadaptivestreamingoverhttp,dash)编码,http直播流(httplivestreaming,hls)编码或者其它格式的编码。需要说明的是:不管abr编码器102采用什么样的码率进行编码或者采用什么类型的格式进行编码,只要是直播源101传输的同一媒体流,对该媒体流编码后形成不同的媒体流之间的分片的划分都是相同的,比如:都是从0s开始编码,每隔2秒为一个分片。这样不同码率的媒体流之间的切换能够实现平滑切换,避免了丢失画面或者画面重复的问题。abr编码器102将把编码好的媒体流发送给mrf103。

mrf103接收到abr编码器102发送的媒体流,mrf103将不同码率的媒体流发送给组播服务器104。当然mrf103可能有多个,这里不做限制。

组播服务器104接收到mrf103发送的不同码率的媒体流,这些媒体流作为组播传输的内容。

fcc服务器105与组播服务器104连接,从组播服务器104中通过组播方式获得不同码率的媒体流。fcc服务器105只要是在工作运行的状态下,就从组播服务器104获得不同码率的媒体流。fcc服务器105为了能够实现频道快速切换,fcc服务器104缓存了各个频道的一段时间(一定数量的分片)的所有码率的媒体流。例如:fcc服务器104缓存了各个频道30秒(15个分片)的高码率的媒体流和30秒(15个分片)低码率的媒体流。当从组播服务器104可以接收到新的一个分片时,将缓存的最早的一个分片丢弃。也就是说始终保持同等数量分片的媒体流。媒体流通常由一个个分片组成,在传输过程中,分片通常都被压缩成实时传输协议(real-timetransportprotocol,rtp)报文进行传输,由于一个rtp报文通常只有1500个字节左右的大小,但是一个分片可能有几十k字节,几百k字节,甚至几m。所以一个分片可能用很多个rtp报文进行传输,并且按照时间顺序,给每个rtp报文分配一个序列号,也就是说,可以通过个rtp报文上序列号是唯一的。组播服务器104也可以接收到新的一个rtp包时,将缓存的最早的一个rtp包丢弃。在进行频道快速切换过程中,fcc服务器105先发送低码率的媒体流给stb106,在缓存的分片发送完成后,fcc服务器105就以正常速率发送高码率的媒体流给stb106。

stb106为用户客户端,stb106分别与组播服务器104和fcc服务器105进行通信连接,abr编码器102与直播转发器103进行通信连接,直播转发器103与组播服务器104实现通信连接。通信连接实现方式有很多种,比如:通过互联网,无线网络(3g/4g/5g)以及直接通信等。在进行频道快速切换时,stb106先从fcc服务器105快速接收到低码率的媒体流,然后逐渐从fcc服务器105接收到高码率的媒体流,最后从组播服务器104接收到高码率的媒体流。stb106本身会缓存一段时间(一定数量的分片的)媒体流。通常来说stb106还包含了播放器,在接收到媒体流时,stb106的播放器就可以实现播放了。

在本方案中,fcc服务器缓存接收所有码率媒体流的分片,并在频道快速切换时,快速推送最低码率码流给客户端,以快速启动播放。在客户端开始播放新频道节目后,fcc服务器推送更高码率的码流给客户端,使得频道切换过程中,用户看到的画面质量呈现逐步平滑提升的效果,并且实现了频道的快速切换。

图2所示为本发明实施例提供的计算机设备示意图。计算机设备200包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。

处理器201可以是一个通用中央处理器(cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线202可包括一通路,在上述组件之间传送信息。所述通信接口204,使用任何收发器一类的设备,用于与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wirelesslocalareanetworks,wlan)等。

存储器203可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,所述存储器203用于存储执行本发明方案的应用程序代码,并由处理器201来控制执行。所述处理器201用于执行所述存储器303中存储的应用程序代码。

在具体实现中,作为一种实施例,处理器201可以包括一个或多个cpu,例如图2中的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备200可以包括多个处理器,例如图2中的处理器201和处理器208。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接受用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备200可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备200可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图2中类似结构的设备。本发明实施例不限定计算机设备200的类型。

如图1中的机顶盒可以为图2所示的设备,机顶盒106的存储器中存储了一个或多个软件模块。机顶盒106可以通过处理器以及存储器中的程序代码来实现软件模块,实现频道快速切换。

如图1中的fcc服务器可以为图2所示的设备,机顶盒105的存储器中存储了一个或多个软件模块。机顶盒106可以通过处理器以及存储器中的程序代码来实现软件模块,实现频道快速切换。

下面将基于上面所述的本发明涉及的共性方面,对本发明实施例进一步详细说明。

如图3所示,本发明提供的一种频道快速切换的方法,该方案的组播服务器和fcc服务器发送给机顶盒的媒体流是同源的,因此保证了组播服务器发送的媒体流与fcc服务器发送的媒体流的媒体分片是对齐的。过程包括:

s301:用户在观看电视节目过程中,需要切换频道,从频道a切换成频道b,于是用户通过遥控器向stb发送频道切换命令,该频道切换命令包含了切换目标频道(频道b)的标识。

s302:stb接收了遥控器的频道切换命令,断开和频道a的组播链接,退出频道a的组播组;以及stb向fcc服务器发送频道b的fcc请求,该fcc请求包含频道b的标识。

s303:fcc服务器接收stb发送的fcc请求,根据频道b的标识,建立了stb与fcc服务器的单播连接。在建立单播连接后,为了能够让stb快速播放频道b的内容,fcc服务器一开始通过单播方式向stb推送频道b的低码率视频流。

在正常运行状态下,fcc服务器接收组播服务器发送的各个频道(包含目标频道)的媒体流,由于fcc服务器只是为了实现频道快速切换,因此fcc服务器不会永久存储接收到媒体流,而只是缓存一定时间内目标频道的低码率和高码率的媒体流。由于fcc服务器是持续接收组播服务器发送的媒体流,因此fcc服务器一定时间内的媒体流相当于缓存滑动的窗口的媒体流。例如:fcc服务器始终缓存10秒的媒体流,当有新的1秒的媒体流接收时,将丢弃最早的1秒的媒体流。为了能够实现频道快速切换,fcc服务器在初始过程中,推送的是低码率的分片,推送的内容消耗的带宽较小,推送的速度加快和减少推送延时,机顶盒可以快速启动播放。

fcc服务器预先缓存了组播服务器发送的各个组播频道的视频流,这些视频流包括低码率和高码率。当存在频道切换的需求时,fcc服务器可以快速将缓存的低速率视频流快速发送给stb,实现了快速频道切换。并且媒体流的每个分片都是独立的,不依赖前一个分片,因此fcc服务器在向stb发送低码率的媒体流时,需要从缓存的媒体流中的时间最早的一个分片开始进行发送,这样stb接收到低码率媒体流均是一个个完整的分片,直接可以用来播放了。

s304:stb接收fcc服务器推送的视频流,并调用stb内嵌的播放器启动视频播放。

s305:由于fcc服务器的开始向stb发送的视频流是低码率的,因此在较短设定时间内就可以将缓存的目标频道的低码率的视频流都发送给了stb时,fcc服务器向stb发送组播加入通知,并开始向stb发送频道b的高码率的视频流。

具体来说,将缓存的10秒低码率的媒体流(相当于5个分片)向机顶盒发送结束(结束的标志是一个完整分片发送完成)。此时机顶盒就已经有10秒的媒体流可以播放,为了提高用户观看体验,后续机顶盒可以播放高码率的媒体流,因此fcc服务器就可以停止向机顶盒发送低码率媒体流,改发高码率媒体流。

s306:stb接收了fcc服务器发送的组播加入通知,向组播服务器发送组播加入请求,该组播加入请求包含频道b的标识。

s307:fcc服务器接收到stb的组播加入请求,根据频道b的标识,将stb加入到频道b的组播组中。此时stb加入了频道b的组播组,组播服务器开始向stb推送高码率的视频流。

s308:stb接收了组播服务器推送的高码率的视频流。通常来说,正如上面的技术方案描述的一样,视频流传输时是通过数据包进行传输的,这里的数据表为rtp包。stb从组播服务器接收的是一个个的rtp包,stb确定从组播服务器接收到第一个的组播高码率数据包的序列号,并向fcc服务器发送媒体流终止请求,该媒体流终止请求包含了该第一个的组播高码率数据包的序列号。由于每个rtp包上有序列号,并且该序列号是具有时间顺序性的,因此,只要从fcc服务器接收该第一个的组播高码率数据包的序列号之前的序列号的rtp包,就能把这个rtp包所在分片所有的rtp包补齐了。例如:序列号大的rtp包对应的内容在序列号小的rtp包对应的内容的后面。stb将持续从组播服务器接收到高码率的视频流。

s309:fcc服务器接收到该媒体流终止请求,根据携带的第一个的rtp包的序列号的序列号,确定该rtp包所在的分片,向stb发送上述第一个的rtp包的序列号之前的该分片所有的rtp包,当上述第一个的rtp包的序列号之前的该分片所有的rtp包发送完成,停止向机顶盒发送目标频道的高码率的视频流。

具体来说,机顶盒从fcc服务器和组播服务器接收的媒体流都是同源视频流,它们的分片划分是相同的。正如上面所述的技术方案介绍,对于同一个内容而言,它们对应的分片是相同,传输该内容的数据包是相同,数据包对应的序列号自然也是相同的。从机顶盒接收的媒体流终止请求包含了从组播服务器接收的目标频道的第一个组播高码率数据包的序列号,fcc服务器只要将该序列号之前的高码率的数据包(和机顶盒接收的第一个组播高码率数据包属于同一个分片)发送给机顶盒,机顶盒就可以将从fcc服务器和组播服务器接收的高码率媒体流组成一个独立分片进行播放了,此时fcc服务器也需要停止向机顶盒发送目标频道的第二码率的视频流。

s310:stb接收到fcc服务器发送的rtp包,并和组播服务器接收到的rtp包进行一起解压成一个独立的高码率分片,实现播放高码率的视频,同时完成了频道的快速切换。

由于fcc服务器一开始发送的是低码率的媒体流,传输的低码率媒体流的时间将缩短,机顶盒接收到低码率的媒体流也就缩短,因此可以在很短时间内的就可以播放目标频道的视频了,因此缩短了机顶盒等待时间和频道切换的时间。另外,由于传输的媒体流是低码率的,在fcc服务器和机顶盒之间传输的媒体流所消耗的带宽也将降低,不会造成拥塞的情况,也提高了fcc的效率和性能。

如图4所示,本发明实施例还提供了一种机顶盒的结构示意图。机顶盒400包括:第一发送单元401,用于向频道快速切换服务器发送频道快速切换请求,所述频道快速切换请求包含了目标频道的标识;第一接收单元402,用于从所述频道快速切换服务器接收所述目标频道的第一码率的媒体流,第一播放单元403,用于播放所述目标频道的第一码率的媒体流;第二发送单元404,用于根据从所述频道快速切换服务器接收的组播加入通知,向组播服务器发送组播加入请求;第二接收单元405,用于从所述频道快速切换服务器接收所述目标频道的第二码率的媒体流,所述第二码率高于所述第一码率;第三接收单元406,用于从所述组播服务器接收所述目标频道的第二码率的媒体流;第三发送单元407,用于向所述频道快速切换服务器发送媒体流终止请求;第二播放单元408,用于根据从所述频道快速切换服务器接收的所述目标频道的第二码率的媒体流和从所述组播服务器接收的所述目标频道的第二码率的媒体流,播放所述目标频道的第二码率的媒体流。

在本实施例中,机顶盒400是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到防止内存数据丢失的装置可以采用图2所示的形式。第一发送单元401,第一接收单元402,第一播放单元403,第二发送单元404,第二接收单元405,第三接收单元406,第三发送单元407和第二播放单元408可以通过图2的处理器和存储器来实现。

本发明实施例还提供了一种计算机存储介质,用于储存为上述图4所示的机顶盒所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现机顶盒实现频道快速切换。

如图5所示,本发明实施例还提供了一种fcc服务器的结构示意图。fcc服务器500包括:切换请求接收单元501,用于接收机顶盒发送的频道快速切换请求,所述频道快速切换请求包含了目标频道的标识;低码率发送单元502,用于根据所述目标频道的标识,向所述机顶盒发送所述目标频道的第一码率的媒体流;通知发送单元503,用于当设定时间内的所述目标频道的第一码率的媒体流发送完成后,向所述机顶盒发送组播加入通知;高码率发送单元504,用于向所述机顶盒发送所述目标频道的第二码率的媒体流,第二码率高于第一码率;终止请求接收单元505,用于接收所述机顶盒发送的媒体流终止请求;停止单元506,用于停止向所述机顶盒发送所述目标频道的第二码率的媒体流。

在本实施例中,fcc服务器500是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到防止内存数据丢失的装置可以采用图2所示的形式。切换请求接收单元501,低码率发送单元502,通知发送单元503,高码率发送单元504,终止请求接收单元505和停止单元506可以通过图2的处理器和存储器来实现。

本发明实施例还提供了一种计算机存储介质,用于储存为上述图5所示的fcc服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现fcc服务器实现频道快速切换。

本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1