CN116248948A - 一种流媒体播放方法及显示设备 - Google Patents

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

Info

Publication number
CN116248948A
CN116248948A CN202111490187.4A CN202111490187A CN116248948A CN 116248948 A CN116248948 A CN 116248948A CN 202111490187 A CN202111490187 A CN 202111490187A CN 116248948 A CN116248948 A CN 116248948A
Authority
CN
China
Prior art keywords
data
stream
clear
clear stream
dense
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
CN202111490187.4A
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.)
Hisense Electronic Technology Wuhan Co ltd
Original Assignee
Hisense Electronic Technology Wuhan 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 Hisense Electronic Technology Wuhan Co ltd filed Critical Hisense Electronic Technology Wuhan Co ltd
Priority to CN202111490187.4A priority Critical patent/CN116248948A/zh
Publication of CN116248948A publication Critical patent/CN116248948A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04N21/4347Demultiplexing of several video streams
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption

Landscapes

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

Abstract

本发明公开一种流媒体播放方法及显示设备,接收流媒体服务器发送的被指示为加密视频的数据包,对所述数据包进行特征提取;若能从所述数据包中检测到清流特征,则对所述数据包中的第一清流数据和密流数据进行分离;其中,清流是指未加密的数据流,密流是指已加密的数据流;对所述密流数据进行解密,得到第二清流数据,按照所述数据包指定的数据结构分布,对所述第一清流数据和第二清流数据进行排序,并组合成第三清流数据;播放所述第三清流数据。本申请能够在流媒体数据中混合有清流和密流的场景下,保证数据传输安全性,降低解密器对密流的解密开销,实现清流与解密流的快速整合,进而降低播放器端的播放延迟,提升用户的视频观看体验。

Description

一种流媒体播放方法及显示设备
技术领域
本发明涉及显示设备技术领域,尤其涉及一种流媒体播放方法及显示设备。
背景技术
在一些应用场景中,用户可在显示设备观看如浏览器、视频应用等提供的片源,也可观看通过如机顶盒、电视盒子等设备接收的视频信号,信号源端可以根据用户请求观看的视频类型,对待发送的音视频流进行相应处理,例如对于类似预告片、广告等非正片类型,可以清流形式(即未经过任何处理的原始数据)发送音视频流,对于有维护版权要求的正片类资源,则不能直接以清流传输,而是需要对音视频流进行加密传输,显示设备接收密流后,对密流进行解密后再行播放,将音视频数据以密流形式发送,可以防止因数据在传输时被复刻而导致的盗版风险。虽然视频加密能提升数据传输的安全性,但在显示设备端会增加解密时间消耗,使视频播放存在一定的延迟,影响播放效果和用户体验。
发明内容
为解决上述背景技术中提出的技术问题,本发明提供一种流媒体播放方法及显示设备,以降低显示设备端对密流的解密开销和播放延迟。
本申请第一方面提供一种显示设备,包括:
播放器,包括用于播放视频数据的显示器,以及用于播放音频数据的声音装置;
通信器,用于与流媒体服务器进行通信;
控制器,用于执行:
接收流媒体服务器发送的被指示为加密视频的数据包,对所述数据包进行特征提取;
若能从所述数据包中检测到清流特征,则对所述数据包中的第一清流数据和密流数据进行分离;其中,清流是指未加密的数据流,密流是指已加密的数据流;
对所述密流数据进行解密,得到第二清流数据,按照所述数据包指定的数据结构分布,对所述第一清流数据和第二清流数据进行排序,并组合成第三清流数据;
控制所述播放器播放所述第三清流数据。
在第一方面第一种示例性的实现方式中,所述控制器还用于执行:
若未从所述数据包中检测到清流特征,则对所述数据包内的全部数据进行解密,得到第四清流数据;控制所述播放器播放所述第四清流数据。
在第一方面第二种示例性的实现方式中,所述控制器还用于执行:接收所述流媒体服务器发送的被指示为未加密视频的数据包,控制所述播放器播放所述数据包内的音视频数据。
在第一方面第三种示例性的实现方式中,所述数据包被所述流媒体服务器配置为包含若干数据块,每个数据块内依次包括第一数据段和第二数据段,所述第一数据段用于填充加密长度为零的清流数据,所述第二数据段用于填充加密长度大于零的密流数据。
基于第三种示例性的实现方式,在第一方面第四种示例性的实现方式中,所述控制器用于按照如下方式进行特征提取,进行清流和密流的分离:
对所述加密视频的数据包进行解析,获取所述数据包中每个数据段的加密长度;其中,若所述加密长度为零,则数据段被清流特征占用,若所述加密长度大于零,则数据段被密流特征占用;
若检测到每个数据段的加密长度都大于零,则确定所述数据包为纯密流类型,则对所述数据包内的全部数据进行解密,得到第四清流数据;
控制所述播放器播放所述第四清流数据。
在第一方面第五种示例性的实现方式中,所述控制器用于按照如下方式进行特征提取,进行清流和密流的分离:
遍历所述加密视频的数据包中的全部数据段,筛分出加密长度为零的第一目标数据段,并将全部第一目标数据段内携带的数据组成所述第一清流数据;
以及,筛分出加密长度大于零的第二目标数据段,并将全部第二目标数据段内携带的数据组成所述密流数据。
在第一方面第六种示例性的实现方式中,所述控制器用于按照如下方式进行特征提取,进行清流和密流的分离:
根据所述加密视频的数据包的结构分布,得到数据段集合,所述特征集合中包括2m个按序排列的数据段及其序号标识,m为数据块的总数;
提取出所述数据段集合中序位为奇数的m个第三目标数据段,组合成奇数序列;
提取出所述数据段集合中序位为偶数的m个第四目标数据段,组合成偶数序列;
对所述偶数序列进行遍历,筛分出加密长度为零的第五目标数据段,将全部的第五目标数据段与所述奇数序列进行组合,得到所述第一清流数据;
以及,将从所述偶数序列中分离出的加密长度大于零的第六目标数据段组合成所述密流数据。
在第一方面第七种示例性的实现方式中,所述控制器用于按照如下方式对所述密流数据进行解密:
向所述解密器下发解密请求,并将所述密流数据注入到解密器;
其中,所述解密器被配置为响应于所述解密请求,通过所述通信器向认证服务器发送权限认证请求,根据所述认证服务器在认证成功后发送的密钥,对所述密流数据进行解密,并向所述控制器反馈密流句柄;所述密流句柄与解密后的所述第二清流数据在内存中的存储地址相关联。
在第一方面第八种示例性的实现方式中,所述控制器用于按照如下方式得到所述第三清流数据:
根据所述解密器反馈的密流句柄,获取所述密流句柄所关联的存储地址中存放的所述第二清流数据;
根据所述第一清流数据和第二清流数据中各数据段对应的标识,按照数据段标识与排序序位的对应关系,对第一清流数据和第二清流数据中包含的数据段进行排序组合,从而得到所述第三清流数据。
本申请第二方面提供一种流媒体播放方法,用于显示设备,显示设备可与流媒体服务器进行通信,则所述方法包括:
接收流媒体服务器发送的被指示为加密视频的数据包,对所述数据包进行特征提取;
若能从所述数据包中检测到清流特征,则对所述数据包中的第一清流数据和密流数据进行分离;其中,清流是指未加密的数据流,密流是指已加密的数据流;
对所述密流数据进行解密,得到第二清流数据,按照所述数据包指定的数据结构分布,对所述第一清流数据和第二清流数据进行排序,并组合成第三清流数据;
播放所述第三清流数据。
第二方面其他示例性的实现方式可适应性参照前述第一方面,此处不再赘述。
本申请提供的技术方案中,用户在点击观看视频时,流媒体服务器可以根据视频信息来确定是否为有加密保护要求的正片类,若为正片类视频,则流媒体服务器可向显示设备端指示当前视频为加密视频,然后发送加密视频的数据包,由于加密视频可能是纯密流,也可能是清流和密流的混流,例如正片播放之前先播放一段预告或片花进行预热,又例如正片中间插播一段广告等,其中广告、预告或片花等非正片视频可能无需加密,因此以清流形式进行传输,基于视频实际加密传输的场景,本申请在接收到加密的数据包后,先进行特征提取,通过特征提取一方面能识别出数据包为纯密流或是清密混流,另一方面若数据包为清密混流,还能将清流数据和密流数据进行分离,并仅将真实加密的数据注入解密器进行解密,从而将密流还原为清流,并将未加密和已解密的清流数据进行排序重组,使之符合数据包原有的数据结构分布,之后即可解码播放。
仅作为一种便于描述的示例,例如某数据包中具有4个数据段,第1段传输清流数据1,第2段传输密流数据2,第3段传输清流数据3,第4段传输密流数据4,则通过特征提取,显然能检测到数据包中具有清流特征,进而识别出该数据包属于混流类型,并将清流数据1和清流数据3分离出来,将密流数据2和密流数据4传给解密器进行解密,密流数据2解密后形成清流数据2′,密流数据4解密后形成清流数据4′,则按照数据包原有的数据段分布,排序后得到清流数据1+清流数据2′+清流数据3+清流数据4′,之后即按此清流数据组合进行播放。本申请能够在流媒体数据中混合有清流和密流的场景下,保证数据传输安全性,降低解密器对密流的解密开销,实现清流与解密流的快速整合,进而降低播放器端的播放延迟,提升用户的视频观看体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要访问的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了根据一些实施例的显示设备的使用场景;
图2示例性示出了根据一些实施例的控制装置100的硬件配置框图;
图3示例性示出了根据一些实施例的显示设备200的硬件配置框图;
图4示例性示出了根据一些实施例的显示设备200中软件配置图;
图5示例性示出了一种流媒体播放方法的流程图;
图6示例性示出了数据包的数据结构分布的示意图;
图7示例性示出了一种混流形态下清流和密流的分离逻辑示意图;
图8示例性示出了纯清流数据形态下的流媒体播放架构;
图9示例性示出了纯密流数据形态下的流媒体播放架构;
图10示例性示出了一种清密混流数据形态下的流媒体播放架构;
图11示例性示出了另一种清密混流数据形态下的流媒体播放架构;
图12示例性示出了解密处理时的逻辑架构。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,AR/VR设备等中的任意一种。
在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,也可以使用智能设备300和显示设备进行数据的通信。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
在一些实施例中,通信接口130用于和外部通信,包含WIFI芯片,蓝牙模块,NFC或可替代模块中的至少一种。
在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
图3示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。
在一些实施例中,显示器260可为液晶显示器、OLED显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,控制器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)等中的至少一种。
CPU处理器。用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。
在一些实施例中,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换等,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。
中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
以上实施例介绍了显示设备的硬件/软件架构以及功能实现等内容,对于与该显示设备相同或相似的设备终端,用户可通过如浏览器、视频APP来应用来观看网络片源,也可通过机顶盒、电视盒子等设备接收电视信号并播放。在实际应用中,可采用流媒体技术来传输媒体数据,即将媒体数据分解成多个数据包,并通过网络分段发送,此技术使数据包得以像流水一样实时发送,具有较强的实时性和交互性,流式传输方式使得用户在观看视频时不必等待音视频数据完全下载,从而降低视频启动延时,并且也能降低对系统缓存容量的要求。
在一些应用场景中,正片类视频大多需要维护版权,一部分正片需要付费或者会员制才能完整观看,以防止其音视频流在传输过程中被复刻而引发盗版风险,因此流媒体服务器端需要对这类视频实施加密保护,即在流媒体中呈现为密流传输,显示设备端接收密流数据后,先行对密流数据进行解密,使密流被还原为清流,然后才能解码播放;而对于广告、预告片、片花等非正片类视频,用户大多能通过免费渠道观看,并且这类视频往往更期望被广泛传播,因此非正片类视频一般无需加密处理,即在流媒体中呈现为清流传输,显示设备端接收清流数据后,也就无需解密,直接由播放器播放清流数据。因此,流媒体数据按照加密类型可划分为清流类型和密流类型两类。
在一些应用场景中,密流类型还可细化为纯密流、密流清流的混流。其中,纯密流即音视频流全部加密,无清流数据插入其间;混流即密流中被混入清流,例如正片类视频中间植入一段广告,又例如正片类视频在启播前先播放一段起到预热作用的预告片,等等,具体由运营商根据实际场景要求进行配置。
在一些示例性的实现方式中,由流媒体服务器向显示设备提供并发送流媒体数据,例如用户点击片源A的链接,则显示设备向流媒体服务器请求拉取片源A的音视频流,流媒体服务器端根据片源A的相关信息,例如片源的ID、URL、视频详情信息等,确定断片源A是否采取加密传输,若不采取加密传输,则流媒体服务器直接将片源A的音视频清流发送给显示设备,即片源A的每一个数据包都不加密;若采取加密传输,则流媒体服务器根据特定的加密算法,对片源A的音视频数据进行加密处理,例如采用HLS(Http Live Streaming,Http实时流媒体)加密算法等,HLS是支持流媒体加密并能应用在浏览器中的流媒体传输协议,通过将整条媒体流切割成若干个可通过HTTP下载的数据包,然后向客户端提供配套的媒体列表文件,令客户端顺序地接收这些数据包并播放,从而呈现出一条流的播放效果。本申请不限制流媒体服务器端所采用的加密方法。
在一些示例性的实现方式中,流媒体服务器端在确定片源A的加密类型后,可在推送片源A的音视频流之前,先行向显示设备通报片源A的加密类型。例如流媒体服务器确定片源A不加密,则向显示设备发送第一指示信息,第一指示信息用于指示片源A实施清流传输,显示设备接收到第一指示信息,则拉取片源A的音视频流,并且不执行解密环节,直接将接收的音视频流分离后,分别注入音频处理器和视频处理器,经过解码等处理后,将片源A的音视频数据发给播放器进行播放。
在一些示例性的实现方式中,本申请中所述硬件的播放器包括显示器和声音装置,显示器用于显示视频数据,声音装置用于播放音频数据,显示器和声音装置应保持声画同步。可选地,声音装置包括显示设备本机内置的扬声器,还包括外部的音频输出设备,例如音响、耳机等。当然显示设备还具有软件层面的播放器,用于控制视频播放,例如控制视频的播放/暂停、快进、快退、倍速、seek等,软件播放器可通过应用程序来实现。
在一些示例性的实现方式中,流媒体服务器确定片源A需要加密,则向显示设备发送第二指示信息,第二指示信息用于指示片源A为密流类型,显示设备接收到第二指示信息,则拉取片源A的音视频流,并将音视频流先注入到解密器中,然后将解密器进行解密处理后输出的清流进行音视频分离,之后再分别对音频和视频进行处理及播放。由于显示设备端无法识别片源A具体为纯密流或是清流密流的混流,只要接收到第二指示信息,则拉取的音视频流都先经过解密器,尤其对于密流清流的混流场景,显示设备仍需要对若干整数据包进行解密,增加了解密开销,而解密耗时增大会导致音视频播放产生的延迟也相应增大,即用户点击片源A的链接后,需要经过较大的延迟才会播放片源A,在延迟期间则呈现为播放界面黑屏并且无声音输出,影响用户的观看体验。
为解决上述场景中存在的技术缺陷,本申请中对于显示设备端,若接收到的是第二指示信息,则对接收到的数据包进行特征提取,特征提取的实质目在于:一方面是能识别出数据包为纯密流或是清密混流,另一方面若数据包为清密混流,还能将清流数据和密流数据进行分离,并仅将真实加密的数据注入解密器进行解密,从而将密流还原为清流,之后将未加密和已解密的清流数据进行排序重组,使之符合数据包原有的数据结构分布,之后即可执行后续的解码及播放等程序。
在一种示例性的实现方式中,如图5示例的一种流媒体播放方法,该方法是从控制器250的执行角度描述,所述方法包括如下程序步骤:
步骤S101,在接收到用户对媒体视频的点播操作时,向流媒体服务器发送对所述媒体视频的数据获取请求。
可选地,所述数据获取请求中可携带有媒体信息和设备信息,所述媒体信息包括但不限于媒体视频的ID、URL及其他所需的视频信息,所述设备信息包括但不限于显示设备的IP地址、MAC地址、设备型号、设备ID等。
步骤S102,接收流媒体服务器发送的指示信息。
流媒体服务器根据数据获取请求中携带的媒体信息,确定媒体视频是否需要加密,并根据加密类型(清流或密流),向显示设备发送相应的指示信息。
步骤S103,接收流媒体服务器发送的所述媒体视频的数据包。
步骤S104,判断媒体视频是否被指示为加密视频。若显示设备接收到的是前述第一指示信息,即获知媒体视频被指示为未加密视频,则执行步骤S105;反之,若显示设备接收到的是前述第二指示信息,则确定媒体视频被指示为加密视频,执行步骤S106。
步骤S105,控制播放器播放所述数据包内的音视频数据。
步骤S106,对所述数据包进行特征提取。
可选地,显示设备对数据包进行解析后,可获取数据包内携带的特征描述信息,特征描述信息包括但不限于加密数据包类型、加密长度等。其中,加密数据包类型包括但不限于音频数据格式、音频数据编码类型、音频数据编码速率、视频数据格式、视频数据编码类型、视频数据编码速率等。加密长度可用于指示数据是否被加密,若数据未加密,则其加密长度为零;若数据已加密,则加密长度大于零,具体加密长度取决于所使用的加密算法。
在一种示例性的实现方式中,如图6所示的数据包内的数据结构分布,数据结构分布是由流媒体服务器在生成数据包时配置的,单独一个数据包内包含m个数据块,数据块表示为Chunki,i为数据块的序号,i=1,2,…m,Chunki内依次包括两个数据段,数据段表示为Segmenti,j,j为数据段的序号,j=1、2,即Chunki内包括第一数据段Segmenti,1和第二数据段Segmenti,2。Segmenti,1默认为清流位,用于填充清流数据,清流数据的加密长度为零;Segmenti,2默认为密流位,用于填充密流数据,密流数据的加密长度大于零。Segmenti,j的数据长度(例如以字节衡量)可能相同或不同。该数据包内的数据结构分布与加密方式无关,也就是说,无论流媒体服务器端采用何种视频加密算法,最终都可按此结构分布特点生成数据包。
在一种示例性的实现方式中,Segmenti,j也可全部被清流特征占用,即清流特征占用了默认的密流位,使得Segmenti,j的加密长度全部等于零,此时数据包为纯清流类型。流媒体服务器在发送第一指示信息后,即可按此数据包结构向显示设备发送所述媒体视频的纯清流数据。
在一种示例性的实现方式中,Segmenti,j也可全部被密流特征占用,即密流特征占用了默认的清流位,使得Segmenti,j的加密长度全部大于零,此时数据包则为纯密流类型。
在一种示例性的实现方式中,Segmenti,1被清流特征占用,Segmenti,2被密流特征占用,则数据包为清密流的混流类型,混流类型属于加密类型中的一种,此时数据包内的分布规律较为鲜明,体现为奇数位的数据段Segmenti,1的加密长度均为零,偶数位的数据段Segmenti,2的加密长度均大于零。
在其他可能的实现方式中,基于图6的数据包结构分布,任一Segmenti,j所填充的数数据特征可能是清流或密流,具体取决于媒体视频和流媒体服务器端的配置。由此可见,加密长度是特征提取时使用的一项关键参数,通过加密长度来识别Segmenti,j的特征类型,从而对清流数据段和密流数据段进行统计、归类,进而将整数据包内的清流和密流进行分离。
步骤S107,从数据包内是否检测到清流特征。若数据包内具有清流特征,即至少有一个Segmenti,j的加密长度等于零,则数据包为清密流的混流类型,执行步骤S108和步骤S109;若数据包内不具有清流特征,则数据包为纯密流类型,执行步骤S110。
步骤S108,对所述数据包中的第一清流数据和密流数据进行分离。
本申请中所述的第一清流数据是指在混流中包括的清流,密流数据是指混流中包括的密流。通过遍历数据包中的全部Segmenti,j,筛分出加密长度为零的第一目标数据段,并将全部第一目标数据段内携带的数据组成第一清流数据,以及,筛分出加密长度大于零的第二目标数据段,并将全部第二目标数据段内携带的数据组成密流数据,从而实现清流和密流的分离。
作为一种示例,例如某数据包中具有2个数据块,则该数据包共具有4个数据段{Segmenti,j∣i=1,2;j=1,2},Segment1,1传输清流数据1,Segment1,2传输密流数据2,Segment2,1传输清流数据3,Segment2,2传输密流数据4,遍历该数据包,检测到Segment1,1和Segment2,1(两者属于第一目标数据段)的加密长度等于零,即检测到数据包中具有清流特征,属于加密类型中的混流类型,则对清流和密流进行分离,第一清流数据包括Segment1,1和Segment2,1内填充的数据,密流数据包括Segment1,2和Segment2,2(两者属于第二目标数据段)内填充的数据。
步骤S109,对所述密流数据进行解密,得到第二清流数据,按照所述数据包指定的数据结构分布,对所述第一清流数据和第二清流数据进行排序,并组合成第三清流数据,控制播放器播放所述第三清流数据。
在一种示例性的实现方式中,控制器向解密器下发解密请求,并将分离出的密流数据注入到解密器中等待解密处理,解密器响应于解密请求,向认证服务器发送权限认证请求,权限认证请求中携带有设备信息,所述设备信息包括但不限于出厂公司、设备型号、软件版本等验证信息。
在一种示例性的实现方式中,认证服务器中可以维护一个权限列表,权限列表存储有具备解密权限的设备信息、解密权限的有效期限以及授信设备的密钥等。认证服务器根据显示设备发送的权限认证请求,验证该显示设备是否具有解密权限,以及当前解密权限是否处于有效期限内,若显示设备具有有效的解密权限,则认证成功,认证服务器将密钥发送给显示设备,显示设备将密钥送达解密器,所述密钥中包括但不限于解密类型、解密算法、解密有效期限和解密标识等信息,其中密钥的生成与流媒体服务器的加密方式有关。解密器存储密钥,并利用密钥对缓存的密流数据进行解密处理,得到第二清流数据。
在一种示例性的实现方式中,所述第二清流数据是指混流中分离出的密流被解密后得到的清流,继续以前述示例描述,密流数据包括Segment1,2内填充的密流数据2和Segment2,2内填充的密流数据4,解密器利用密钥将密流数据2解密为清流数据2′,将密流数据4解密为清流数据4′,即第二清流数据包括清流数据2′和清流数据4′。按照数据包结构分布中数据段标识与排序序位的对应关系,Segment1,1对应第1位,Segment1,2对应第2位,Segment2,1对应第3位,Segment2,2对应第4位,则将第一清流数据和第二清流数据按此排序组合,得到第三清流数据按序包括清流数据1+清流数据2′+清流数据3+清流数据4′,然后对第三清流数据进行解码播放。
在一种示例性的实现方式中,控制器在将数据包内的第一清流数据和密流数据分离后,第一清流数据缓存在内存中,解密器将解密后的第二清流数据缓存在内存中后,获取与第二清流数据的存储地址相关联的密流句柄,然后解密器向控制器反馈密流句柄,控制器利用密流句柄,将内存中存放的第一清流数据和第二清流数据排序组合为第三清流数据。
显示设备中,系统为每个进程在内存中分配一定的区域,用来存放各个句柄,句柄是特定位数的无符号整型值,句柄相当于对象指针,用于指向内存中的另一个区域(假设称之为区域A),区域A中存放的正是对象在内存中的地址。当对象在内存中的位置发生变化时,区域A的值被更新,变更为当前时刻对象在内存中的地址,而在此过程中,区域A的位置以及对应句柄的值固定不变。也就是说,有一个固定句柄指向一个固定的位置(即区域A),而区域A中的值可以动态变化,区域A中的值时刻记录着当前时刻对象在内存中的地址,因此无论对象位置在内存中如何变化,只要掌握句柄的值,就可以找到区域A,进而定位该对象,而句柄的值在程序本次运行期间是绝对不变的。
步骤S110,对所述数据包内的全部数据进行解密,得到第四清流数据,控制播放器播放第四清流数据。
在一种示例性的实现方式中,若遍历数据包后,检测到任意Segmenti,j的加密长度都大于零,即从数据包中未检测到任何清流特征,数据包为纯密流类型,也就无需进行清密流分离,将全部数据段组合的纯密流注入至解密器中,解密器利用密钥对整数据包内的密流数据进行解密,得到第四清流数据,所述第四清流数据是指纯密流被解密后得到的清流,然后对第四清流数据进行解码播放。
由以上方法实施例可知,根据流媒体服务器在发送数据包前指示的加密类型,以及,在加密类型为密流时,根据特征提取,对纯密流或混流类型进行鉴别,进一步地对混流进行清流和密流的归类和分离,并仅向解密器注入混流中的密流,从而在保证数据传输安全性的前提下,降低解密器的解密开销和处理耗时,实现清流与解密流的快速融合,进而降低播放器的音视频播放延迟,为用户提供更好的视频观看体验。该方法实施例提供了纯清流、纯密流和清密混流三种形态下的视频播放方案,可适配不同媒体视频的播放逻辑。
在一种示例性的实现方式中,基于图6所示的数据包结构,参照图7,以设置在清密混流形态下奇数位的Segmenti,1仅填充清流数据,偶数位的Segmenti,2允许填充清流或密流数据为例,则基于加密视频的数据包的结构分布,得到数据段集合为{Segmenti,j∣i=1,2,…m;j=1,2},其中m为数据块的总数,该集合中共包括2m个数据段及其序号标识k,k用于表征数据段在整个数据包中的排列序位。
在一种示例性的实现方式中,参照图7,由于奇偶序位的数据段特征分布不同,因此提取出数据段集合中序位为奇数的m个数据段(为便于区分,将其命名为第三目标数据段),组合成奇数序列Sodd,即Sodd={Segmenti,1∣i=1,2,…m}={Segmentk∣k=1,3,…2m-1};以及,提取出数据段集合中序位为偶数的m个数据段(为便于区分,将其命名为第四目标数据段),组合成偶数序列Seven,即Seven={Segmenti,2∣i=1,2,…m}={Segmentk∣k=2,4,…2m}。
在一种示例性的实现方式中,参照图7,Sodd中各数据段固定传输清流数据,因此Sodd包括的数据都属于第一清流数据的范畴。然后继续对Seven进行特征提取,遍历Seven,并从中筛分出加密长度为零的数据段(为便于区分,将其命名为第五目标数据段),将筛选出的全部第五目标数据段组成子序列A,子序列A为偶数序列的子集。若子序列A为空,即偶数序列为纯密流类型,则奇数序列构成所述第一清流数据,偶数序列构成所述密流数据;若子序列A为偶数序列的非空真子集,即偶数序列为混流类型,则奇数序列+子序列A构成所述第一清流数据,偶数序列-子序列A构成所述密流数据;若子序列A为偶数序列的全集,即偶数序列为纯清流类型,则奇数序列+子序列A构成所述第一清流数据,未提取出所述密流数据。
在一种示例性的实现方式中,参照图7,提取奇偶序列后,继续对Seven进行特征提取,遍历Seven,并从中筛分出加密长度大于零的数据段(为便于区分,将其命名为第六目标数据段),将筛选出的全部第六目标数据段组成子序列B,满足偶数序列=子序列A+子序列B,子序列B为偶数序列的子集。若子序列B为空,即偶数序列为纯清流类型,则奇数序列+偶数序列构成所述第一清流数据,未提取出所述密流数据;若子序列B为偶数序列的非空真子集,即偶数序列为混流类型,则奇数序列+子序列A构成所述第一清流数据,子序列B构成所述密流数据;若子序列B为偶数序列的全集,即偶数序列为纯密流类型,则奇数序列构成所述第一清流数据,偶数序列构成所述密流数据。
作为一种示例,假设某数据包中具有3个数据块,即该数据包共具有6个数据段{Segmenti,j∣i=1,2,3;j=1,2}={Segmentk∣k=1,2,3,4,5,6},则Sodd={Segmentk=1,Segmentk=3,Segmentk=5},Seven={Segmentk=2,Segmentk=4,Segmentk=6},对Seven进行特征提取,检测到Segmentk=2和Segmentk=6的加密长度大于零,Segmentk=4的加密长度等于零,则子序列A={Segmentk=4},子序列B={Segmentk=2,Segmentk=6},因此该数据包内的第一清流数据包括{Segmentk=1,Segmentk=3,Segmentk=4,Segmentk=5}这四个数据段所填充的数据,该数据包内的密流数据包括{Segmentk=2,Segmentk=6}这两个数据段所填充的数据,从而在混流形态下对清流和密流进行快速分离。
在其他可能的实现方式中,对清密混流形态下数据包内奇偶序位填充的数据类型不限于图7的示例,例如若设置在清密混流形态下奇数位的Segmenti,1允许填充清流或密流,偶数位的Segmenti,2仅填充密流,则仍然提取奇数序列和偶数序列,而偶数序列为纯密流类型,并进一步对奇数序列进行遍历及特征提取,将筛分出的加密长度为零的数据段组成子序列C,子序列C为奇数序列的子集。若子序列C为空,即奇数序列为纯密流类型,进而确定整数据包为纯密流类型,则奇数序列+偶数序列构成所述密流数据,未提取出所述第一清流数据;若子序列C为奇数序列的非空真子集,即奇数序列为混流类型,则子序列C构成所述第一清流数据,偶数序列+奇数序列-子序列C构成数据包内的密流数据;若子序列C为奇数序列的全集,即奇数序列为纯清流类型,则奇数序列为分离出的第一清流数据,偶数序列为分离出的密流数据。由此可见,无论数据包内Segmenti,j的特征分布如何设置,均可通过上述特征提取机制,精准分离出清流部分和密流部分,使注入解密器的数据被缩减,降低解密器的解密开销和负荷,还可以降低对解密器缓存的要求。
在一种示例性的实现方式中,显示设备在接收到第二指示信息,即流媒体服务器指示当前视频为加密视频时,控制器需对接收的加密数据包进行特征提取,具体来说,按序依次读取各个数据段Segmenti,j,根据各Segmenti,j的加密长度,即可识别Segmenti,j所填充的数据类型(密流或清流),并检测数据段间数据类型的切换,从而及时转换数据处理逻辑。
作为一种示例,假设某数据包中具有2个数据块,即该数据包共具有4个数据段{Segmenti,j∣i=1,2;j=1,2}={Segmentk∣k=1,2,3,4},控制器首先读取Segmentk=1,检测到Segmentk=1的加密长度为零,即Segmentk=1填充的是清流,则将Segmentk=1中的清流数据1转发至播放器;然后读取Segmentk=2,检测到Segmentk=2的加密长度大于零,Segmentk=2填充的是密流,即随着数据段Segmentk=1切换至Segmentk=2,数据类型从清流类型切换为密流类型,则需要将Segmentk=2中的密流数据2转发至解密器,由解密器将密流数据2解密为清流数据2′,然后解密器向控制器反馈解密后清流数据2′的句柄,控制器将该句柄转发至播放器;播放器按照数据包内指示的播放顺序,先播放清流数据1,后播放清流数据2′。
在另一种示例中,例如控制器首先读取Segmentk=1,检测到Segmentk=1的加密长度大于零,即Segmentk=1填充的是密流,则将Segmentk=1中的密流数据1转发至解密器;然后读取Segmentk=2,检测到Segmentk=2的加密长度也大于零,即随着数据段Segmentk=1切换至Segmentk=2,数据类型保持密流类型未变,则将Segmentk=2中的密流数据2继续转发给解密器,解密器将密流数据1和密流数据2解密后的句柄反馈给控制器,并由控制器将句柄转发至播放器;然后读取Segmentk=3,检测到Segmentk=3的加密长度为零,即随着数据段Segmentk=2切换至Segmentk=3,数据类型从密流类型切换为清流类型,则无需解密,直接将Segmentk=3中的清流数据3转发至播放器;播放器按照数据包内指示的播放顺序,先依次播放解密后的清流数据1′和清流数据2′,然后播放清流数据3。
在一种示例性的实现方式中,数据包中还可包括播放列表,所述播放列表按照播放优先级顺序,依次排序m个数据段标识,控制器将该播放列表下发至播放器,使播放器准确掌握各Segmenti,j的播放次序,从而有序控制数据包内的数据播放。可选地,按照Segmenti,j在数据包内所处的序位设置播放优先级,例如Segment1,1/Segmentk=1→Segment1,2/Segmentk=2→Segment2,1/Segmentk=3→Segment2,2/Segmentk=4
或者,播放优先级也可能与Segmenti,j的排序不相关,例如流媒体服务器端设置优先播放数据包内的密流数据,后播放清流数据,例如Segment1,2/Segmentk=2(密流数据2)→Segment2,2/Segmentk=4(密流数据4)→Segment1,1/Segmentk=1(清流数据1)→Segment2,1/Segmentk=3(清流数据3);又或者,流媒体服务器端设置优先播放数据包内的清流数据,后播放密流数据,例如Segment1,1/Segmentk=1(清流数据1)→Segment2,1/Segmentk=3(清流数据3)→Segment1,2/Segmentk=2(密流数据2)→Segment2,2/Segmentk=4(密流数据4);又或者,流媒体服务器根据用户请求观看的当前视频的运营特点,例如是否插播广告(可细分为前置、中间和后置等形式),是否联播预告片、片花和推荐短视频等非正片类视频等,结合流媒体传输的特性,对每个数据包内数据段的播放顺序进行设置,并生成所述播放列表。
在一种示例性的实现方式中,控制器也可根据播放列表中指定的优先级,按序读取相应的数据段,并检测数据段填充的数据类型,从而决策是否需要解密,同样地,播放器端依据播放列表中的优先级顺序,对流媒体的音视频数据进行播放控制,从而在播放端达到流媒体运营商指定的播放效果。
在一种示例性的实现方式中,数据包具有一定的数据长度L,供m个数据段瓜分,即
Figure BDA0003398963650000121
其中k用于表征数据段的序位号,lk表示Segmentk的数据长度,L、m和lk的值在数据包中是已知的,能便于显示设备端准确定位每个数据段在数据包中的位置。例如某数据包具有4个数据段,L为600字节长度,l1和l3为100字节长度,l2和l4为200字节长度,则确定数据包中第0~100字节为Segmentk=1,第101~300字节为Segmentk=2,第301~400字节为Segmentk=3,第401~600字节为Segmentk=4
前述各项实施例是从控制器的角度去描述,在实际显示设备底层实现中,还具有流媒体中间件,以及用于下载数据包的浏览器,流媒体中间件和浏览器受控于控制器。流媒体中间件可与浏览器、解密器和播放器进行通信交互,并且流媒体中间件被配置为对加密数据包进行特征提取,识别数据包为纯密流类型或混流类型,进一步地,对混流形态的数据进行清流和密流的归类和分离。
在一种示例性的实现方式中,图8示例在纯清流数据形态下的流媒体播放架构,在用户点击观看媒体视频时,浏览器向流媒体服务器请求下载该媒体视频的音视频数据,流媒体服务器确定该媒体视频不加密,向流媒体中间件发送第一指示信息,以指示当前视频为未加密视频,并以清流形式向浏览器发送数据包,浏览器将接收的数据包发送至流媒体中间件;流媒体中间件响应于第一指示信息,不启动特征提取及解密程序,而是直接将数据包转发给播放器,播放器对数据包进行解码播放,使音视频数据被同步输出。
在一种示例性的实现方式中,图9示例在纯密流数据形态下的流媒体播放架构,浏览器向流媒体服务器请求下载媒体视频的音视频数据,流媒体服务器确定该媒体视频实施加密传输,向流媒体中间件发送第二指示信息,以指示当前视频为加密视频,并以密流形式向浏览器发送数据包,浏览器将接收的加密数据包发送至流媒体中间件;流媒体中间件响应于第二指示信息,启动已配置的特征提取程序,并识别出数据包为纯密流类型,并将数据包转发给解密器;解密器执行解密后,向流媒体中间件反馈密流句柄;流媒体中间件将密流句柄发送给播放器,以使播放器对句柄指向的解密数据进行播放控制。
在一种示例性的实现方式中,图10示例在清密混流数据形态下的流媒体播放架构,浏览器向流媒体服务器请求下载媒体视频的音视频数据,流媒体服务器确定该媒体视频实施加密传输,向流媒体中间件发送第二指示信息,以指示当前视频为加密视频,并以密流形式向浏览器发送数据包,浏览器将接收的数据包发送至流媒体中间件;流媒体中间件响应于第二指示信息,启动已配置的特征提取程序,并识别出数据包为混流类型,并进一步对清流和密流进行分离,将分离出的密流发送给解密器;解密器对密流进行解密后,向流媒体中间件反馈密流句柄;流媒体中间件根据密流句柄和分离出的清流,对媒体数据进行排序整合,然后将整合后的全清流数据发送给播放器,由播放器进行播放控制。
在一种示例性的实现方式中,如图11所示,流媒体中间件也可直接将分离出的清流以及解密后获取的密流句柄发送给播放器,由播放器根据数据包中配置的播放列表所指示的播放优先级,依序播放包内各段数据。
在一种示例性的实现方式中,由于纯密流或混流形态下都涉及数据解密环节,图12示例一种解密处理时的逻辑架构,浏览器将加密数据包发送给流媒体中间件后,流媒体中间件对数据包进行特征提取,在提取出纯密流或分离出混流中的密流后,需要启动解密程序,流媒体中间件向解密器发送解密请求,并将待解密的密流注入到解密器的缓存中;解密器响应于所述解密请求,根据本机的设备信息生成并发送权限认证请求,权限认证请求依次经过流媒体中间件和浏览器,最后由媒体应用将权限认证请求发送至认证服务器,其中媒体应用为用户触发媒体观看行为的应用,例如用户点播聚好看中的某一片源,则由聚好看即成为所述媒体应用;认证服务器基于权限认证请求中携带的设备信息,验证该设备的解密权限,验证成功后,将密钥下发给媒体应用,然后依次经媒体应用、浏览器和流媒体中间件,将密钥送达解密器;解密器存储密钥,并利用密钥对自身缓存中的密流数据进行解密,解密后将密流句柄返回至流媒体中间件。
在一种示例性的实现方式中,流媒体中间件既可独立发送解密请求和密流数据至解密器,或者,也可使解密请求中携带密流数据,实现将密流数据随解密请求一并发送到解密器;解密器接收解密请求后,查询是否存储处于有效期限内的密钥,若查询到解密器已存储有效的密钥,可无需生成及发送权限认证请求,直接利用存储的密钥进行解密;若查询到解密器未存储任何密钥,或者存储的密钥已过期,则需要生成并发送权限认证请求,以获取密钥。
基于流媒体中间件的特征提取机制,对加密数据包进行细化识别,以及根据数据包内的清密流特征的排布规律,分离混流中的清流和密流,并通过底层交互,完成媒体数据的解密、整合和播放等环节。特征提取的实现方案不局限于本申请提供的示例。可参照现有流媒体视频的加解密技术,具体采用何种加解密方式并不影响本申请的实质。另外,底层实现架构也不局限于本申请的示例,可以针对不同的操作系统做出适应性的调整和变型。
在一种示例性的实现方式中,本发明还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可包括本申请流媒体播放方法及显示设备实施例中涉及的程序步骤。其中,计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:Read-OnlyMemory,简称ROM)或随机存储记忆体(Random Access Memory,简称RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

Claims (10)

1.一种显示设备,其特征在于,包括:
播放器,包括用于播放视频数据的显示器,以及用于播放音频数据的声音装置;
通信器,用于与流媒体服务器进行通信;
控制器,用于执行:
接收流媒体服务器发送的被指示为加密视频的数据包,对所述数据包进行特征提取;
若能从所述数据包中检测到清流特征,则对所述数据包中的第一清流数据和密流数据进行分离;其中,清流是指未加密的数据流,密流是指已加密的数据流;
对所述密流数据进行解密,得到第二清流数据,按照所述数据包指定的数据结构分布,对所述第一清流数据和第二清流数据进行排序,并组合成第三清流数据;
控制所述播放器播放所述第三清流数据。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器还用于执行:
若未从所述数据包中检测到清流特征,则对所述数据包内的全部数据进行解密,得到第四清流数据;
控制所述播放器播放所述第四清流数据。
3.根据权利要求1所述的显示设备,其特征在于,所述控制器还用于执行:
接收所述流媒体服务器发送的被指示为未加密视频的数据包,控制所述播放器播放所述数据包内的音视频数据。
4.根据权利要求1所述的显示设备,其特征在于,所述数据包被流媒体服务器配置为包含若干数据块,每个数据块内依次包括第一数据段和第二数据段,所述第一数据段用于填充加密长度为零的清流数据,所述第二数据段用于填充加密长度大于零的密流数据。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器用于按照如下方式进行特征提取,进行清流和密流的分离:
对所述加密视频的数据包进行解析,获取所述数据包中每个数据段的加密长度;其中,若所述加密长度为零,则数据段被清流特征占用,若所述加密长度大于零,则数据段被密流特征占用;
若检测到每个数据段的加密长度都大于零,则确定所述数据包为纯密流类型,则对所述数据包内的全部数据进行解密,得到第四清流数据;
控制所述播放器播放所述第四清流数据。
6.根据权利要求4所述的显示设备,其特征在于,所述控制器用于按照如下方式进行特征提取,进行清流和密流的分离:
遍历所述加密视频的数据包中的全部数据段,筛分出加密长度为零的第一目标数据段,并将全部第一目标数据段内携带的数据组成所述第一清流数据;
以及,筛分出加密长度大于零的第二目标数据段,并将全部第二目标数据段内携带的数据组成所述密流数据。
7.根据权利要求4所述的显示设备,其特征在于,所述控制器用于按照如下方式进行特征提取,进行清流和密流的分离:
根据所述加密视频的数据包的结构分布,得到数据段集合,所述特征集合中包括2m个按序排列的数据段及其序号标识,m为数据块的总数;
提取出所述数据段集合中序位为奇数的m个第三目标数据段,组合成奇数序列;
提取出所述数据段集合中序位为偶数的m个第四目标数据段,组合成偶数序列;
对所述偶数序列进行遍历,筛分出加密长度为零的第五目标数据段,将全部的第五目标数据段与所述奇数序列进行组合,得到所述第一清流数据;
以及,将从所述偶数序列中分离出的加密长度大于零的第六目标数据段组合成所述密流数据。
8.根据权利要求6或7所述的显示设备,其特征在于,所述控制器用于按照如下方式对所述密流数据进行解密:
向所述解密器下发解密请求,并将所述密流数据注入到解密器;
其中,所述解密器被配置为响应于所述解密请求,通过所述通信器向认证服务器发送权限认证请求,根据所述认证服务器在认证成功后发送的密钥,对所述密流数据进行解密,并向所述控制器反馈密流句柄;所述密流句柄与解密后的所述第二清流数据在内存中的存储地址相关联。
9.根据权利要求8所述的显示设备,其特征在于,所述控制器用于按照如下方式得到所述第三清流数据:
根据所述解密器反馈的密流句柄,获取所述密流句柄所关联的存储地址中存放的所述第二清流数据;
根据所述第一清流数据和第二清流数据中各数据段对应的标识,按照数据段标识与排序序位的对应关系,对第一清流数据和第二清流数据中包含的数据段进行排序组合,从而得到所述第三清流数据。
10.一种显示设备中的流媒体播放方法,其特征在于,所述方法还包括:
接收流媒体服务器发送的被指示为加密视频的数据包,对所述数据包进行特征提取;
若能从所述数据包中检测到清流特征,则对所述数据包中的第一清流数据和密流数据进行分离;其中,清流是指未加密的数据流,密流是指已加密的数据流;
对所述密流数据进行解密,得到第二清流数据,按照所述数据包指定的数据结构分布,对所述第一清流数据和第二清流数据进行排序,并组合成第三清流数据;
播放所述第三清流数据。
CN202111490187.4A 2021-12-08 2021-12-08 一种流媒体播放方法及显示设备 Pending CN116248948A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111490187.4A CN116248948A (zh) 2021-12-08 2021-12-08 一种流媒体播放方法及显示设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111490187.4A CN116248948A (zh) 2021-12-08 2021-12-08 一种流媒体播放方法及显示设备

Publications (1)

Publication Number Publication Date
CN116248948A true CN116248948A (zh) 2023-06-09

Family

ID=86630061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111490187.4A Pending CN116248948A (zh) 2021-12-08 2021-12-08 一种流媒体播放方法及显示设备

Country Status (1)

Country Link
CN (1) CN116248948A (zh)

Similar Documents

Publication Publication Date Title
US8793303B2 (en) Composition of local user interface with remotely generated user interface and media
US10423320B2 (en) Graphical user interface for navigating a video
JP6130841B2 (ja) 受信装置
US20190149885A1 (en) Thumbnail preview after a seek request within a video
US20140108585A1 (en) Multimedia content management system
EP2736252B1 (en) Content regeneration device, content regeneration method, content regeneration program and content providing program
US20090147840A1 (en) Video encoding system with universal transcoding and method for use therewith
KR20140091021A (ko) 제어 방법 및 그를 이용한 장치
US20140223502A1 (en) Method of Operating an IP Client
KR20130066168A (ko) 에이치디엠아이 신호로 방송 수신기의 듀얼 디스플레이를 위한 휴대용 단말기의 장치 및 방법
US11991231B2 (en) Method for playing streaming media file and display apparatus
WO2021217435A1 (zh) 流媒体同步方法及显示设备
US20120066709A1 (en) Apparatus and method for providing stereoscopic image contents
US8332897B1 (en) Remote rendering of webpages on television
JP2017153129A (ja) 受信装置
CN116248948A (zh) 一种流媒体播放方法及显示设备
US20100281500A1 (en) Av device and ui display method
CN103782603B (zh) 用户界面显示的系统和方法
KR20120057027A (ko) 복수의 컨텐츠 제공자로부터 제공되는 컨텐츠를 제공/수신하기 위한 방법 및 그 방법을 이용한 시스템 및 장치
CN115119022B (zh) 一种跳过视频广告的控制方法及显示设备
EP2947843B1 (en) Server apparatus, display apparatus, system, and controlling methods thereof
US12022141B2 (en) Safe playback method for streaming media file, and display device
CN111757176B (zh) 流媒体文件安全播放方法及显示设备
CN117812387A (zh) 一种显示设备及流媒体播放方法
CN115134644A (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