CN117835010A - 一种媒资播放方法及显示设备 - Google Patents

一种媒资播放方法及显示设备 Download PDF

Info

Publication number
CN117835010A
CN117835010A CN202211192783.9A CN202211192783A CN117835010A CN 117835010 A CN117835010 A CN 117835010A CN 202211192783 A CN202211192783 A CN 202211192783A CN 117835010 A CN117835010 A CN 117835010A
Authority
CN
China
Prior art keywords
data
media
buffer
demultiplexing
audio
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
CN202211192783.9A
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.)
Vidaa Netherlands International Holdings BV
Original Assignee
Vidaa Netherlands International Holdings BV
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 Vidaa Netherlands International Holdings BV filed Critical Vidaa Netherlands International Holdings BV
Priority to CN202211192783.9A priority Critical patent/CN117835010A/zh
Publication of CN117835010A publication Critical patent/CN117835010A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例公开一种媒资播放方法及显示设备,该方法包括:接收服务器发送的第一媒资数据,从第一媒资数据获取第一初始化分片数据和第一媒体分片数据;根据第一初始化分片数据和第一媒体分片数据,生成匹配预设媒体格式的第一缓冲器;从第一媒资数据中获取非第一媒体分片数据,将非第一媒体分片数据缓存到第一缓冲器;控制解复用模块对第一缓冲器中的媒体分片数据进行解复用,得到视频流数据和音频流数据;控制视频解码模块解码视频流数据,控制显示器显示解码后的视频流数据;控制音频解码模块解码音频流数据,控制音频播放装置播放解码后的音频流数据。本申请实施例实现route dash媒资数据不依赖dash播放器,提高了媒资起播速度。

Description

一种媒资播放方法及显示设备
技术领域
本申请涉及显示设备技术领域,尤其涉及一种媒资播放方法及显示设备。
背景技术
ATSC3.0是高级电视系统委员会(Advanced Television Systems Committee,ATSC)创建的电视广播ATSC标准的版本之一,ATSC3.0中具有route dash媒资播放协议。显示设备解析广播信号后,获取到route dash媒资数据,route dash媒资数据中包含MPD(Media Presentation Description,媒体展示说明)。显示设备解析MPD,获取MPD中记录的每个媒体分片的URL、时长和分辨率等信息。这样,显示设备可以根据MPD记录的媒体分片的URL,向服务器请求下载媒体分片数据,并按照MPD中指示的媒体分片的播放参数,播放媒体分片数据。
上述媒资播放方案至少存在如下问题:问题一:需要为显示设备配置基于routedash媒资播放协议和广播特性的dash播放器,route dash媒资数据无法有效适配显示设备内置的常规播放器,例如MP4播放器;问题二:dash播放器解析MPD,根据MPD请求媒体分片数据,然后对媒体分片数据进行解复用、解码和播放,处理过程较为复杂并且耗时较长,导致媒体资源的起播速度慢。
发明内容
为解决上述技术问题,本申请实施例提供一种媒资播放方法及显示设备,使routedash媒资播放不再依赖dash播放器,普通的MP4播放器就可完成route dash媒资播放,并且提高了媒体资源的起播速度。
第一方面,本申请实施例提供一种显示设备,包括:
显示器;
音频播放装置;
通信器,用于与服务器通信连接;
控制器,被配置为执行:
接收服务器发送的第一媒资数据,从第一媒资数据中获取第一初始化分片数据和第一媒体分片数据,第一媒体分片数据是与第一初始化分片数据关联的首个媒体分片数据;
根据第一初始化分片数据和第一媒体分片数据,生成匹配预设媒体格式的第一缓冲器;
从第一媒资数据中获取非第一媒体分片数据,并将非第一媒体分片数据缓存到第一缓冲器;
控制解复用模块对第一缓冲器中的媒体分片数据进行解复用处理,得到视频流数据和音频流数据;媒体分片数据包括第一媒体分片数据和非第一媒体分片数据;
控制视频解码模块解码视频流数据,控制显示器显示解码后的视频流数据;
控制音频解码模块解码音频流数据,控制音频播放装置播放解码后的音频流数据。
在一些实现方式中,在生成匹配预设媒体格式的第一缓冲器之后,控制器还被配置为执行:控制解复用模块创建第一解复用实例,第一解复用实例用于从第一缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
在一些实现方式中,第一媒体分片数据和非第一媒体分片数据中包含时间戳信息,控制器还被配置为执行:在检测到第二媒体分片数据与第二媒体分片数据的前一个媒体分片数据的时间戳不连续时,取消第一缓冲器和第一解复用实例,丢弃第二媒体分片数据;获取第三媒体分片数据,第三媒体分片数据是控制器在丢弃第二媒体分片数据之后重新获取到的首个媒体分片数据之后重新获取到的首个媒体分片数据;根据第一初始化分片数据和第三媒体分片数据,生成匹配预设媒体格式的第二缓冲器,将从第一媒资数据中获取的第三媒体分片数据之后的媒体分片数据缓存到第二缓冲器;控制解复用模块创建第二解复用实例,第二解复用实例用于从第二缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
在一些实现方式中,控制器还被配置为执行:在检测到第二媒体分片数据与第二媒体分片数据的前一个媒体分片数据的时间戳不连续时,取消第一缓冲器和第一解复用实例,保留第二媒体分片数据;根据第一初始化分片数据和第二媒体分片数据,生成匹配预设媒体格式的第三缓冲器,将从第一媒资数据中获取的第二媒体分片数据之后的媒体分片数据缓存到第三缓冲器;控制解复用模块创建第三解复用实例,第三解复用实例用于从第三缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
在一些实现方式中,控制器还被配置为执行:在取消第一缓冲器和第一解复用实例之后,向视频解码模块发送第一处理指令,第一处理指令用于指示视频解码模块暂停获取视频流数据,并清空已缓存的视频流数据;向音频解码模块发送第二处理指令,第二处理指令用于指示音频解码模块暂停获取音频流数据,并清空已缓存的音频流数据。
在一些实现方式中,控制器还被配置为执行:接收视频解码模块在响应第一处理指令后发送的第一完成消息;接收音频解码模块在响应第二处理指令后发送的第二完成消息;在解复用模块创建第二解复用实例或第三解复用实例之后,向视频解码模块发送第一解码指令,第一解码指令用于指示视频解码模块接收并解码视频流数据;向音频解码模块发送第二解码指令,第二解码指令用于指示音频解码模块接收并解码音频流数据。
在一些实现方式中,控制器还被配置为执行:响应于用户切换当前频道的音轨的操作,取消第一缓冲器和第一解复用实例,并向服务器发送切换音轨请求;从第一媒资数据中获取第二初始化分片数据和第四媒体分片数据;其中,第二初始化分片数据是服务器在响应切换音轨请求后更新的初始化分片数据;第四媒体分片数据是与第二初始化分片数据关联的首个媒体分片数据;根据第二初始化分片数据和第四媒体分片数据,生成匹配预设媒体格式的第四缓冲器,将从第一媒资数据中获取的第四媒体分片数据之后的媒体分片数据缓存到第四缓冲器;控制解复用模块创建第四解复用实例,第四解复用实例用于从第四缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
在一些实现方式中,控制器还被配置为执行:在接收服务器发送的第一媒资数据后,从第一媒资数据获取第一媒体展示说明信息,第一媒体展示说明信息包括解复用配置信息、第一解码配置信息和第二解码配置信息;将解复用配置信息发送给解复用模块,以使解复用模块按照解复用配置信息对媒体分片数据进行解复用;将第一解码配置信息发送给视频解码模块,以使视频解码模块按照第一解码配置信息对视频流数据进行解码;将第二解码配置信息发送给音频解码模块,以使音频解码模块按照第二解码配置信息对音频流数据进行解码。
在一些实现方式中,控制器还被配置为执行:响应于切换至第一频道的操作,向服务器发送频道切换请求;接收到服务器响应频道切换请求后发送的第一频道对应的第二媒资数据,取消第一缓冲器和第一解复用实例;从第二媒资数据获取第二媒体展示说明信息、第三初始化分片数据和第五媒体分片数据;其中,第二媒体展示说明信息是服务器在响应频道切换请求后更新的媒体展示说明信息,第三初始化分片数据是服务器在响应频道切换请求后更新的初始化分片数据;第五媒体分片数据是与第三初始化分片数据关联的首个媒体分片数据;根据第三初始化分片数据和第五媒体分片数据,生成匹配预设媒体格式的第五缓冲器,将从第二媒资数据中获取的第五媒体分片数据之后的媒体分片数据缓存到第五缓冲器;控制解复用模块创建第五解复用实例,第五解复用实例用于从第五缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
第二方面,本申请实施例还提供一种媒资播放方法,该方法包括:
接收服务器发送的第一媒资数据,从所述第一媒资数据中获取第一初始化分片数据和第一媒体分片数据,第一媒体分片数据是与第一初始化分片数据关联的首个媒体分片数据;
根据第一初始化分片数据和第一媒体分片数据,生成匹配预设媒体格式的第一缓冲器;
从第一媒资数据中获取非第一媒体分片数据,并将非第一媒体分片数据缓存到第一缓冲器;
控制解复用模块对第一缓冲器中的媒体分片数据进行解复用处理,得到视频流数据和音频流数据;媒体分片数据包括第一媒体分片数据和非第一媒体分片数据;
控制视频解码模块解码视频流数据,以及控制显示器显示解码后的视频流数据;
控制音频解码模块解码音频流数据,以及控制音频播放装置播放解码后的音频流数据。
第二方面的其他实现方式可适应性参照前述第一方面,此处不再赘述。
第三方面,本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有程序指令,当程序指令在计算机上运行时,使得计算机执行以上各方面及其各个实现方式中涉及的方法。
本申请实施例提供的以上几方面的技术方案具备的有益效果是:显示设备接收第一媒资数据后,可以解析第一媒资数据,获取到第一初始化分片数据和第一媒体分片数据,从而构建匹配预设媒体格式(例如MP4等)的第一缓冲器,以便调用显示设备内置的预设媒体格式的媒资播放器对第一媒资数据进行播放,这样显示设备就无需预先专门定制dash播放器,媒资数据的播放不再依赖dash播放器,提升了媒资数据播放的适配性。此外,本申请从第一媒资数据中获取第一媒体分片数据及之后的媒体分片数据,并注入并缓存到第一缓冲器中,无需显示设备解析MPD,也无需利用MPD中记载的媒体分片的URL向服务器请求下载媒体分片数据,从而快速进入解复用环节,从而加快媒资数据的解码播放速度,降低播放链路上的处理耗时,提升了媒体资源的起播速度,提升用户的媒体观看体验。
附图说明
图1示出了一些实施例中的显示设备与控制装置之间操作场景;
图2示出了一些实施例中的控制装置的硬件配置框图;
图3示出了一些实施例中的显示设备的硬件配置框图;
图4示出了一些实施例中的显示设备中软件配置图;
图5示出了一些实施例中的生成第一缓冲器的原理图;
图6示出了一些实施例中的MP4播放器的播放链路配置示意图;
图7示出了一些实施例中的第一缓冲器数据注入的示意图;
图8示出了一些实施例中的第一种数据跳变时MP4播放器的处理逻辑示意图;
图9示出了一些实施例中的第二种数据跳变时MP4播放器的处理逻辑示意图;
图10示出了一些实施例中的一种用户切换音轨的界面示意图;
图11示出了一些实施例中的在切换当前频道音轨时MP4播放器的处理逻辑示意图;
图12示出了一些实施例中的在切换频道时MP4播放器的处理逻辑示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“第五”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、智能电视、激光投影设备、显示器260(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等。图1和图2为本申请的显示设备的一种具体实施方式。
图1为根据实施例中显示设备与控制装置100之间操作场景的示意图。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。或者,控制装置100还可以是鼠标,鼠标与显示设备可通过有线或无线方式连接。
在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备可以不使用上述的智能设备或控制设备接收指令,而是通过触摸或者手势等接收用户的控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图2示出一些实施例中的根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
在一些实施例中,如图3所示,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中,调谐解调器210,用于对通过有线或无线方式接收广播电视信号,进行放大、混频和谐振等调制解调处理,从而从多个无线或有线广播电视信号中解调出用户所选择电视频道的频率中所携带的音视频数据,以及附加信息(例如EPG信息)。根据电视信号广播制式不同,调谐解调器210的信号途径可以有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,所述信号的调整方式可以数字调制方式,也可以模拟调制方式;以及根据接收电视信号种类不同,调谐解调器210可以解调模拟信号和/或数字信号。
调谐解调器210,还用于根据用户选择,以及由控制器250控制,响应用户选择的电视频道频率以及该频率所携带的广播电视信号。
调谐解调器210也可在外置设备中,如外置机顶盒等。这样,机顶盒通过调制解调后输出电视音视频信号,经过外部装置接口250输入至显示设备200中。
在一些实施例中,控制器包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块、RF(射频)模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
用户接口,可用于接收控制装置100(如:红外遥控器、鼠标等)的控制信号。
外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器包括:解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩、解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及基于用户的输入指令显示的页面内容等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
在一些实施例中,应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
在一些实施例中,应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换等,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
在一些实施例中,原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。
在一些实施例中,中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
在一些实施例中,硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
对于与前述显示设备的软硬件结构相同或相似的设备,可以支持播放ATSC3.0标准的广播电视,ATSC3.0标准中具有route(real-time object delivery overunidirectional transport,单向实时对象传输协议)dash(dynamic adaptive streamingover http,基于http的动态自适应流媒体)媒资播放协议,该协议提供了一种服务器端与播放端的流媒体传输与播放方案,服务器可以将媒体内容分割为一系列的segment(分片),并设置每个分片对应的编解码格式、分片时长、分辨率、码率、URL等信息,播放端可以根据自身的性能和带宽等情况,获取相应码率或分辨率的segment,并对segmeng执行解复用、解码、渲染和显示等播放处理逻辑。
显示设备可以执行搜台操作,以获取频道列表,该频道列表中包括ATSC3.0标准中route dash协议支持传输的频道的相关信息(例如:频道号、频道名称、节目信息等)。用户可以通过频道列表快捷切换频道,也可以通过控制装置100(例如:遥控器)上的“频道+”或“频道-”的按键进行切台,例如显示设备接收到遥控器发送的操作指令,该操作指令中的键值映射的按键为“频道+”,则显示设备切换至频道列表中位于当前频道下一位的目标频道。在用户切台完成时,显示设备可以通过通信器220接收服务器端发射的当前频道的广播信号,再通过调谐解调器210等相关底层模块对广播信号进行解调,以从广播信号中提取出所需的route dash媒资数据。
route dash媒资数据包括MPD文件,MPD为媒体展示说明(Media PresentationDescription)。MPD是服务器端编写的一种XML文件,用于记录媒资播放所涉及的详细信息,包括但不限于媒体时段(Period)、视频长度、不同segment的码率、分辨率、分片时长以及各segment对应的URL(Uniform Resource Locator,资源定位符)等。显示设备从route dash媒资数据中提取MPD文件,并对MPD文件进行解析,以获取到与自身性能和带宽相匹配的分片序列。分片序列中每个segment可由一个对应的URL指定,也可由相同的URL与不同的byterange(字节范围)指定,显示设备作为route dash播放端,可以通过HTTP协议来获取URL对应的segment数据。
显示设备可配置解复用模块(demux)。解复用模块用于:对MPD文件进行解析,并通过URL向服务器请求下载对应的segment数据,再对segment数据进行解复用处理,得到音视频分离后的ES(Elemental Stream基本码流)数据,ES数据中包含视频数据和音频数据的连续码流,以下分别称为视频流数据和音频流数据。解复用模块,还用于将ES数据缓存到ESbuffer中。
视频处理器中可以配置视频解码模块(video decoder)。视频解码模块用于向ESbuffer请求获取视频流数据,可以根据MPD中指示的视频解码配置信息,对视频流数据进行解码,然后将解码后的视频流数据传输给显示器,以使显示器显示该视频流数据。
音频处理器中可以配置音频解码模块(audio decoder)。音频解码模块用于向ESbuffer请求获取音频流数据,可以根据MPD中指示的音频解码配置信息,对音频流数据进行解码,然后将解码后的音频流数据传输给音频播放装置,以使音频播放装置播放该音频流数据。其中,音频播放装置包含但不限于显示设备内置的扬声器,或者通过外部装置接口或无线方式(例如:蓝牙、WiFi等)连接的外部功放设备。外部功放设备可以包括音响、蓝牙耳机等设备。
上述媒资播放方案中至少存在如下问题:
问题一:需要针对route dash媒资播放协议和广播特性,为显示设备配置dash播放器,显示设备启动dash播放器,起播route dash媒资数据。这样,会导致显示设备在播放route dash媒资数据时依赖dash播放器,无法有效低适配及调用显示设备内置的通用媒资播放器,例如MP4播放器。
问题二:dash播放器依赖MPD执行播放程序,通过解析MPD,并根据MPD中提供的分片对应的URL,基于HTTP向服务器请求下载媒体分片数据,然后对媒体分片数据进行解复用、解码和播放,不仅处理过程较为复杂并且耗时较长,并且媒体分片数据的下载可能会受网络状态和带宽等因素影响,导致媒体资源的起播速度慢。
问题三:如果广播信号强度较弱或者发生信号丢失等情况,会导致媒资数据异常。在检测到媒资数据异常时,视频解码器和音频解码器无法正常解码ES数据,会导致显示设备呈现静帧现象。dash播放器必须停止运行并重新启动,再重新定位播放起点及计算分片请求位置,才能恢复正常处理流程,这样会导致显示设备呈现一定时间(例如1~2秒)的黑屏现象。以上问题会影响用户的媒体观看体验。
为解决以上问题,本申请实施例基于从route dash媒资数据中过滤出的IS(Initialization Segment,初始化分片)和MS(Media Segment,媒体分片),构建预设媒体格式(例如MP4)的缓冲器,实现MS数据向该缓冲器的注入及缓存、解复用、解码及播放流程,下面将对此内容进行详述。
本申请实施例中route dash媒资数据除包括MPD数据外,还可以包括Segment数据,Segment数据具体可以包括:初始化分片数据和媒体分片数据。显示设备可以根据数据中携带的用于指示数据类别的标识,识别MPD数据、IS数据和MS数据,进而从route dash中过滤并获取到不同类别的数据。
其中,初始化分片数据包括:整段route dash媒资数据(以下简称:媒资数据)的封装信息,以及媒体分片的解复用和解码所需的初始化信息。初始化信息可以包括媒体分片的分辨率、时长、比特率等信息。
媒体分片数据是带有时间戳信息的音视频片段,一般与最临近添加的初始化分片数据相关联。一个初始化分片数据可以关联多个媒体分片数据,服务器可以按照时间戳的先后顺序,对该多个媒体分片数据进行排序。
显示设备接收服务器传输的当前频道对应的媒资数据(以下简称:第一媒资数据)后,从第一媒资数据中获取当前频道映射的初始化分片数据(以下简称第一初始化分片数据,IS1),以及获取第一初始化分片数据关联的首个媒体分片数据(以下简称第一媒体分片数据,MS1)。其中,MS1是显示设备在获取到IS1之后,在数据传输时序上接收到的第一个MS,例如IS1关联的多个MS中排序在首位的那一MS。
控制器250可以根据第一初始化分片数据和第一媒体分片数据,生成匹配预设媒体格式的第一缓冲器,第一缓冲器可以为mp4 buffer形式。图5为本申请实施例提供的生成第一缓冲器的原理图,如图5所示,以预设媒体格式是MP4为例,控制器250从Segment数据中获取到IS1和MS1后,可以将IS1和MS1按序拼接,并组装成完整的video/audio的mp4buffer,此时该mp4 buffer中已缓存MS1。
控制器250启动MP4播放器并初始化,开启MP4播放器的播放链路。图6为本申请实施例提供的MP4播放器的播放链路示意图。如图6所示,MP4播放器的播放链路依次包括mp4buffer、解复用模块、视频解码模块/音频解码模块(同步解码)、显示器/音频播放装置(音画同步播放)。
如图6所示,mp4 buffer中包含MP4播放器的完整头部信息(包括IS1和MS1),使得解复用模块可以识别mp4 buffer,从mp4 buffer中获取待解复用的媒体分片数据,对媒体分片数据进行解复用,并将解复用后的ES数据缓存至ES buffer。这样,视频解码模块可以从ES buffer中获取待解码的视频流数据,对视频流进行解码,并将解码后的视频流数据传输给显示器进行前端显示;音频解码模块可以从ES buffer中获取待解码的音频流数据,对音频流进行解码,并将解码后的音频流数据传输给音频播放装置进行播放。按照该播放链路的处理逻辑,MP4播放器可以对mp4 buffer缓存的MS1进行解复用、解码及播放,实现第一媒资数据的起播。
图7为本申请实施例提供的第一缓冲器数据注入的示意图。如图7所示,控制器250继续从第一媒资数据中获取非第一媒体分片数据,并将非第一媒体分片数据依次注入并缓存到第一缓冲器中。其中,非第一媒体分片数据是在MS1之后获取的与IS1关联的MS数据,例如IS1关联的多个MS中排序在MS1之后的MS2、MS3…。这样,MP4播放器可以对mp4 buffer中缓存的MS1之后的MS数据继续进行解复用、解码及播放,实现第一媒资数据起播后的持续播放。
在一些实现方式中,如图6所示,解复用模块可以创建解复用实例,解复用实例用于从mp4 buffer中获取媒体分片数据,执行对该媒体分片数据的解复用程序,并将解复用后的ES数据缓存在ES buffer。其中,媒体分片数据包括第一媒体分片数据及其之后的至少一个非第一媒体分片数据。具体实现中,解复用模块可以创建第一解复用实例,第一解复用实例与第一缓冲器关联,用于对从第一缓冲器中获取的媒体分片数据进行解复用处理。
本申请实施例中显示设备接收第一媒资数据后,可从第一媒资数据中获取到第一初始化分片数据和第一媒体分片数据,从而构建匹配预设媒体格式(例如MP4等)的第一缓冲器,以便调用显示设备内置的预设媒体格式的媒资播放器对第一媒资数据进行播放,这样显示设备就无需预先专门定制dash播放器,媒资数据的播放不再依赖dash播放器,提升了媒资数据播放的适配性,从而解决了前述问题一。此外,控制器从第一媒资数据中获取第一媒体分片数据及之后的非第一媒体分片数据,并缓存到第一缓冲器中,无需播放器解析MPD并获取URL信息,也无需利用媒体分片的URL向服务器请求下载媒体分片数据,降低了代码复杂度,实现快速进入解复用环节,从而加快媒资数据的解码播放速度,降低播放链路上的处理耗时,提升了媒体资源的起播速度,提升用户的媒体观看体验,从而解决了前述问题二。
在一些实现方式中,MS数据的封装结构中包括不同类型的box,box用于存储MS数据包含的不同属性或类别的信息内容。MS数据中包括fmp4 box,fmp4 box中具体包括tftdbox,tftd box记录有sample的时间戳信息,该时间戳信息可以用于指示MS数据的播放起止时间。时间戳信息可以采用PTS(Presentation Time Stamp,显示时间戳)的形式进行标记,PTS用于指示解码后的音/视频帧的播放时间。控制器250可以从tftd box中读取MS数据对应的时间戳信息。
在前述问题三中提到了如果广播信号强度较弱或者发生信号丢失等情况,会导致媒资数据异常。当媒资数据出现异常,或者对于媒资数据呈现为循环播放(即播放结束后自动返回片头重播)等情况,控制器250从相邻的两个MS数据的tftd box中读取的时间戳可能不连续,例如第i个MS数据的时间戳信息指示为第4~6分钟,第i+1个MS数据的时间戳信息指示为第2~3分钟,即第i+1个MS数据发生跳变。
MS数据发生跳变时,解复用后得到的ES数据的PTS不连续。音频解码模块和视频解码模块对PTS敏感,一旦检测到PTS不连续,就无法正常解码,这样跳变数据无法被解码及播放,导致媒资数据播放过程中出现静帧、卡顿等问题。如果视频流数据的PTS连续但音频流数据的PTS不连续,或者音频流数据的PTS连续但视频流数据的PTS不连续,还会出现音画不同步问题。在原生的route dash播放逻辑中,为消除数据跳变引发的媒资播放异常问题,dash播放器必须停止运行并重新启动,再重新定位播放起点及计算分片请求位置等,才能恢复正常处理流程,在此期间会出现数据断流,导致显示设备呈现一定时间的黑屏现象。为解决前述问题三,本申请实施例还提供如下解决方案。
图8为本申请一个实施例提供的数据跳变时MP4播放器的处理逻辑示意图。如图8中的视图(a)所示,在当前频道下,控制器250当前从第一媒资数据中获取到的非第一媒体分片数据(以下简称第二媒体分片数据,MSi)的时间戳为Ti,第二媒体分片数据的前一个媒体分片数据(MSi-1)的时间戳为Ti-1。如果检测到Ti与Ti-1在时序上不连续,即第二媒体分片数据发生跳变,则取消当前的第一缓冲器和第一解复用实例,并可以丢弃第二媒体分片数据MSi
如图8中的视图(a)所示,在取消第一缓冲器和第一解复用实例之后,控制器250可以向视频解码模块发送第一处理指令,以及向音频解码模块发送第二处理指令。视频解码模块响应于第一处理指令,执行seek操作,即暂停从ES buffer获取视频流数据,并清空视频解码模块的buffer中当前缓存的视频流数据。视频解码模块完成seek操作后向控制器250发送第一完成消息。音频解码模块响应于第二处理指令,执行seek操作,即暂停从ESbuffer获取音频流数据,并清空音频解码模块的buffer中当前缓存的音频流数据。音频解码模块完成seek操作后向控制器250发送第二完成消息。
控制器250在检测到MS数据发生跳变后,同时触发对视频解码模块和音频解码模块的seek操作,从而重置视频解码模块和音频解码模块。通过执行seek操作,可规避音/视频解码模块对ES数据的PTS连续性的要求,从而克服因音/视频解码模块识别到PTS不连续而导致的无法正常解码。这里同时触发音/视频解码模块的seek操作的目的在于:同步重置视频解码模块和音频解码模块,以使后续恢复媒资播放时音画保持同步。
在取消第一缓冲器并且释放第一解复用实例,并且接收到第一完成消息和第二完成消息后,控制器250可以重新生成一个mp4 buffer(该实施例中简称:第二缓冲器),控制解复用模块重新构建解复用实例(该实施例中简称:第二解复用实例),以及执行第二缓冲器的数据注入控制,从而恢复对媒体分片数据的解复用、解码和播放流程。
由于用户未切换音轨,也未切换频道,因此第一初始化分片数据IS1不变。如图8中的视图(b)所示,控制器250在生成第二缓冲器前,需要获取第三媒体分片数据(MSi+1),第三媒体分片数据是控制器250在取消第一解复用实例和丢弃第二媒体分片数据之后重新获取到的首个媒体分片数据,即第三媒体分片数据相当于在检测到数据跳变之后更新的MS1。
控制器250可以根据第一初始化分片数据和第三媒体分片数据,生成匹配预设媒体格式的第二缓冲器,第二缓冲器可以为mp4 buffer形式。如图8中的视图(b)所示,以预设媒体格式是MP4为例,控制器250可以将IS1和MSi+1按序拼接,并组装为完整的video/audiomp4 buffer,此时该重新生成的mp4 buffer中缓存有第三媒体分片数据MSi+1。控制器250将从第一媒资数据中获取的MSi+1之后的媒体分片数据注入并缓存到第二缓冲器。
如图8中的视图(b)所示,控制器250可以控制解复用模块创建第二解复用实例,第二解复用实例与第二缓冲器关联,用于从第二缓冲器获取媒体分片数据,并执行对媒体分片数据的解复用程序。
控制器250在接收到第一完成消息和第二完成消息之后,可以在生成第二缓冲器或者创建第二解复用实例后,向视频解码模块发送第一解码指令,以及向音频解码模块发送第二解码指令。视频解码模块响应于第一解码指令,可以继续从ES buffer请求获取并解码视频流数据。音频解码模块响应于第二解码指令,可以继续从ES buffer请求获取并解码音频流数据。
图8提供的实施例通过重新生成mp4 buffer以及重新构建解复用实例,使得MP4播放器仅重启demux部分,而不是重启整个播放器,这样媒体分片数据仍可以在播放器通道内流动,解决了因数据跳变引发的静帧和黑屏问题,尤其适合广播信号弱、信号丢失和媒体循环播放等场景,提升用户的媒体观看体验。
图9为本申请另一个实施例提供的数据跳变时MP4播放器的处理逻辑示意图。如图9中的视图(a)所示,在当前频道下,控制器250如果检测到第二媒体分片数据的时间戳Ti与其前一个媒体分片数据的时间戳Ti-1在时序上不连续,即第二媒体分片数据发生跳变,则取消当前的第一缓冲器和第一解复用实例。与图8所示实施例的区别是:本实施例中不丢弃第二媒体分片数据,即仍然保留第二媒体分片数据。
如图9中的视图(a)所示,在取消第一缓冲器和第一解复用实例之后,控制器250可以向视频解码模块发送第一处理指令,以及向音频解码模块发送第二处理指令。控制器250接收视频解码模块在响应第一处理指令后发送的第一完成消息,以及接收音频解码模块在响应第二处理指令后发送的第二完成消息。
在取消第一缓冲器并且释放第一解复用实例,并且接收到第一完成消息和第二完成消息后,控制器250可以重新生成一个mp4 buffer(本该实施例中简称:第三缓冲器),控制解复用模块重新构建解复用实例(本实施例中简称:第三解复用实例),以及执行第三缓冲器的数据注入控制,从而恢复对媒体分片数据的解复用、解码和播放流程。
由于用户未切换音轨,也未切换频道,因此第一初始化分片数据IS1不变。控制器250在生成第三缓冲器时,由于第二媒体分片数据未被丢弃,并且视频解码模块和音频解码模块均已执行seek操作,这样音/视频解码模块就不会识别第二媒体分片数据为跳变数据。因此,本实施例将第二媒体分片数据MSi作为更新后的MS1。
如图9中的视图(b)所示,控制器250可以根据第一初始化分片数据和第二媒体分片数据,生成匹配预设媒体格式的第三缓冲器,第三缓冲器可以为mp4 buffer形式。以预设媒体格式是MP4为例,控制器250可以将IS1和MSi按序拼接,并组装为完整的video/audiomp4 buffer,此时该重新生成的mp4 buffer中缓存有第二媒体分片数据MSi。控制器250将从第一媒资数据中获取的MSi之后的媒体分片数据注入并缓存到第三缓冲器。
如图9中的视图(b)所示,控制器250可以控制解复用模块创建第三解复用实例,第三解复用实例与第三缓冲器关联,用于从第三缓冲器获取媒体分片数据,并执行对媒体分片数据的解复用程序。
控制器250在接收到第一完成消息和第二完成消息之后,可以在生成第三缓冲器或者创建第三解复用实例后,向视频解码模块发送第一解码指令,以及向音频解码模块发送第二解码指令。
图9提供的实施例通过重新生成mp4 buffer以及重新构建解复用实例,使得MP4播放器仅重启demux部分,而不是重启整个播放器,这样媒体分片数据仍可以在播放器通道内流动,解决了因数据跳变引发的静帧和黑屏等问题,尤其适合广播信号弱、信号丢失和媒体循环播放等场景,提升用户的媒体观看体验。此外,控制器不丢弃发生跳变的第二媒体分片数据,实现了在seek点续播跳变数据,可以保证媒资数据播放的完整性。
为了丰富音频的音色类型,提升音频播放效果,服务器可以根据声学特性,为媒资数据中的音频内容配置多个平行的音频轨道(简称音轨),每个音轨的属性包括但不限于音色、音色库、通道数量、输入/输出端口、音量等。
图10本申请一实施例提供的用户切换音轨的界面示意图。如图10的视图(a)所示,显示设备在起播频道Q的媒资数据后,显示器260会显示播放器页面261,播放器页面261中显示解码后的视频流内容261A。播放器页面中可以包括某些功能控件,功能控件包括但不限于:暂停/播放控件261B、节目进度条261C、音量调节控件261D、频道列表控件261E、音轨设置控件261F等。
控制器250响应于用户点击音轨设置控件261F的操作,如图10的视图(b)所示,控制显示器260显示音轨设置页面262。音轨设置页面262中显示当前频道的媒资数据中音频具备的音轨类型,例如包括音轨1、音轨2和音轨3等。每种音轨类型设置对应的选择控件,用户可以根据听音偏好,选择感兴趣的音频类型,如图10的视图(b)所示,当前音轨类型为音轨1,用户期望切换到音轨3,则点击音轨3对应的选择控件。控制器250响应于用户切换当前频道的音轨的操作,如图10的视图(c)所示,控制显示器将该操作指示的音轨3对应的选择控件呈现为被选中状态,将音轨1对应的选择控件呈现为未选中状态。需要说明的是,播放器页面和用户切换音轨的方式不限于本申请实施例。
如果用户未切换频道,仅切换当前频道的音轨,则显示设备接收的仍是当前频道对应的第一媒资数据,但由于切换了音轨类型,音频的解码配置等信息可能发生改变,因此服务器需要根据切换后的目标音轨类型对初始化分片数据进行更新,得到更新后的初始化分片数据(本实施例中简称:第二初始化分片数据,IS2)。
图11为本申请一实施例提供的在切换当前频道音轨时MP4播放器的处理逻辑示意图。如图11的视图(a)所示,控制器250响应于用户切换当前频道的音轨的操作,向服务器发送切换音轨请求,并取消第一缓冲器和第一解复用实例。服务器响应于切换音轨请求,可以通过ATSC3.0协议栈更新初始化分片数据,得到第二初始化分片数据IS2,并将IS2添加到第一媒资数据中。
在取消第一缓冲器并且释放第一解复用实例后,控制器250可以重新生成一个mp4buffer(本该实施例中简称:第四缓冲器),控制解复用模块重新构建解复用实例(本实施例中简称:第四解复用实例),以及执行第四缓冲器的数据注入控制,从而实现在切换音轨后的对媒体分片数据的解复用、解码和播放流程。
如图11的视图(b)所示,显示设备在向服务器发送切换音轨请求后,继续接收第一媒资数据,并从第一媒资数据中获取第二初始化分片数据IS2,以及获取与IS2关联的多个MS数据中的首个媒体分片数据(本实施例中简称为:第四媒体分片数据,MS1′)。
如图11中的视图(b)所示,控制器250可以根据第二初始化分片数据和第四媒体分片数据,生成匹配预设媒体格式的第四缓冲器,第四缓冲器可以为mp4 buffer形式。以预设媒体格式是MP4为例,控制器250可以将IS2和MS1′按序拼接,并组装为完整的video/audiomp4 buffer,此时该重新生成的mp4 buffer中缓存有第四媒体分片数据MS1′。控制器250将从第一媒资数据中获取的MS1′之后的媒体分片数据注入并缓存到第四缓冲器。
如图11中的视图(b)所示,控制器250可以控制解复用模块创建第四解复用实例,第四解复用实例与第四缓冲器关联,用于从第四缓冲器获取媒体分片数据,并执行对媒体分片数据的解复用程序。显示设备切换音轨之后,如果检测到媒体分片数据出现跳变,可执行图8或图9示例的MP4播放器的处理逻辑,这里不再赘述。
在切换音轨的场景下,显示设备获取服务器更新后的IS2,并根据IS2与MS的关联性,获取到MS1′,然后重新生成mp4 buffer以及重新构建解复用实例,使得在切换音轨时MP4播放器仅重启demux部分,而不重启整个播放器,也不影响音视频的解码流程,保证媒资数据播放的完整性,避免静帧和黑屏等问题,还可以提升音轨切换的响应速度,提升用户的媒体观看体验。
对于以上各方面的实施例,显示设备还可以从当前频道对应的第一媒资数据中获取媒体展示说明信息(以下简称为第一媒体展示说明信息,MPD1)。MPD1中可以包括:解复用配置信息、第一解码配置信息和第二解码配置信息等信息。
控制器250可以将解复用配置信息发送给解复用模块,以使解复用模块按照解复用配置信息,对mp4 buffer中缓存的媒体分片数据进行解复用处理。
控制器250可以将第一解码配置信息发送给视频解码模块,以使视频解码模块按照第一解码配置信息对视频流数据进行解码。
控制器250可以将第二解码配置信息发送给音频解码模块,以使音频解码模块按照第二解码配置信息对音频流数据进行解码。
本申请实施例中,MPD信息仅用于为媒体分片数据的解复用和解码播放流程提供参数指引,显示设备不获取MPD信息中各MS对应的URL,也不使用URL向服务器请求下载对应的MS数据。在未切换频道的情况下,媒资数据中包含的MPD信息是固定的,就算MS发生跳变或者切换音轨,MPD信息也不会改变。
在一些应用场景中,如图10的视图(a)所示,用户可以点击播放器页面261中的频道列表控件261E,以使显示器260显示频道列表。用户可以通过频道列表快捷切换频道,也可以触发遥控器上的“频道+”或“频道-”的按键来切换频道。
图12为本申请一个实施例提供的在切换频道时MP4播放器的处理逻辑示意图。用户可以通过频道列表或遥控器上的“频道+”或“频道-”按键,从当前频道切换至第一频道。如图12的视图(a)所示,控制器250响应于切换至第一频道的操作,向服务器发送频道切换请求,频道切换请求中可以包含第一频道的频道信息(例如频道号、频道名称等)。服务器响应于该频道切换请求,可以停止向显示设备发送切换频道之前原频道对应的第一媒资数据,并向显示设备发送第一频道对应的第二媒资数据。
如图12的视图(a)所示,在显示设备接收到第二媒资数据时,控制器250可以取消第一缓冲器和第一解复用实例,从第二媒资数据中获取第一频道对应的媒体展示说明信息(本实施例中简称:第二媒体展示说明信息,MPD2),并将MPD2中的解复用配置信息发送给解复用模块,将MPD2中的第一解码配置信息发送给视频解码模块,将MPD2中的第二解码配置信息发送给音频解码模块。
由于显示设备切换了频道,一方面显示设备接收的MPD数据、IS数据和MS数据均同步更新;另一方面,频道转换时会伴随着MS数据的跳变。为了消除在切换频道时MS数据跳变引发的静帧和黑屏等问题,以及避免demux频繁重启,可以在生成新的mp4buffer之前,令音频解码模块和视频解码模块执行seek操作。
在取消第一缓冲器和第一解复用实例之后,控制器250可以向视频解码模块发送第一处理指令,以及向音频解码模块发送第二处理指令。
控制器250接收到视频解码模块在响应第一处理指令后发送的第一完成消息,以及接收到音频解码模块在响应第二处理指令后发送的第二完成消息之后,可以重新生成一个mp4 buffer(本该实施例中简称:第五缓冲器),控制解复用模块重新构建解复用实例(本实施例中简称:第五解复用实例),以及执行第五缓冲器的数据注入控制,从而实现在切换频道后的媒体分片数据的解复用、解码和播放流程。
如图12的视图(b)所示,控制器250从第二媒资数据中获取初始化分片数据(本实施例中称为第三初始化分片数据,IS3),以及获取与IS3关联的多个MS数据中的首个媒体分片数据(本实施例中简称为:第五媒体分片数据,MS1″)。
如图12中的视图(b)所示,控制器250可以根据第三初始化分片数据和第五媒体分片数据,生成匹配预设媒体格式的第五缓冲器,第五缓冲器可以为mp4 buffer形式。以预设媒体格式是MP4为例,控制器250可以将IS3和MS1″按序拼接,并组装为完整的video/audiomp4 buffer,此时该重新生成的mp4 buffer中缓存有第五媒体分片数据MS1″。控制器250将从第二媒资数据中获取的MS1″之后的媒体分片数据注入并缓存到第五缓冲器。
如图12中的视图(b)所示,控制器250可以控制解复用模块创建第五解复用实例,第五解复用实例与第五缓冲器关联,用于从第五缓冲器获取媒体分片数据,并执行对媒体分片数据的解复用程序,从而起播及持续播放切台后的第一频道的第二媒资数据。
控制器250在接收到第一完成消息和第二完成消息之后,可以在生成第五缓冲器或者创建第五解复用实例后,向视频解码模块发送第一解码指令,以及向音频解码模块发送第二解码指令。
在切换频道的场景下,显示设备接收到服务器发送的第二媒资数据,更新本地播放器使用的MPD信息,并在音/视频解码模块执行完成seek操作后,重新生成mp4 buffer以及重新构建解复用实例,使得在切换频道时MP4播放器仅重启demux部分,而不重启整个播放器,解决了因切换频道时MS数据跳变引发的静帧和黑屏等问题,还可以提升切换频道时的响应速度,从而提升切换后的第一频道的起播速度,为用户提供更好的媒体观看体验。
在本申请实施例提供的播放器处理逻辑的基础上,可以根据媒资播放格式、广播信号特性、route dash协议、用户应用场景等方面,对播放器的播放链路和处理逻辑进行适应性地调整和扩充,以及设置适配播放器的UI页面。
本申请实施例还提供一种计算机存储介质,该计算机存储介质可存储有程序。当计算机存储介质位于显示设备中时,该程序执行时可包括上述各方面实施例的媒资播放方法涉及的程序步骤。其中,计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:Read-Only Memory,简称ROM)或随机存储记忆体(英文:Random Access Memory,简称RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释本公开的内容,从而使得本领域技术人员更好的使用所述实施方式。

Claims (10)

1.一种显示设备,其特征在于,包括:
显示器;
音频播放装置;
通信器,用于与服务器通信连接;
控制器,被配置为执行:
接收服务器发送的第一媒资数据,从第一媒资数据中获取第一初始化分片数据和第一媒体分片数据,所述第一媒体分片数据是与第一初始化分片数据关联的首个媒体分片数据;
根据所述第一初始化分片数据和所述第一媒体分片数据,生成匹配预设媒体格式的第一缓冲器;
从所述第一媒资数据中获取非第一媒体分片数据,将非第一媒体分片数据缓存到所述第一缓冲器;
控制解复用模块对所述第一缓冲器中的媒体分片数据进行解复用处理,得到视频流数据和音频流数据;所述媒体分片数据包括第一媒体分片数据和非第一媒体分片数据;
控制视频解码模块解码视频流数据,控制显示器显示解码后的视频流数据;
控制音频解码模块解码音频流数据,控制音频播放装置播放解码后的音频流数据。
2.根据权利要求1所述的显示设备,其特征在于,在生成匹配预设媒体格式的第一缓冲器之后,所述控制器还被配置为执行:
控制所述解复用模块创建第一解复用实例,所述第一解复用实例用于从所述第一缓冲器获取所述媒体分片数据,并对所述媒体分片数据进行解复用处理。
3.根据权利要求2所述的显示设备,其特征在于,所述第一媒体分片数据和非第一媒体分片数据中包含时间戳信息,所述控制器还被配置为执行:
在检测到第二媒体分片数据与第二媒体分片数据的前一个媒体分片数据的时间戳不连续时,取消所述第一缓冲器和所述第一解复用实例,丢弃所述第二媒体分片数据;
获取第三媒体分片数据,所述第三媒体分片数据是控制器在丢弃所述第二媒体分片数据之后重新获取到的首个媒体分片数据;
根据所述第一初始化分片数据和第三媒体分片数据,生成匹配预设媒体格式的第二缓冲器,将从所述第一媒资数据中获取的第三媒体分片数据之后的媒体分片数据缓存到所述第二缓冲器;
控制所述解复用模块创建第二解复用实例,所述第二解复用实例用于从所述第二缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
4.根据权利要求3所述的显示设备,其特征在于,所述控制器还被配置为执行:
在检测到第二媒体分片数据与第二媒体分片数据的前一个媒体分片数据的时间戳不连续时,取消所述第一缓冲器和所述第一解复用实例,保留所述第二媒体分片数据;
根据所述第一初始化分片数据和第二媒体分片数据,生成匹配预设媒体格式的第三缓冲器,将从所述第一媒资数据中获取的第二媒体分片数据之后的媒体分片数据缓存到所述第三缓冲器;
控制所述解复用模块创建第三解复用实例,所述第三解复用实例用于从所述第三缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器还被配置为执行:
在取消所述第一缓冲器和所述第一解复用实例之后,向所述视频解码模块发送第一处理指令,所述第一处理指令用于指示所述视频解码模块暂停获取所述视频流数据,并清空已缓存的视频流数据;
向所述音频解码模块发送第二处理指令,所述第二处理指令用于指示所述音频解码模块暂停获取所述音频流数据,并清空已缓存的音频流数据。
6.根据权利要求5所述的显示设备,其特征在于,所述控制器还被配置为执行:
接收所述视频解码模块在响应所述第一处理指令后发送的第一完成消息;
接收所述音频解码模块在响应所述第二处理指令后发送的第二完成消息;
在所述解复用模块创建所述第二解复用实例或第三解复用实例之后,向所述视频解码模块发送第一解码指令,所述第一解码指令用于指示所述视频解码模块接收并解码所述视频流数据;
向所述音频解码模块发送第二解码指令,所述第二解码指令用于指示所述音频解码模块接收并解码所述音频流数据。
7.根据权利要求2所述的显示设备,其特征在于,所述控制器还被配置为执行:
响应于用户切换当前频道的音轨的操作,取消所述第一缓冲器和所述第一解复用实例,并向所述服务器发送切换音轨请求;
从所述第一媒资数据中获取第二初始化分片数据和第四媒体分片数据;其中,所述第二初始化分片数据是所述服务器在响应所述切换音轨请求后更新的初始化分片数据;所述第四媒体分片数据是与所述第二初始化分片数据关联的首个媒体分片数据;
根据所述第二初始化分片数据和所述第四媒体分片数据,生成匹配预设媒体格式的第四缓冲器,将从所述第一媒资数据中获取的第四媒体分片数据之后的媒体分片数据缓存到所述第四缓冲器;
控制所述解复用模块创建第四解复用实例,所述第四解复用实例用于从所述第四缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
8.根据权利要求2所述的显示设备,其特征在于,所述控制器还被配置为执行:
在接收服务器发送的第一媒资数据后,从所述第一媒资数据中获取第一媒体展示说明信息,所述第一媒体展示说明信息包括解复用配置信息、第一解码配置信息和第二解码配置信息;
将所述解复用配置信息发送给所述解复用模块,以使所述解复用模块按照所述解复用配置信息对所述媒体分片数据进行解复用;
将所述第一解码配置信息发送给视频解码模块,以使所述视频解码模块按照所述第一解码配置信息对所述视频流数据进行解码;
将所述第二解码配置信息发送给音频解码模块,以使所述音频解码模块按照所述第二解码配置信息对所述音频流数据进行解码。
9.根据权利要求7所述的显示设备,其特征在于,所述控制器还被配置为执行:
响应于切换至第一频道的操作,向所述服务器发送频道切换请求;
接收到服务器响应频道切换请求后发送的所述第一频道对应的第二媒资数据,取消所述第一缓冲器和所述第一解复用实例;
从所述第二媒资数据获取第二媒体展示说明信息、第三初始化分片数据和第五媒体分片数据;其中,第二媒体展示说明信息是服务器在响应所述频道切换请求后更新的媒体展示说明信息,所述第三初始化分片数据是服务器在响应所述频道切换请求后更新的初始化分片数据;所述第五媒体分片数据是与第三初始化分片数据关联的首个媒体分片数据;
根据所述第三初始化分片数据和所述第五媒体分片数据,生成匹配预设媒体格式的第五缓冲器,将从所述第二媒资数据中获取的第五媒体分片数据之后的媒体分片数据缓存到所述第五缓冲器;
控制所述解复用模块创建第五解复用实例,所述第五解复用实例用于从所述第五缓冲器获取媒体分片数据,并对媒体分片数据进行解复用处理。
10.一种媒资播放方法,其特征在于,包括:
接收服务器发送的第一媒资数据,从所述第一媒资数据中获取第一初始化分片数据和第一媒体分片数据,所述第一媒体分片数据是与所述第一初始化分片数据关联的首个媒体分片数据;
根据所述第一初始化分片数据和所述第一媒体分片数据,生成匹配预设媒体格式的第一缓冲器;
从所述第一媒资数据中获取非第一媒体分片数据,并将所述非第一媒体分片数据缓存到所述第一缓冲器;
控制解复用模块对所述第一缓冲器中的媒体分片数据进行解复用处理,得到视频流数据和音频流数据;所述媒体分片数据包括第一媒体分片数据和非第一媒体分片数据;
控制视频解码模块解码视频流数据,以及控制显示器显示解码后的视频流数据;
控制音频解码模块解码音频流数据,以及控制音频播放装置播放解码后的音频流数据。
CN202211192783.9A 2022-09-28 2022-09-28 一种媒资播放方法及显示设备 Pending CN117835010A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211192783.9A CN117835010A (zh) 2022-09-28 2022-09-28 一种媒资播放方法及显示设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211192783.9A CN117835010A (zh) 2022-09-28 2022-09-28 一种媒资播放方法及显示设备

Publications (1)

Publication Number Publication Date
CN117835010A true CN117835010A (zh) 2024-04-05

Family

ID=90517760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211192783.9A Pending CN117835010A (zh) 2022-09-28 2022-09-28 一种媒资播放方法及显示设备

Country Status (1)

Country Link
CN (1) CN117835010A (zh)

Similar Documents

Publication Publication Date Title
CA2738911C (en) Video branching
US9634880B2 (en) Method for displaying user interface and display device thereof
US20130185758A1 (en) Reception apparatus, reception method, and program
US8176423B2 (en) Method and apparatus for playing multimedia contents
WO2020098504A1 (zh) 一种视频切换的控制方法及显示设备
CN111601135B (zh) 一种音视频基本流同步注入的方法及显示设备
WO2021217435A1 (zh) 流媒体同步方法及显示设备
CN114827679B (zh) 显示设备和音画同步方法
US20110302603A1 (en) Content output system, content output method, program, terminal device, and output device
CN111601144B (zh) 流媒体文件播放方法及显示设备
JP2009303062A (ja) 放送受信端末、放送データ合成方法、プログラムおよび記録媒体
US10616364B2 (en) Electronic apparatus and method of operating the same
CN111182339A (zh) 一种播放媒体项目的方法及显示设备
CN113542765B (zh) 一种媒体数据跳变续播方法及显示设备
CN117835010A (zh) 一种媒资播放方法及显示设备
US20140075471A1 (en) Apparatus, systems and methods for accessing supplemental information pertaining to a news segment
US20100306807A1 (en) Content Reproduction Apparatus and Content Reproduction Method
WO2024125019A1 (zh) 音频处理方法和电子装置
WO2024140339A1 (zh) 显示设备及数据处理方法
US20230412890A1 (en) Refreshing method and display apparatus
CN117615191A (zh) 一种多媒体资源播放方法及播放设备
CN115604496A (zh) 一种显示设备、直播切台方法及存储介质
CN117641024A (zh) 一种显示设备及媒资数据显示方法
CN117812313A (zh) 显示设备、设备监测方法、装置及存储介质
CN117915139A (zh) 一种显示设备及音画同步方法

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