CN109218828B - 一种进行流媒体播放的方法和终端、存储介质 - Google Patents
一种进行流媒体播放的方法和终端、存储介质 Download PDFInfo
- Publication number
- CN109218828B CN109218828B CN201811031356.6A CN201811031356A CN109218828B CN 109218828 B CN109218828 B CN 109218828B CN 201811031356 A CN201811031356 A CN 201811031356A CN 109218828 B CN109218828 B CN 109218828B
- Authority
- CN
- China
- Prior art keywords
- streaming media
- playing
- descriptor
- broadcast television
- pmt
- 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
Links
Images
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/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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- 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
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种进行流媒体播放的方法和终端,用以解决现有技术中存在的在广播电视中播放流媒体时,播放次数少,且流媒体内容单一的问题。本发明实施例在监听到正在播放的广播电视频道对应的PMT发生变化后,判断该PMT中是否存在流媒体描述符,该流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址,如果存在,并且在播放时间到达前广播电视频道未发生变化,则在播放时间到达时播放与流媒体描述符对应的流媒体。由于广播电视频道对应的PMT中的流媒体描述符可以有多个,即播放时间可以有多个,并且不同的流媒体描述符可以对应不同的流媒体内容,从而在播放广播电视的过程中可以多次播放流媒体,且流媒体内容可以丰富多样。
Description
技术领域
本发明涉及无线通信技术领域,特别涉及一种进行流媒体播放的方法和终端。
背景技术
随着网络技术和流媒体技术的发展,越来越多的流媒体内容通过网络的方式进行分发传播,为用户提供灵活的观看需求。
近年来,越来越多的广播电视用户从传统的广播电视转移至了网络电视,但广播电视特有的广覆盖、低延时、低成本的技术特点,使其在分发电视节目领域拥有不可替代的价值。
现有技术在广播电视中插入流媒体内容时,通常由智能电视制造商在系统启动的过程中向用户播放流媒体内容,并且可以通过网络方式更新流媒体内容。然而通过该种方式,由于是在电视开机时为用户播放流媒体内容导致播放的次数较少;且由于流媒体内容是电视制造商设置的,所以流媒体内容单一。
发明内容
本发明提供一种进行流媒体播放的方法和终端,用以解决现有技术中存在的在广播电视中播放流媒体时,播放次数少,且流媒体内容单一的问题。
第一方面,本发明实施例提供的一种进行流媒体播放的方法,包括:
在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述 PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体。
上述方法,首先在监听到正在播放的广播电视频道对应的PMT发生变化后,判断该PMT中是否存在流媒体描述符,该流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址,如果存在该流媒体描述符,并且在该流媒体描述符中的播放时间到达前该广播电视频道未发生变化,则在该播放时间到达时播放与流媒体描述符对应的流媒体。由于在广播电视频道对应的PMT 中存在流媒体描述符,并且根据该流媒体描述符中的播放时间播放与该流媒体描述符对应的流媒体,其中广播电视频道对应的PMT中存在的流媒体描述符可以有多个,即播放时间可以有多个,且不同的流媒体描述符可以对应不同的流媒体内容,从而在播放广播电视的过程中可以多次播放流媒体,且流媒体内容可以丰富多样。
在一种可能的实现方式中,所述在所述播放时间到达时播放与所述流媒体描述符对应的流媒体,包括:
在所述播放时间到达时根据所述播放地址播放与所述流媒体描述符对应的流媒体;或
在所述播放时间到达之前根据所述播放地址下载与所述流媒体描述符对应的流媒体,并在所述播放时间到达时进行播放。
上述方法,给出了两种播放流媒体的方式,方式一,根据流媒体描述符中的播放地址播放流媒体;方式二,播放之前根据流媒体描述符中的播放地址下载与流媒体描述符对应的流媒体后再进行播放。
在一种可能的实现方式中,在所述播放时间到达时播放与所述流媒体描述符对应的流媒体,还包括:
在所述播放时间到达时,显示并启动根据所述流媒体描述符中的播放时长设置的定时器。
上述方法,在流媒体描述符中的播放时间到达时,显示并启动根据流媒体描述符中的播放市场设置的定时器,从而能够直观的在终端上展现该流媒体的播放时长,以及该流媒体还有多久能够播放完。
在一种可能的实现方式中,所述方法还包括:
在播放与所述流媒体描述符对应的流媒体时,若广播电视频道发生变化,则根据发生变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
上述方法,如果在流媒体播放过程中,广播电视频道发生了变化,则需要切换到变化后的广播电视频道,并根据变化后的广播电视频道对应的PMT播放广播电视或流媒体,从而完成流媒体到广播电视的切换,或流媒体到流媒体的切换。
在一种可能的实现方式中,所述播放与所述流媒体描述符对应的流媒体之后,还包括:
若监听到正在播放的广播电视频道对应的PMT发生变化,且变化后的 PMT中不存在流媒体描述符,且存在用于广播电视节目播放的音频描述符和/ 或视频描述符,则在流媒体播放结束后,根据所述变化后的PMT中存在的所述音频描述符和/或所述视频描述符播放广播电视节目。
上述方法,给出了流媒体播放结束后,由流媒体切换到广播电视的方式,根据正在播放的广播电视频道对应的PMT发生变化,并且变化后的PMT中不存在流媒体描述符,存在用于广播电视播放的音频描述符和/或视频描述符,则在流媒体播放结束后,播放广播电视,从而完成由播放流媒体切换到播放广播电视的过程。
第二方面,本发明实施例提供的一种进行流媒体播放的终端,该终端包括:至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行下列过程:
在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述 PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体。
在一种可能的实现方式中,所述处理单元具体用于:
在所述播放时间到达时根据所述播放地址播放与所述流媒体描述符对应的流媒体;或
在所述播放时间到达之前根据所述播放地址下载与所述流媒体描述符对应的流媒体,并在所述播放时间到达时进行播放。
在一种可能的实现方式中,所述处理单元还用于:
在所述播放时间到达时,显示并启动根据所述流媒体描述符中的播放时长设置的定时器。
在一种可能的实现方式中,所述处理单元还用于:
在播放与所述流媒体描述符对应的流媒体时,若广播电视频道发生变化,则根据发生变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
在一种可能的实现方式中,所述处理单元还用于:
若监听到正在播放的广播电视频道对应的PMT发生变化,且变化后的 PMT中不存在流媒体描述符,且存在用于广播电视节目播放的音频描述符和/ 或视频描述符,则在流媒体播放结束后,根据所述变化后的PMT中存在的所述音频描述符和/或所述视频描述符播放广播电视节目。
第三方面,本发明实施例提供的一种进行流媒体播放的终端,该终端包括:
判断模块:用于在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
播放模块:用于若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体。
第四方面,本发明实施例还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
另外,第二方面至第四方面中任一一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种进行流媒体播放的方法流程示意图;
图2为本发明实施例提供的一种进行流媒体播放的完整方法的流程示意图;
图3为本发明实施例提供的第一种进行流媒体播放的终端的结构示意图;
图4为本发明实施例提供的第二种进行流媒体播放的终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
目前,数字电视在播放电视节目时,首先锁定节目所在的频点,然后获取该频点对应的PMT(Program Map Table,节目映射表),再从该PMT中获取音频PID(PacketIdentifier,包识别码)、视频PID,过滤并解码该音频PID 和视频PID对应的数据,最后根据过滤并解码后的音频PID和视频PID进行节目的播放。
如果想在播放广播电视节目时插入流媒体,比如在广播电视节目播放过程中,插入10秒的广告,则可以在PMT中插入流媒体描述符,然后根据该流媒体描述符中的播放时间、播放时长和播放地址播放流媒体。
当流媒体播放结束后,还要继续播放广播电视节目,比如在广播电视的电视剧播放过程中插入10秒流媒体广告,10秒流媒体广告结束后,再继续播放广播电视的电视剧。
本发明实施例中的执行主体可以是智能电视。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
针对上述应用场景,下面结合说明书附图对本发明实施例做进一步详细描述。
本发明实施例提供的一种进行流媒体播放的方法,如图1所示,具体包括以下步骤:
S100、在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
S101、若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体。
本发明实施例在监听到正在播放的广播电视频道对应的PMT发生变化后,判断发生该PMT中是否存在流媒体描述符,该流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址,如果存在该流媒体描述符,并且在该流媒体描述符中的播放时间到达前该广播电视频道未发生变化,则在该播放时间到达时播放与该流媒体描述符对应的流媒体。由于在广播电视频道对应的PMT 中存在流媒体描述符,并且根据该流媒体描述符中的播放时间播放与该流媒体描述符对应的流媒体,其中广播电视频道对应的PMT中存在的流媒体描述符可以有多个,即播放时间可以有多个,且不同的流媒体描述符可以对应不同的流媒体内容,从而在播放广播电视的过程中可以多次播放流媒体,且流媒体内容可以丰富多样。
其中,PMT为节目映射表,通过该表可以得到一路节目中包含的信息,例如该路节目由哪些流构成,这些流的类型(视频、音频、数据),指定节目中各流对应的PID,以及该节目的PCR(Program Clock Reference,节目始终参考)对应的PID。
PMT中包含当前频道中所有视频数据的PID、当前频道中所有音频数据的 PID、和当前频道关联在一起的其他数据的PID等数据。
如表1所示,为PMT的数据结构表,也是PMT中各字段的含义,表1中的第一列为句法,第二列为比特数,第三列为助记符。比如,table_id代表PMT 的ID,PMT的ID的比特数为8bits(位);section_syntax_indicator代表PMT 语法标志位,比特数为1bit。
表1
在表1中,program_info_length代表节目信息长度,该字段代表PMT的描述符总的长度。
对于PMT中的描述符,在PMT中会有多种节目描述,每种节目描述对应至少一个描述符标签值,实际的码流决定了在一个PMT中存在哪些节目描述。如表2所示,为PMT中包含的节目描述以及各节目描述对应的描述符标签值。从表2中的最后一行“User Private(用户私自定义)”可以看出,描述符标签值64~235没有被占用,所以在具体实施中,流媒体描述符可以为描述符标签值64~235中的任意一个。
descriptor_tag | TS | PS | Identification |
0 | n/a | n/a | Reserved |
1 | n/a | n/a | Reserved |
2 | X | X | video_stream_descriptor |
3 | X | X | audio_stream_descriptor |
4 | X | X | hierarchy_descriptor |
5 | X | X | registration_descriptor |
6 | X | X | data_stream_alignment_descriptor |
7 | X | X | target_background_grid_descriptor |
8 | X | X | Video_window_descriptor |
9 | X | X | CA_descriptor |
10 | X | X | ISO_639_language_descriptor |
11 | X | X | System_clock_descriptor |
12 | X | X | Multiplex_buffer_utilization_descriptor |
13 | X | X | Copyright_descriptor |
14 | X | Maximum_bitrate_descriptor | |
15 | X | X | Private_data_indicator_descriptor |
16 | X | X | Smoothing_buffer_descriptor |
17 | X | STD_descriptor | |
18 | X | X | IBP_descriptor |
19-26 | X | Defined in ISO/IEC 13818-6 | |
27 | X | X | MPEG-4_video_descriptor |
28 | X | X | MPEG-4_audio_descriptor |
29 | X | X | IOD_descriptor |
30 | X | SL_descriptor | |
31 | X | X | FMC_descriptor |
32 | X | X | External_ES_ID_descriptor |
33 | X | X | MuxCode_descriptor |
34 | X | X | FmxBufferSize_descriptor |
35 | X | MultiplexBuffer_descriptor | |
36-63 | n/a | n/a | ITU-T Rec.H.222.0|ISO/IEC 13818-1Reserved |
64-255 | n/a | n/a | User Private |
表2
需要说明的是,PMT主要提供了节目号与节目描述的映射关系,而节目描述包含了音频、视频、字幕以及是否加密等信息。
由于广播电视频道对应的PMT有可能会发生变化,比如由加密流变成非加密流,由非加密流变成加密流,广播电视节目由一路声音变为两路声音等,所以终端会周期性的监听PMT,比如100ms监听一次。
本发明实施例中,在监听到正在播放的广播电视频道对应的PMT发生变化后,判断该变化后的PMT中是否存在流媒体描述符,该流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址。
由于正常情况下广播电视频道播放的是广播电视节目,所以从广播电视节目的播放切换到流媒体的播放时,PMT会发生变化,且在变化后的PMT中会存在流媒体描述符。
需要说明的是,包含流媒体描述符的PMT是之前预先配置好的,当终端播放广播电视节目时,会在预设的时间将配置好的包含流媒体描述符的PMT 推送给终端,比如在播放流媒体前2秒向终端推送包含流媒体描述符的PMT。
在实施中,根据表2的描述符与描述符标签值的对应关系,为了不与表2 中的其他描述符冲突,可以将流媒体描述符的描述符标签值设置为64。
如表3所示为本发明实施例流媒体描述符的数据结构表。表3中,与流媒体描述符对应的描述符标签值为64,描述符标签值所占的位数为8;描述符长度所占的位数为8;流媒体播放时间所占的位数为40;流媒体播放时长所占的位数为16,流媒体播放地址长度所占的位数为8。
表3
从表3中可以看出,流媒体描述符中包含播放时间、播放时长和播放地址。
其中播放时间,即开始播放流媒体的时间,由于播放流媒体是在播放广播电视节目的过程中播放的,所以在流媒体描述符中包含开始播放流媒体的时间,比如7点10分开始播放流媒体。
流媒体播放时间可以采用标准的UTC(Universal Time Coordinated,世界协调时),也称格林威志时间,以及MJD(Modified Julian Data,日期码)的编码方式编码,将表3中的播放时间对应的所占的位数转换为具体的时间,比如X年X月X日X时X分X秒。
播放时长,即播放流媒体的时长,由于流媒体播放结束后,还会继续播放广播电视节目,所以在流媒体描述符中包含播放流媒体的时长,比如播放时长为10秒。
流媒体的播放时长为十进制的数,单位为秒,具体可以通过表3中的所占的位数进行转换得到,也就是将二进制转换为十进制。
播放地址,即在线播放流媒体的地址,或在播放流媒体之前下载流媒体的地址,由于流媒体是采用流式传输的方式在Internet(网络)上播放的媒体格式,所以在流媒体描述符中包含播放流媒体的地址,在播放时间到达时,根据播放地址进行流媒体的播放。
流媒体的播放地址为具体的字符串,具体可以根据播放地址数据确定具体的字符串。
确定了变化后的PMT中存在流媒体描述符,并且在该流媒体描述符中的播放时间到达前该广播电视频道未发生变化,则在该流媒体描述符中的播放时间到达时播放与该流媒体描述符对应的流媒体。
广播电视频道不同,对应的PMT也不同,如果广播电视频道发生变化,则终端会根据变化后的广播电视频道对应的PMT进行播放,当流媒体播放时间到达前广播电视频道不发生变化,则会在播放时间到达时播放流媒体。
如果在流媒体播放时间到达前广播电视频道发生了变化,但是在流媒体播放时间到达时,又回到变化前的广播电视频道,则也可以进行流媒体的播放。
比如,正在播放的广播电视频道1对应的PMT发生变化后为PMT1,PMT1 中存在流媒体描述符,该流媒体描述符中的播放时间为7点10分,在7点10 分之前,广播电视频道切换到了广播电视频道2,但是在7点10分时广播电视频道又切换回广播电视频道1,此时可以播放PMT1中的与流媒体描述符对应的流媒体。
在流媒体描述符中的播放时间到达时播放与该流媒体描述符对应的流媒体有以下两种方式:
方式一、在播放时间到达时根据流媒体描述符中的播放地址播放与该流媒体描述符对应的流媒体。
需要说明的是,该播放流媒体的方式为在线播放,在线播放流媒体时无需在播放时间到达之前提前下载需要播放的流媒体,从而可以不占用终端的内存。
方式二、在播放时间到达之前根据该流媒体描述符中的播放地址下载与所述流媒体描述符对应的流媒体,并在所述播放时间到达时进行播放。
需要说明的是,该播放流媒体的方式为将流媒体提前下载后再播放,也就是在流媒体播放时间到达之前根据播放地址下载流媒体,由于提前将流媒体下载到终端,所以在播放流媒体过程中不会因为网络不好出现卡顿的现象。
通过方式二进行流媒体播放时,流媒体播放结束后,可以马上删除下载完的流媒体,也可以暂时不删除,终端会定时删除终端中存储的流媒体,比如24 小时删除一次。
在播放时间到达时播放与流媒体描述符对应的流媒体时,可以在播放时间到达时,在终端上显示并启动根据流媒体描述符中的播放时常设置的定时器。
其中,定时器用来显示流媒体播放的时长,可以是倒计时,也可以是计时,比如流媒体播放时长为10秒,则在播放时间到达时,终端上可以从10开始显示,到0结束,也可以从0开始显示,到10结束。
在实施中,启动的定时器为倒计时时,则可以通过该定时器通知用户流媒体多长时间能够播放完,比如10秒,此时用户可以任意切换频道,当10秒后,用户可以再切换到该频道进行广播电视节目的观看。
需要说明的是,显示并启动根据流媒体描述符中的播放时长设置的定时器,除了在播放时间到达时显示并启动,也可以在播放时间到达前显示并启动第一定时器,在播放时间到达时显示并启动第二定时器,此时第一定时器根据流媒体描述符中的播放时间到达前的预设时长设置,第二定时器根据流媒体描述符中的播放时长设置。
比如,在流媒体播放时间到达前5秒显示并启动第一定时器,第一定时器根据预设时长5秒设置,在流媒体播放时间到达时显示并启动第二定时器,第二定时器根据流媒体描述符中的播放时长10秒进行设置。流媒体播放时间为7 点,则在6点55秒启动第一定时器,进行倒计时,5秒倒计时结束后,在流媒体播放时间7点,显示并启动第二定时器,进行倒计时,倒计时10秒结束,流媒体播放结束。
这里的第一定时器,在用户观看广播电视节目时,可以准确的得知流媒体播放的时间。
在播放流媒体时,还有一种可能是用户在观看流媒体播放时切换广播电视的频道,如果用户切换了广播电视频道,则终端会根据变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
变化后的广播电视频道对应的PMT中可能存在流媒体描述符,也可能存在用于广播电视节目播放的音频描述符和/或视频描述符,所以变化后的广播电视频道可能会播放流媒体,也可能会播放广播电视节目。
比如,此时播放流媒体的广播电视频道为广播电视频道1,如果用户将广播电视频道切换到广播电视频道2,终端获取广播电视频道2对应的PMT2中的PMT信息,解析到PMT2中存在用于广播电视节目播放的音频描述符和视频描述符,不存在流媒体描述符,则终端根据PMT2进行广播电视的播放;
如果用户将广播电视频道切换到广播电视频道3,终端获取广播电视频道 3对应的PMT3中的PMT信息,解析到PMT3中存在流媒体描述符,不存在用于广播电视节目播放的音频描述符和/或视频描述符,则终端根据PMT3进行流媒体的播放;
如果用户将广播电视频道切换到广播电视频道4,终端获取广播电视频道 4对应的PMT4中的PMT信息,解析到PMT4中既存在流媒体描述符,又存在用于广播电视节目播放的音频描述符和/或视频描述符,则终端根据PMT4 进行流媒体的播放或广播电视节目的播放,比如切换到广播电视频道4的时间为流媒体播放时间,则进行流媒体播放;切换到广播电视频道4的时间不为流媒体播放时间,则进行广播电视节目的播放。
如果流媒体播放结束,可以切换到广播电视节目的播放。当由流媒体播放切换到广播电视节目的播放时,在播放的广播电视频道对应的PMT会发生变化,并且变化后的PMT会替换变化前的PMT。
终端监听到正在播放的广播电视频道对应的PMT发生变化,并且变化后的PMT中不存在流媒体描述符,并且存在用于广播电视节目播放的音频描述符和/或视频描述符,则在流媒体播放结束后,根据变化后的PMT中存在的音频描述符和/或视频描述符播放广播电视。
如图2所示,为本发明实施例一种进行流媒体播放的完整方法的流程示意图。
步骤200、锁定广播电视频道;
步骤201、播放广播电视节目;
步骤202、周期性监听PMT;
步骤203、判断PMT是否发生变化,如果是,则执行步骤204,否则执行步骤202;
步骤204、解析变化后的PMT;
步骤205、判断PMT中是否有流媒体描述符,如果是,则执行步骤206,否则执行步骤210;
步骤206、获取流媒体描述符中的播放时间、播放时长和播放地址;
步骤207、根据播放地址,下载流媒体;
步骤208、在播放时间到达时,播放下载后的流媒体,并显示和启动定时器;
步骤209、定时器时间到达,即流媒体播放结束,执行步骤203;
步骤210、判断PMT中是否存在用于广播电视节目播放的音频描述符和视频描述符,如果是,则执行步骤211,否则,结束播放;
步骤211、获取PMT中的用于广播电视节目播放的音频描述符和视频描述符;
步骤211、进行广播电视节目的播放。
下面再以具体实例进行说明。
实施例1
在普通智能电视上播放广播电视节目过程中插入流媒体广告的播放。
在广播电视前端,将广告内容存放在流媒体服务器上,并将该广告内容对应的播放地址、播放时间和播放时长等信息编码进PMT。
操作流程:
步骤1、将广告内容进行编码并存放在流媒体服务器上;
步骤2、采用现有的成熟的流媒体协议(HLS/MSS/DASH等)分发广告,并得到对应的播放地址,(本实施例不依赖于特定的流媒体协议);
步骤3、根据广播电视信号的需要,得到每个广告片段播放的时间和播放的时长;
步骤4、将广告的播放地址、播放时间以及播放时长按照PMT扩展描述的定义,生成PMT1;
步骤5、在广告播放时间前2秒,开始以100毫秒为间隔重复插入PMT1;
步骤6、在播放时间到达时,根据播放地址播放广告;
步骤7、在广告播放结束前2秒,停止插入PMT1,并开始插入用于广播电视节目播放的PMT2;
步骤8、播放时长结束,停止播放广告,开始播放电视广播节目。
实施例2
在插有CAM卡的智能电视机上播放广播电视节目过程中插入流媒体广告的播放。
在插有CAM(Conditional Access Module,视密卡)的智能电视上,广播电视信号的流向为:载有电视信号的信号线→有线电视接口→电视机的 Tuner(调谐器)/Demod(解调器)→CAM卡→电视机的Demux(解复用器)→电视机的Decoder(译码器)→显示。
在CAM卡内部的应用可以修改流经CAM卡的PMT及电视信号,从而实现在广播电视频道下播放流媒体的效果。
操作流程:
步骤1、在插有CAM卡的智能电视上播放广播电视节目;
步骤2、CAM内的应用程序在得知智能电视正在播放广播电视节目后,生成准备播放的流媒体广告;
步骤3、CAM内的应用程序将准备播放的流媒体播放地址、播放时间以及播放时长等内容按照PMT扩展定义,生成新的PMT;
步骤4、CAM内的应用程序,将流经CAM卡的TS流的PMT移除,并全部替换为步骤3得到的新的PMT;
步骤5、在播放时间到达时,播放与播放地址对应的流媒体广告。
基于同一发明构思,本发明实施例中还提供了一种进行流媒体播放的终端,由于该终端对应的方法是本发明实施例一种进行流媒体播放的方法,并且该终端解决问题的原理与该方法相似,因此该终端的实施可以参见方法的实施,重复之处不再赘述。
如图3所示,本发明实施例提供的一种进行流媒体播放的终端,包括:至少一个处理单元300、以及至少一个存储单元301,其中,所述存储单元301 存储有程序代码,当所述程序代码被所述处理单元300执行时,使得所述处理单元300执行下列过程:
在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述 PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体。
可选的,所述处理单元300具体用于:
在所述播放时间到达时根据所述播放地址播放与所述流媒体描述符对应的流媒体;或
在所述播放时间到达之前根据所述播放地址下载与所述流媒体描述符对应的流媒体,并在所述播放时间到达时进行播放。
可选的,所述处理单元300还用于:
在所述播放时间到达时,显示并启动根据所述流媒体描述符中的播放时长设置的定时器。
可选的,所述处理单元300还用于:
在播放与所述流媒体描述符对应的流媒体时,若广播电视频道发生变化,则根据发生变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
可选的,所述处理单元300还用于:
若监听到正在播放的广播电视频道对应的PMT发生变化,且变化后的 PMT中不存在流媒体描述符,且存在用于广播电视节目播放的音频描述符和/ 或视频描述符,则在流媒体播放结束后,根据所述变化后的PMT中存在的所述音频描述符和/或所述视频描述符播放广播电视节目。
基于同一发明构思,本发明实施例中还提供了另一种进行流媒体播放的终端,由于该终端对应的方法是本发明实施例一种进行流媒体播放的方法,并且该终端解决问题的原理与该方法相似,因此该终端的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,本发明实施例提供一种进行流媒体播放的终端,包括判断模块400和播放模块401:
判断模块400:用于在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
播放模块401:用于若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体。
可选的,所述播放模块401具体用于:
在所述播放时间到达时根据所述播放地址播放与所述流媒体描述符对应的流媒体;或
在所述播放时间到达之前根据所述流媒体描述符中的播放地址下载与所述流媒体描述符对应的流媒体,并在所述播放时间到达时进行播放。
可选的,所述播放模块401还用于:
在所述播放时间到达时,显示并启动根据所述流媒体描述符中的播放时长设置的定时器。
可选的,所述播放模块401还用于:
在播放与所述流媒体描述符对应的流媒体时,若广播电视频道发生变化,则根据发生变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
可选的,所述播放模块401还用于:
若监听到正在播放的广播电视频道对应的PMT发生变化,且变化后的 PMT中不存在流媒体描述符,且存在用于广播电视节目播放的音频描述符和/ 或视频描述符,则在流媒体播放结束后,根据所述变化后的PMT中存在的所述音频描述符和/或所述视频描述符播放广播电视节目。
本发明实施例还提供一种进行流媒体播放的可读存储介质,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行流媒体播放的方法的步骤。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种进行流媒体播放的方法,其特征在于,该方法包括:
在监听到正在播放的广播电视频道对应的节目映射表PMT发生变化后,判断所述PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体;
其中,所述在监听到正在播放的广播电视频道对应的PMT发生变化之前,还包括:
接收包括所述流媒体描述符的PMT;
其中,所述方法还包括:
在播放与所述流媒体描述符对应的流媒体时,若广播电视频道发生变化,则根据发生变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
2.如权利要求1所述的方法,其特征在于,所述在所述播放时间到达时播放与所述流媒体描述符对应的流媒体,包括:
在所述播放时间到达时根据所述播放地址播放与所述流媒体描述符对应的流媒体;或
在所述播放时间到达之前根据所述播放地址下载与所述流媒体描述符对应的流媒体,并在所述播放时间到达时进行播放。
3.如权利要求1所述的方法,其特征在于,在所述播放时间到达时播放与所述流媒体描述符对应的流媒体,还包括:
在所述播放时间到达时,显示并启动根据所述流媒体描述符中的播放时长设置的定时器。
4.如权利要求1~3任一所述的方法,其特征在于,所述播放与所述流媒体描述符对应的流媒体之后,还包括:
若监听到正在播放的广播电视频道对应的PMT发生变化,且变化后的PMT中不存在流媒体描述符,且存在用于广播电视节目播放的音频描述符和/或视频描述符,则在流媒体播放结束后,根据所述变化后的PMT中存在的所述音频描述符和/或所述视频描述符播放广播电视节目。
5.一种进行流媒体播放的终端,其特征在于,该终端包括:至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行下列过程:
在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体;
其中,所述在监听到正在播放的广播电视频道对应的PMT发生变化之前,所述处理器还用于:
接收包括所述流媒体描述符的PMT;
其中,所述处理单元还用于:
在播放与所述流媒体描述符对应的流媒体时,若广播电视频道发生变化,则根据发生变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
6.如权利要求5所述的终端,其特征在于,所述处理单元具体用于:
在所述播放时间到达时根据所述播放地址播放与所述流媒体描述符对应的流媒体;或
在所述播放时间到达之前根据所述播放地址下载与所述流媒体描述符对应的流媒体,并在所述播放时间到达时进行播放。
7.如权利要求5所述的终端,其特征在于,所述处理单元还用于:
在所述播放时间到达时,显示并启动根据所述流媒体描述符中的播放时长设置的定时器。
8.如权利要求5~7任一所述的终端,其特征在于,所述处理单元还用于:
若监听到正在播放的广播电视频道对应的PMT发生变化,且变化后的PMT中不存在流媒体描述符,且存在用于广播电视节目播放的音频描述符和/或视频描述符,则在流媒体播放结束后,根据所述变化后的PMT中存在的所述音频描述符和/或所述视频描述符播放广播电视节目。
9.一种进行流媒体播放的终端,其特征在于,该终端包括:
判断模块:用于在监听到正在播放的广播电视频道对应的PMT发生变化后,判断所述PMT中是否存在流媒体描述符,所述流媒体描述符中包括对应流媒体的播放时间、播放时长和播放地址;
播放模块:用于若存在所述流媒体描述符,且在所述流媒体描述符中的播放时间到达前所述广播电视频道未发生变化,则在所述播放时间到达时播放与所述流媒体描述符对应的流媒体;
其中,所述在监听到正在播放的广播电视频道对应的PMT发生变化之前,接收包括所述流媒体描述符的PMT;
其中,所述播放模块还用于:
在播放与所述流媒体描述符对应的流媒体时,若广播电视频道发生变化,则根据发生变化后的广播电视频道对应的PMT播放广播电视节目或流媒体。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4任一所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811031356.6A CN109218828B (zh) | 2018-09-05 | 2018-09-05 | 一种进行流媒体播放的方法和终端、存储介质 |
PCT/CN2019/104422 WO2020048491A1 (zh) | 2018-09-05 | 2019-09-04 | 一种进行流媒体播放的方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811031356.6A CN109218828B (zh) | 2018-09-05 | 2018-09-05 | 一种进行流媒体播放的方法和终端、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218828A CN109218828A (zh) | 2019-01-15 |
CN109218828B true CN109218828B (zh) | 2021-04-13 |
Family
ID=64986342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811031356.6A Active CN109218828B (zh) | 2018-09-05 | 2018-09-05 | 一种进行流媒体播放的方法和终端、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109218828B (zh) |
WO (1) | WO2020048491A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218828B (zh) * | 2018-09-05 | 2021-04-13 | 青岛海信传媒网络技术有限公司 | 一种进行流媒体播放的方法和终端、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651821A (zh) * | 2009-07-31 | 2010-02-17 | 中国科学技术大学 | 互动电视广告实现系统及方法 |
CN101668195A (zh) * | 2008-09-03 | 2010-03-10 | 深圳创维数字技术股份有限公司 | 一种数字电视接收终端显示广告信息的方法、系统及终端 |
CN101990130A (zh) * | 2010-11-12 | 2011-03-23 | 福建新大陆通信科技股份有限公司 | 一种有线数字电视机顶盒广告接收的方法 |
CN103686336A (zh) * | 2013-12-19 | 2014-03-26 | 深圳市九洲电器有限公司 | 一种视频的播放控制方法和装置 |
CN103945266A (zh) * | 2014-04-17 | 2014-07-23 | 深圳创维数字技术股份有限公司 | 一种处理广告的方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8646021B2 (en) * | 2011-04-20 | 2014-02-04 | Verizon Patent And Licensing Inc. | Method and apparatus for providing an interactive application within a media stream |
CN109218828B (zh) * | 2018-09-05 | 2021-04-13 | 青岛海信传媒网络技术有限公司 | 一种进行流媒体播放的方法和终端、存储介质 |
-
2018
- 2018-09-05 CN CN201811031356.6A patent/CN109218828B/zh active Active
-
2019
- 2019-09-04 WO PCT/CN2019/104422 patent/WO2020048491A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668195A (zh) * | 2008-09-03 | 2010-03-10 | 深圳创维数字技术股份有限公司 | 一种数字电视接收终端显示广告信息的方法、系统及终端 |
CN101651821A (zh) * | 2009-07-31 | 2010-02-17 | 中国科学技术大学 | 互动电视广告实现系统及方法 |
CN101990130A (zh) * | 2010-11-12 | 2011-03-23 | 福建新大陆通信科技股份有限公司 | 一种有线数字电视机顶盒广告接收的方法 |
CN103686336A (zh) * | 2013-12-19 | 2014-03-26 | 深圳市九洲电器有限公司 | 一种视频的播放控制方法和装置 |
CN103945266A (zh) * | 2014-04-17 | 2014-07-23 | 深圳创维数字技术股份有限公司 | 一种处理广告的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109218828A (zh) | 2019-01-15 |
WO2020048491A1 (zh) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102090261B1 (ko) | 임의의 시점에서 스트리밍 미디어에 컨텐츠를 삽입하는 방법 및 시스템 | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
US8613013B2 (en) | Ad splicing using re-quantization variants | |
EP2736252B1 (en) | Content regeneration device, content regeneration method, content regeneration program and content providing program | |
US20120159530A1 (en) | Micro-Filtering of Streaming Entertainment Content Based on Parental Control Setting | |
CN105187896B (zh) | 多分段的媒体文件播放方法和系统 | |
US20120033035A1 (en) | Method and system for transmitting/receiving 3-dimensional broadcasting service | |
CA2297497A1 (en) | Method for distributing digital tv signal and selection of content | |
EP2880866A1 (en) | Method and system for dynamically selecting, assembling and inserting content into streaming media | |
EP2754301A1 (en) | Streaming of multimedia data from multiple sources | |
KR102598237B1 (ko) | 디지털 방송 서비스 방법 및 장치 | |
US11438645B2 (en) | Media information processing method, related device, and computer storage medium | |
US8997146B1 (en) | Systems and methods for processing a traffic log having an optional-promotion log entry | |
CN103763588A (zh) | 一种用于视频广告插播的推流方法、装置、服务器及系统 | |
WO2015183814A1 (en) | Http live streaming dateranges | |
KR102395590B1 (ko) | 미디어 데이터의 송신 및 수신을 위한 방법 및 장치 | |
CN108882010A (zh) | 一种多屏播放的方法及系统 | |
KR20220031706A (ko) | 동적 콘텐츠 수정의 포기를 제어하기 위한 워터마킹 사용 | |
CN109218828B (zh) | 一种进行流媒体播放的方法和终端、存储介质 | |
CN102187666B (zh) | 数字广播方法、数据接收装置 | |
CN105847990B (zh) | 播放媒体文件的方法和设备 | |
KR100876462B1 (ko) | 복수개의 터미널로 멀티미디어 신호를 방송하는 방법 | |
JP2003524992A (ja) | コンテンツ記述情報と接続情報とを提供する方法 | |
KR20130103931A (ko) | 메타데이터 우선제공 증강방송 장치 및 방법 | |
US20150067749A1 (en) | Method and apparatus for providing extended tv data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |