CN113411638A - 视频文件的播放处理方法、装置、电子设备及存储介质 - Google Patents
视频文件的播放处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113411638A CN113411638A CN202011552579.4A CN202011552579A CN113411638A CN 113411638 A CN113411638 A CN 113411638A CN 202011552579 A CN202011552579 A CN 202011552579A CN 113411638 A CN113411638 A CN 113411638A
- Authority
- CN
- China
- Prior art keywords
- video file
- fragments
- playing
- video
- server
- 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
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
- H04N21/23476—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- 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/44—Processing 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/4408—Processing 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 encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4627—Rights management associated to the content
-
- 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/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种视频文件的播放处理方法、装置、电子设备及计算机可读存储介质;方法包括:发送视频文件请求,以获取视频文件对应的多个加密分片以及密钥;基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;在播放的过程中提取所述分片中的水印信息,以基于所述水印信息获取所述视频文件的权限校验结果;基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。通过本申请,能够提高视频文件播放的安全性。
Description
技术领域
本申请涉及人工智能及数字版权管理技术,尤其涉及一种视频文件的播放处理方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
以基于人工智能的数字版权管理为例,相关技术中,通过对视频文件进行加密,使得终端用户需要对视频文件进行解密才能获取视频文件,即通过视频文件的密钥验证终端用户的身份,保证终端用户的安全性,这种方式一旦被黑客破解,就会导致视频文件被非法复制和传播,使得数字版权的创造者和拥有者的合法利益遭受到侵犯,行业发展受阻。
因此,相关技术中针对视频文件的安全播放缺乏有效的解决方案。
发明内容
本申请实施例提供一种视频文件的播放处理方法、装置、电子设备及计算机可读存储介质,能够提高视频文件播放的安全性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种视频文件的播放处理方法,包括:
发送视频文件请求,以获取视频文件对应的多个加密分片以及密钥;
基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;
在播放的过程中提取所述分片中的水印信息,以基于所述水印信息获取所述视频文件的权限校验结果;
基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
本申请实施例提供一种视频文件的播放处理装置,包括:
第一发送模块,用于发送视频文件请求,以获取视频文件对应的多个加密分片以及密钥;
播放模块,用于基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;
提取模块,用于在播放的过程中提取所述分片中的水印信息,以基于所述水印信息获取所述视频文件的权限校验结果;
控制模块,用于基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
上述方案中,所述提取模块,还用于将所述水印信息发送至服务器,以使服务器执行以下操作:当所述水印信息的中的播放权限与所述视频文件的用户账号的授权播放权限匹配成功时,确定所述用户账号有所述播放权限;当所述水印信息与所述视频文件请求的用户账号匹配失败时,确定所述用户账号没有所述播放权限;接收所述服务器发送的表征所述用户账号是否有所述播放权限的权限校验结果。
上述方案中,所述控制模块,还用于当所述视频文件的用户账号没有播放权限时,停止播放所述视频文件的分片;当所述视频文件的用户账号有播放权限时,继续播放所述视频文件的已经解密的分片。
上述方案中,所述第一发送模块,还用于向服务器发送所述视频文件请求,以使所述服务器执行以下操作:对触发所述视频文件请求的用户账号进行权限验证,当所述用户账号具有对应所述视频文件的播放权限时,根据所述视频文件请求携带的视频文件标识,发送与所述视频文件标识对应的视频文件的多个加密分片和密钥;接收所述视频文件的多个加密分片和密钥。
上述方案中,所述提取模块,还用于确定所述分片中嵌入有数字水印的多个视频帧;针对每个所述视频帧执行以下操作:将所述视频帧拆分成多个分块,将每个所述分块中的像素数据转换成频率数据,并从所述频率数据中确定两个中频系数;基于所述两个中频系数的数量关系,确定所述视频帧携带的水印信息字符;将每个所述视频帧携带的水印信息字符整合为水印信息。
上述方案中,所述提取模块,还用于在播放解密后得到的分片的播放过程中进行截图操作;对所述截图操作得到的截图进行字符识别处理,以获得所述截图中的水印信息。
上述方案中,本申请实施例提供一种视频文件的播放处理装置,还包括:拆分模块,用于将所述视频文件拆分成具有相同视频文件标识的多个分片,其中,所述视频文件标识用于表征所述分片属于所述视频文件;将所述多个分片发送至服务器,以使所述服务器执行以下操作:将每个所述分片随机存储在所述服务器的目录层次中以生成所述分片的随机地址;对所述分片进行转码处理;对所述转码处理后的分片进行加水印处理;对所述加水印处理后的分片进行加密处理;将所述随机地址中存储的分片替换成所述加密处理后的分片;其中,每个所述视频文件请求均被定向到所述服务器进行响应。
上述方案中,所述第一发送模块,还用于向所述服务器逐个发送所述多个分片中的分片,其中,每个所述分片携带有所述分片的第一哈希值,以使所述服务器执行以下操作:对所述分片进行哈希处理,得到第二哈希值,当所述第一哈希值与所述第二哈希值匹配成功时,确定所述分片是安全的,并继续接收下一个分片;当所述第一哈希值与所述第二哈希值匹配失败时,确定所述分片是不安全的,并停止接收所述分片以及返回错误信息,以接收终端设备针对匹配失败的分片而重传的分片。
上述方案中,所述密钥是以携带在许可证中的形式被发送的,所述许可证包括授权播放权限;所述播放模块,还用于基于所述许可证中的所述授权播放权限对触发所述视频文件请求的用户账号进行权限验证;当所述权限验证通过时,基于所述许可证中的所述密钥对所述多个加密分片进行解密,并调用播放器播放解密后得到的分片。
上述方案中,本申请实施例提供一种视频文件的播放处理装置,还包括:调试模块,用于对用于播放所述视频文件的播放器的运行环境进行调试工具检测处理;当检测所述播放器的运行环境中的调试工具被打开时,控制所述播放器执行死循环程序操作以屏蔽基于所述调试工具的调试操作,并将打开所述调试工具的行为数据上报至服务器。
本申请实施例提供一种视频文件的播放处理装置,包括:
第一接收模块,用于接收终端设备发送的视频文件请求;
第二发送模块,用于向所述终端设备发送视频文件对应的多个加密分片以及密钥,以使所述终端设备基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;
第二接收模块,用于接收所述终端设备在播放的过程中从所述分片中提取的水印信息;
校验模块,用于基于所述水印信息获取所述视频文件的权限校验结果,向所述终端设备发送所述权限校验结果,以使所述终端设备基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
上述方案中,所述校验模块,还用于当所述水印信息包括的播放权限与触发所述视频文件请求的用户账号的授权播放权限匹配成功时,确定所述用户账号有所述播放权限;当所述水印信息与触发所述视频文件请求的用户账号的授权播放权限匹配失败时,确定所述用户账号没有所述播放权限;以向终端设备发送表征所述用户账号是否有所述播放权限的权限校验结果。
上述方案中,本申请实施例提供一种视频文件的播放处理装置,还包括:响应模块,用于对触发所述视频文件请求的用户账号进行权限验证,当所述用户账号具有对应所述视频文件的播放权限时,确定将响应所述视频文件请求。
上述方案中,本申请实施例提供一种视频文件的播放处理装置,还包括:存储模块,用于接收所述终端设备发送的具有相同视频文件标识的多个分片,其中,所述视频文件标识用于表征所述分片属于所述视频文件;将每个所述分片随机存储在服务器的目录层次中以生成所述分片的随机地址;对所述分片进行转码处理,以将所述分片的码率转换成设定码率;对所述转码处理后的分片进行加水印处理;基于密钥将经过所述加水印处理后的分片进行加密处理,以得到经过所述加密处理后的分片;将所述随机地址中存储的分片替换成经过所述加密处理后的分片。
上述方案中,所述存储模块,还用于接收所述终端设备逐个发送的所述多个分片中的分片,其中,每个所述分片携带有所述分片的第一哈希值;对所述分片进行哈希处理,得到第二哈希值,当所述第一哈希值与所述第二哈希值匹配成功时,确定所述分片是安全的,并继续接收下一个分片;当所述第一哈希值与所述第二哈希值匹配失败时,确定所述分片是不安全的,并停止接收所述分片以及返回错误信息,以接收终端设备针对匹配失败的分片而重传的分片。
上述方案中,本申请实施例提供一种视频文件的播放处理装置,还包括:检测模块,用于获取所述视频文件的总分片数;检测已存储的分片的数量;当所述已存储的分片的数量与所述总分片数一致时,确定所述视频文件的所有分片全部存储成功。
上述方案中,所述存储模块,还用于将水印信息转换成多个水印信息字符;对所述转码处理后的分片进行解码处理,得到多个视频帧;从所述多个视频帧中,确定出与所述水印信息字符的数量相应的部分视频帧;将所述部分视频帧分成多个分块;将每个所述分块的像素数据转换成频率数据,并从所述频率数据中确定两个中频系数;基于所述两个中频数据的数量关系,修改所述频率数据;将修改后的频率数据转换成修改后的像素数据,将所述修改后的像素数据作为加水印后的视频帧的像素数据,以得到加水印处理后的视频帧。
上述方案中,所述存储模块,还用于将所述水印信息转换成水印图像;对所述转码处理后的分片进行解码处理,得到多个视频帧;将所述水印图像与每个所述视频帧进行叠加处理,以得到加水印处理后的视频帧。
上述方案中,所述存储模块,还用于对所述经过所述加水印处理后的分片进行解码,以得到多个视频帧;基于密钥对所述视频帧进行逐帧加密处理。
上述方案中,所述密钥是以携带在许可证中的形式发送的;本申请实施例提供一种视频文件的播放处理装置,还包括:生成模块,用于生成与所述视频文件标识对应的多个加密分片和用户账号的许可证;其中,所述用户账号是所述终端设备中触发所述视频文件请求的账号,所述许可证包括所述密钥和对应所述用户账号的授权播放权限。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的视频文件的播放处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的视频文件的播放处理方法。
本申请实施例具有以下有益效果:
通过对加密分片解密的方式实现视频文件的解密播放,并结合在视频文件的分片中植入的水印信息进行播放视频文件的权限验证和播放控制,实现了基于密钥和水印的双重验证,有效保证了视频文件播放的安全性。
附图说明
图1是相关技术中使用HLS协议和CDN技术加速视频播放的系统架构示意图;
图2是本申请实施例提供的视频文件的播放处理系统100的一个架构示意图;
图3A是本申请实施例提供的终端设备500的结构示意图;
图3B是本申请实施例提供的服务器200的结构示意图;
图4A是本申请实施例提供的视频文件的播放处理方法的一个流程示意图;
图4B是本申请实施例提供的视频文件的播放处理方法的一个流程示意图;
图5是本申请实施例提供的服务器的系统架构图;
图6是本申请实施例提供的视频上传的流程示意图;
图7是本申请实施例提供的视频加密的流程示意图;
图8是本申请实施例提供的视频播放的流程示意图;
图9是本申请实施例提供的视频文件播放器的架构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)介质:片方交予视频播放平台方的视频原片。
2)水印:基于内容的、非密码机制的计算机信息隐藏技术。通过将标识信息直接嵌入数字载体中,在不影响原载体的使用价值的同时,可以提供给生产方识别与辨认数字载体基本信息的数据。水印的类型包括静态水印和数字水印,其中,静态水印直接显示在视频画面当中,可以直接被人眼捕捉;数字水印使用空域算法,将水印信息加入原始视频码流中。
3)数字版权管理技术(DRM,Digital Rights Management),使用密钥对数字媒体内容进行加密保护,以限制和控制数字化媒体内容的使用权。被进行DRM加密的数字媒体需要通过数字节目授权中心获得密钥解密才能进行媒体播放,且无法对内容进行二次传播,从技术上组织了数字媒体的非法赋值,从而严密保护了内容的版权。
4)内容分发网络(CDN,Content Delivery Network),一种透过互联网相互连接的电脑系统,利用最靠近每位用户的服务器,更快、更可靠的将数字媒体数据或其他数据发送给用户,来提供高性能、可拓展及低成本的网络服务。
5)基于超文本传输协议(HTTP,Hyper Text Transfer Protocol)的流媒体网络传输协议(HLS,HTTP Live Streaming):基于HTTP的流媒体网络传输协议,可以穿过任何允许HTTP数据通过的防火墙或者拨号(dialing)服务器,可以很容易使用CDN来传输流媒体。
6)流媒体(Streaming Media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。
7)Widevine,是一种DRM数字版权管理功能,能从指定的服务器上下载经过加密的具有数字版权的文件。
8)manifest,属于AndroidManifest.xml文件,每个安卓应用程序必须有一个AndroidManifest.xml文件,在app/manifests目录中,它可以运行任何应用程序的代码。
随着互联网和计算机技术的飞速发展,流媒体技术和相关业务正变得愈加流行,其广泛应用于包括多媒体新闻发布、在线直播、网络广告、电子商务、视频点播、远程教育等各个方面,给人们的生活带来了极大的便利,但是与此同时流媒体的快速发展也带了相关的数字版权问题。
流媒体具有快速复制、传播迅速、内容获取方便、扩散途径广等特点,也使得数字版权的创造者和拥有者的合法利益遭受到了侵犯,行业发展受阻。以在线视频客户端为例,下面具体说明相关技术的保护手段及其技术问题:
1)加水印,其主要作用是将在部分标识信息直接嵌入到数字载体之中,例如在视频或者图片之中添加文字说明;然而其水印的标识信息仅作为用于进行追责的凭证,且去水印技术逐渐成熟并投入商用,用户可以以极小的代价使用现有的工具来完成水印的去除;也就是说,带水印的视频容易被去除依然存在不安全性的问题,而且依靠水印进行追责存在严重的滞后性。
2)使用在线网盘或者U盘等媒介传输视频,难以从源头上杜绝视频泄露的发生。视频的接收和管理链路漫长,涉及到的相关经手人员、角色众多,能够接触到视频的人员分属不同公司、部门、角色不一,各个环节都直接接触视频,极易造成视频泄露。而且这种方式缺乏详细的流水记录,无法有效而准确地记录视频的接触者、地点、方式等,导致一旦发生视频泄露,无法进行有效的溯源和追责。
3)视频加密,是对原有的、可直接播放的通用视频数据按照某种算法进行处理,使其变成一段完全不可直接读取的数据,通过输入相应的密钥显示出视频的原本面目。视频由于其数据量大、数据格式复杂等特点,加密解密复杂,所耗时间长,因此对于大部分视频算法加密而言,都需要特殊的硬件支持,这也导致此类算法都有各自的使用平台,存在平台壁垒,无法做到全平台通用,具有一定的局限性。
4)使用HLS协议和CDN技术。参见图1,图1是相关技术中使用HLS协议和CDN技术加速视频播放的系统架构示意图,其中,该系统架构主要由上传服务、视频转码服务、水印添加服务、存储服务和播放服务五个主要服务组成。片方首先使用上传服务上传原始的介质文件,上传成功的介质经过转码、水印服务自动处理,将原始介质转化为固定码率的、添加了水印的介质,经由存储服务进行统一的存储和分发。观众在需要进行观看时,打开视频播放链接,系统中台根据请求的目标介质,通过播放服务查找目标介质的存储地址,将其缓冲至相应的CDN中,进行加速缓冲,最终将介质数据使用HLS协议返回给浏览器,进行在线播放。将介质缓冲到CDN之中,虽然有利于加快客户端获取资源的速度,但破坏了介质的单源性,使介质同时存储于多处,增加了介质泄露的风险。
针对上述技术问题,本申请实施例提供一种视频文件的播放处理方法、装置、电子设备和计算机可读存储介质,能够提高视频文件的安全性,下面说明本申请实施例提供的视频文件的播放处理方法的示例性应用,本申请实施例提供的视频文件的播放处理方法可以由各种电子设备实施,例如可以实施为终端设备(下文中也简称为终端),也可以实施为服务器。下面,将说明电子设备实施为终端时的示例性应用。
下面,以电子设备为终端为例,说明终端实施本发明实施例提供的视频文件的播放处理方法的一个示例性的应用系统架构,参见图2,图2是本申请实施例提供的视频文件的播放处理系统100的一个架构示意图,其中,视频文件的播放处理系统100包括有:服务器200、观众持有的终端设备300和片源方持有的终端设备400。观众持有的终端设备300以及片源方持有的终端设备400通过网络连接服务器200,网络可以是广域网或者局域网,又或者是二者的组合,下面分别进行详细说明。
片源方持有的终端设备400上设有客户端,当片方账号在客户端(即片源方持有的终端设备400中的客户端)处于登录状态时,片源方持有的终端设备400接收片方账号上传的视频文件,将视频文件拆分成具有相同视频文件标识的多个分片,每个分片都可以被单独解码和播放,其中,视频文件标识用于表征分片所属的视频文件;将多个分片发送至服务器200,以使服务器200执行以下操作:将每个分片随机存储在服务器200的目录层次中以生成分片的随机地址;对分片进行转码处理;对转码处理后的分片进行加水印处理;对加水印处理后的分片进行加密处理;将随机地址中存储的分片替换成加密处理后的分片;其中,每个视频文件请求均被定向到服务器200进行响应。换句话说,在本申请实施例由于取消CDN向终端分发分片的方案,使得用户每次播放都需要向服务器请求分片,从而无法通过请求CDN中缓存的数据来播放,保证了视频文件的单源性和唯一性,以降低视频文件泄露的可能性。
观众持有的终端设备300上设有客户端,当用户账户在客户端(即观众持有的终端设备300中的客户端)中处于登录状态时,观众持有的终端设备300向服务器300发送视频文件请求至服务器200,以从服务器200获取视频文件对应的多个加密分片以及密钥;基于密钥对多个加密分片进行解密,并按照分片标识所表征的播放顺序,顺序播放解密后得到的分片;在播放的过程中提取分片中的水印信息发送至服务器200,以从服务器200获取基于水印信息得到的视频文件的权限校验结果;基于权限校验结果,对视频文件的播放执行对应的控制操作。
服务器200,接收片源方持有的终端设备400发送的具有相同视频文件标识的多个分片;将每个分片随机存储在服务器的目录层次中以生成分片的随机地址;对分片进行转码处理,以将分片的码率转换成设定码率;对转码处理后的分片进行加水印处理;基于密钥将经过加水印处理后的分片进行加密处理,以得到经过加密处理后的分片;将随机地址中存储的分片替换成经过加密处理后的分片。接收观众持有的终端设备300发送的视频文件请求;向观众持有的终端设备300发送随机地址中存储的视频文件对应的多个加密分片以及密钥,以使观众持有的终端设备300基于密钥对多个加密分片进行解密,并播放解密后得到的分片;接收观众持有的终端设备300在播放的过程中从所述分片中提取的水印信息;基于水印信息得到视频文件的权限校验结果,向观众持有的终端设备300发送权限校验结果,以使观众持有的终端设备300基于权限校验结果,对视频文件的播放执行对应的控制操作。
在一些实施例中,观众持有的终端设备300兼具上文所述的片源方持有的终端设备400的功能,同理,对于片源方持有的终端设备400的功能可以兼具观众持有的终端设备300的功能,这些功能在终端中可以采用操作系统中的功能模块、客户端或功能插件的方式实现。
作为示例,观众持有的终端设备300和片源方持有的终端设备400通过运行计算机程序来实现本申请实施例提供的视频文件的播放处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块,可以是终端中安装的第三方的应用程序,应用程序的类型可以是本地(Native)应用程序(APP,Applic ation),即需要在操作系统中安装才能运行的程序,例如上文中的客户端;应用程序的类型可以是也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;应用程序的类型可以是还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是终端设备中任意形式的应用程序、模块或插件,因此上文中记载的观众持有的终端设备300和片源方持有的终端设备400中的客户端的示例不应视为对本申请实施例的限定。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载终端等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
接下来,说明本申请实施例提供的用于实施视频文件的播放处理方法的终端设备和服务器的结构。参见图3A,图3A是本申请实施例提供的终端设备500的结构示意图,图3A所示的终端设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。终端设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3A中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的视频文件的播放处理装置可以采用软件方式实现,图3A示出了存储在存储器550中的视频文件的播放处理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:第一发送模块5551、播放模块5552、提取模块5553、控制模块5554、拆分模块5555和调试模块5556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
作为一个示例,终端设备500可以兼具如图2示出的片源方持有的终端设备400的功能和观众持有的终端设备300的功能。作为另一个示例,终端设备500实施视频文件的播放处理装置555中的第一发送模块5551、播放模块5552、提取模块5553、控制模块5554及调试模块5556时,相当于实施为图2示出的观众持有的终端设备300;终端设备500实施播放处理装置555中的拆分模块555时,相当于实施为图2示出的片源方持有的终端设备400。
参见图3B,图3B是本申请实施例提供的服务器200的结构示意图,图3B所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3B中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的视频文件的播放处理装置可以采用软件方式实现,图3B示出了存储在存储器250中的视频文件的播放处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一接收模块2551、第二发送模块2552、第二接收模块2553、校验模块2554、响应模块2555、存储模块2556、检测模块2557和生成模块2558,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
可以理解的是,本申请实施例提供的视频文件的播放处理方法可以由电子设备执行,电子设备包括但不限于服务器或终端设备。下面将结合本申请实施例提供的集成了观众持有的终端设备功能、片源方持有的终端设备功能的终端设备的示例性应用和实施,其兼具观众播放时所实现的功能以及片源方上传时所实现的功能,说明本申请实施例提供的视频文件的播放处理方法。
参见图4A,图4A是本申请实施例提供的视频文件的播放处理方法的一个流程示意图,将结合图4A示出的步骤进行说明。需要说明的是,如上文所述,本申请实施例提供的视频文件可以由终端设备中运行的各种形式计算机程序执行,例如计算机程序可以是终端设备中的客户端。
步骤101:终端设备将视频文件拆分成具有相同视频文件标识的多个分片。其中,视频文件标识用于表征分片所属的视频文件。
在一些实施例中,终端设备中的客户端上传视频文件时从服务器中申请一个视频文件标识用于表征分片属于视频文件,然后将视频文件拆分成具有相同视频文件标识的多个分片。其中,每个视频文件请求均被定向到服务器进行响应。
步骤102:终端设备将多个分片发送至服务器。
在一些实施例中,终端设备将多个分片发送至服务器,可以通过以下方式实现:向服务器逐个发送多个分片中的分片,其中,每个分片携带有分片的第一哈希值,服务器接收终端设备逐个发送的具有相同视频文件标识的多个分片中的分片,其中,每个分片携带有分片的第一哈希值;其中,视频文件标识用于表征分片所属的视频文件;对分片进行哈希处理,得到第二哈希值,当第一哈希值与第二哈希值匹配成功时,确定分片是安全的,并继续接收下一个分片;当第一哈希值与第二哈希值匹配失败时,确定分片是不安全的,并停止接收分片以及返回错误信息,以接收终端设备针对匹配失败的分片而重传的分片。
本申请实施例服务器通过哈希处理验证终端设备上传的分片的完整性,只接收未在传输途中损坏、丢失或遭他人篡改的分片,保障了视频文件的安全性和完整性。
步骤103:服务器将每个分片随机存储在服务器的目录层次中以生成分片的随机地址。
在一些实施例中,服务器针对每个分片获取一个随机数;根据随机数按照预定函数(指示随机数与随机地址之间的对应关系)获取存储分片的目标随机地址。这里的服务器为每个分片进行无目录层次的随机地址存储,既保证硬盘空间的充分利用,又增加外部入侵窃取视频文件的难度,降低视频文件内部泄露的风险。
在一些实施例中,在将每个分片随机存储在服务器的目录层次中以生成分片的随机地址之后,还可以执行以下处理:从终端设备获取视频文件的总分片数以及大小;检测已存储的分片的数量;当已存储的分片的数量与总分片数一致时,确定视频文件的所有分片全部存储成功,可见,在分片上传完成后,由服务器会再次确认视频文件的完成,保证各块分片都完整上传。
步骤104:服务器对分片进行转码处理,以将分片的码率转换成设定码率。
在一些实施例中,获取与视频文件对应的分片,按照播放时间从前到后的播放顺序(分片标识的顺序)排列。按照排列顺序基于转码参数对每个分片进行转码处理,以将视频文件转码为适合在线播放的流媒体格式。
需要说明的是,可以根据显示分辨率等参数设定码率,将分片的码率转换成设定码率能够便于在终端设备进行播放以更好地满足用户需求。
步骤105:服务器对转码处理后的分片进行加水印处理。
在一些实施例中,对转码处理后的分片进行加水印处理,可以通过以下方式实现:服务器将水印信息转换成多个水印信息字符;对转码处理后的分片进行解码处理,得到多个视频帧;从多个视频帧中,确定出与水印信息字符的数量相应的部分视频帧;将部分视频帧按照像素数据分成多个分块;将每个分块的像素数据转换成频率数据,并从频率数据中确定两个中频系数;基于两个中频数据的数量关系,修改频率数据;将修改后的频率数据转换成修改后的像素数据,将修改后的像素数据作为加水印后的视频帧的像素数据,以得到加水印处理后的视频帧。
这里,将像素数据转换成频率数据可以通过离散余弦变换(DCT,Discrete CosineTransform)实现。
在一些实施例中,对转码处理后的分片进行加水印处理,可以通过以下方式实现:将水印信息转换成水印图像;对转码处理后的分片进行解码处理,得到多个视频帧;将水印图像与每个视频帧进行叠加处理,以得到加水印处理后的视频帧。
步骤106:服务器基于密钥将经过加水印处理后的分片进行加密处理,以得到经过加密处理后的分片。
在一些实施例中,基于密钥将经过加水印处理后的分片进行加密处理,可以通过以下方式实现:对经过加水印处理后的分片进行解码,以得到多个视频帧;基于密钥对视频帧进行逐帧加密处理。
作为示例,可以采用128位或者156位的对称算法来完成加密,即加密和解密都采用相同的密钥;当然,也可以通过非对称加密算法来实现加密,即利用非对称加密算法的密钥对中的私钥来加密,相应地,密钥对中的公钥可以被发送到终端设备以用于解密。
步骤107:服务器将随机地址中存储的分片替换成经过加密处理后的分片。
作为示例,将每个分片随机存储在服务器的目录层次中以生成分片的随机地址可以通过存储服务器实现;对分片进行转码处理可以通过视频处理服务器实现;对转码处理后的分片进行加水印处理通过视频处理服务器实现;对加水印处理后的分片进行加密处理通过加密服务器实现;将随机地址中存储的分片替换成加密处理后的分片通过存储服务器实现。
这里需要说明的是,本申请实施例中将多个分片发送至服务器的终端设备实现的是片源方上传时视频文件的功能,此时,终端设备的客户端处于片方账号的登录状态。
在本申请实施例中,将随机地址中存储的分片替换成加密处理后的分片,即服务器删除未经加密的分片,用户无法直接通过视频缓存播放视频等方式,保证了原始视频的唯一性,原始视频上传后进行孤岛存储,通过减少视频存储地点,降低视频泄露的可能性。
在一些实施例中,参见图4B,图4B是本申请实施例提供的视频文件的播放处理方法的一个流程示意图,将结合图4B示出的步骤进行说明。
在步骤201中,终端设备发送视频文件请求至服务器。
在一些实施例中,用户账号在终端设备中的客户端中处于登录状态时,客户端发送视频文件请求,以从服务器获取视频文件对应的多个加密分片以及密钥。这里的用户账号对应观众,终端设备实现了视频文件的播放功能,视频文件请求用于请求播放视频文件。
在一些实施例中,在发送视频文件请求以获取视频文件对应的多个加密分片以及密钥之前,还可以执行以下处理:终端设备对视频文件请求的用户账号进行登录态验证。
以终端设备中运行视频客户端为例,当用户在视频客户端中输入用户账号和密码登录成功后,视频客户端生成登录态令牌,这个登录态令牌是一种身份和状态的标志,即用户在发送视频文件请求时,直接验证登录态令牌从而确定发送视频文件请求是用户的需求,在登录态验证通过后,将视频文件请求发送至服务器,以从服务器获取视频文件对应的多个加密分片以及密钥。
本申请实施例中,终端设备获取视频文件对应的多个加密分片以及密钥需要经过客户端的登录态验证以及服务器的权限验证,为视频文件的安全进行双重保障。
在步骤202,服务器向终端设备发送视频文件对应的多个加密分片以及密钥。
在一些实施例中,当用户账号具有对应视频文件的播放权限时,服务器根据视频文件请求携带的视频文件标识,向终端设备发送携带了视频文件标识的多个加密分片和密钥,其中视频文件标识是用于表征视频文件的唯一标识。
在一些实施例中,服务器接收到终端设备发送的视频文件请求后,对触发视频文件请求的用户账号进行权限验证,查询数据库中是否记录了用户账号具有对应视频文件的播放权限,当用户账号具有对应视频文件的播放权限时,确定将响应视频文件请求,即向终端设备发送视频文件对应的多个加密分片以及密钥。
在一些示例中,终端设备发送视频文件请求至服务器,服务器获取触发该视频文件请求的用户账号携带的播放权限,播放权限包括:允许播放的视频列表、允许播放时间/次数,有效期等参数。对触发视频文件请求的用户账号进行权限验证包括:验证允许观看的视频列表中是否包括请求的视频文件、用户账号的播放次数/播放时间是否未超出允许播放时间/次数、播放的日期是否在有效期内。当允许观看的视频列表中包括请求的视频文件、用户账号的播放次数/播放时间未超出允许播放时间/次数、且播放的日期在有效期内时,确定用户账号具有对应视频文件的播放权限,向终端设备发送视频文件对应的多个加密分片以及密钥。
在步骤203中,终端设备基于密钥对多个加密分片进行解密,并播放解密后得到的分片。
在一些实施例中,密钥是以携带在许可证中的形式被发送的,许可证包括授权播放权限。当权限验证通过时,终端设备能够基于密钥对多个加密分片进行解密。
在一些示例中,终端设备基于许可证中的授权播放权限对触发视频文件播放请求的用户账号进行权限验证,包括:验证授权播放权限中的用户账号是否与触发视频文件请求的用户账号一致,且用户账号的播放次数/播放日期未超出允许播放次数/允许播放日期。当权限验证通过时,基于许可证中的密钥对多个加密分片进行解密,并调用终端设备中的播放器按照分片标识所表征的播放顺序,顺序播放解密后得到的分片。需要说明的是,许可证除了包括密钥,还包括授权播放权限,例如允许播放的用户账号、允许播放次数、允许播放日期等。
在一些示例中,参见图9,图9是本申请实施例提供的视频文件的播放处理装置的播放模块的架构示意图。其中,播放模块包括播放器模块、权限验证模块。权限验证模块根据许可证中的授权播放权限来对用户账号进行播放权限的验证,当验证通过时将视频文件的加密分片和密钥发送给播放器模块;从而播放器模块能够基于许可证中的密钥对视频文件的加密分片进行解密,并按照分片标识所表征的播放顺序,顺序播放解密后得到的分片。
在步骤204中,终端设备在播放的过程中提取分片中的水印信息,并发送至服务器。
在一些实施例中,当水印信息是以数字水印的方式携带在分片中时,终端设备在播放的过程中提取分片中的水印信息,可以通过以下方式来实现:确定分片中嵌入有数字水印的多个视频帧;针对每个视频帧执行以下操作:将视频帧按照像素数据拆分成多个分块,将每个分块中的像素数据转换成频率数据,并从频率数据中确定两个中频系数(中频系数表征图像的边缘结构,决定了图像的基本结构);基于两个中频系数的数量关系,确定视频帧携带的水印信息字符;将每个视频帧携带的水印信息字符整合为水印信息。
举例来说,基于两个中频系数的数量关系,确定视频帧携带的水印信息字符,可以通过以下方式实现:当第一中频系数大于第二中频系数时,确定视频帧携带的水印信息字符为1,当第一中频系数小于和等于第二中频系数时,确定视频帧携带的水印信息字符为0。
举例来说,在对触发视频请求的用户账号进行权限验证后,在终端设备中的客户端进行视频播放,即在视频播放过程中,无论用户(观众)账号是否有播放权限,都会播放第1个分片,此时终端设备会对分片中的水印信息进行权限校验;一旦基于第1个分片的水印信息确定出权限检验结果为用户账号没有播放权限时,则停止播放第1个分片,并且也不会播放后续的分片,此时终端设备至少播放了第1分片中的一部分。
需要说明的是,水印信息的识别是依赖于播放时显示的图像/播放时解码出的数据,所以至少需要播放分片的一部分才能进行校验。
在本申请实施例中,水印信息包括的视频文件的播放权限是以非可视化的方式嵌入的,具有良好的隐蔽性,不以被发觉,从而即使在分片的密钥泄露时,也能够基于水印验证及时中止非法盗版的播放。
在一些实施例中,当水印信息是以静态水印的方式携带在分片中时,终端设备在播放的过程中提取分片中的水印信息,可以通过以下方式来实现:在播放解密后得到的分片的播放过程中进行截图操作;对截图进行字符识别处理,以获得所述截图中的水印信息。
在本申请实施例中,水印信息包括的视频文件的播放权限是以可视化的方式直观的反映在视频帧中的,不但可以供服务器以图像识别的方式提取水印信息来进行验证,也方便人工方式进行复核。
在步骤205中,服务器基于水印信息获取视频文件的权限校验结果,向终端设备发送权限校验结果。
在一些实施例中,以基于水印信息获取视频文件的权限校验结果,可以通过以下方式实现:将水印信息发送至服务器,以使服务器执行以下操作:当水印信息中的播放权限与视频文件的用户账号的授权播放权限匹配成功时,确定用户账号有播放权限;当水印信息与视频文件请求的用户账号匹配失败时,确定用户账号没有播放权限;接收服务器发送的表征用户账号是否有播放权限的权限校验结果。
需要说明的是,水印信息包括视频文件的播放权限,视频文件的播放权限包括允许播放账号、允许播放时间、允许播放次数。其中,用户账号的授权播放权限是服务器向用户账号下发的许可证中携带的信息。
本申请实施例中,避免相关技术中使用数字版权管理播放视频时,密钥相关信息被黑客破解后造成大量的盗版视频的传播,通过水印信息对播放中的视频文件进行权限校验,提高视频文件的安全性。
在一些实施例中,服务器基于水印信息获取视频文件的权限校验结果,向终端设备发送权限校验结果可以通过以下方式实现:当水印信息包括的播放权限与触发视频文件请求的用户账号的授权播放权限匹配成功时,确定用户账号有播放权限;当水印信息与触发视频文件请求的用户账号的授权播放权限匹配失败时,确定用户账号没有播放权限;服务器向终端设备发送表征用户账号是否有播放权限的权限校验结果。
在步骤206中,终端设备基于权限校验结果,对视频文件的播放执行对应的控制操作。
在一些实施例中,可以通过以下方式实现:当视频文件的用户账号没有播放权限时,停止播放视频文件的分片;当视频文件的用户账号有播放权限时,继续播放视频文件的已经解密的分片。这里,停止播放视频文件的分片时还可以提示停止原因,例如,缺少播放权限,又例如,账户已过期。
在一些实施例中,对用于播放视频文件的播放器的运行环境进行调试工具检测处理;当检测播放器的运行环境中的调试工具被打开时,控制播放器执行死循环程序操作以屏蔽基于调试工具的调试操作,并将打开调试工具的行为数据上报至服务器。这里,播放器可以是专用APP或浏览器等。
本申请实施例中,服务器可以通过调试工具检测处理有效控制黑客的盗取视频文件的行为,并且能够依据上报的行为数据标记潜在黑客。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。以视频客户端为例,当片源方登录视频客户端时接收其上传的视频,视频客户端将视频拆分成具有相同视频标识的多个分片;将多个分片发送至后台服务器,后台服务器对每个分片进行转码、加水印、加密一系列处理,并将加密处理后分片随机存储在后台服务器的目录层次中以生成分片的随机地址,以保证片源方上传的视频的安全性。当普通观众登录时接收视频客户端向后台服务器发送视频请求,以从后台服务器获取视频对应的多个加密分片以及密钥;基于密钥对多个加密分片进行解密播放;在播放的过程中提取分片中的水印信息发送至后台服务器,以从后台服务器获取是否具备播放权限的权限校验结果,当视频的用户账号没有播放权限时,停止播放,在用户账户被盗用时,通过水印信息再次验证其播放权限,以保证视频的安全性。下面针对本申请实施例提供的视频文件的播放处理方法的系统架构进行详细说明,参见图5,图5是本申请实施例提供的服务器的系统架构图。其中,其系统架构主要分为三层:接入层、逻辑层和数据层。
接入层与用户直接交互,主要进行用户身份验证、安全控制与逻辑层服务调用等等。根据用户的身份不同,接入层分为外网接入服务和内网接入服务。外网接入服务主要针对视频客户端的使用方,如片源方(上传视频的用户)和观众(播放视频的用户)等,由于该类用户大多数使用公有网络,其行为与网络不完全可控,为了保证系统安全,接入层在必要的身份登录验证之外,还需要进行频率控制,防止恶意暴刷接口。内网接入服务针对视频客户端的管理方,主要对管理人员进行严格的权限控制,保证视频安全。
逻辑层是主要的逻辑实现层,以远程过程调用(RPC,Remote Procedure Call)服务的形式存在,相互之间进行调用,完成整个视频上传、交付的全流程服务,主要包括存储服务、流水服务、视频处理服务、加密服务、密钥管理服务、水印监控服务、权限服务和用户服务。其中,存储服务将上传的视频原片以视频分片的形式进行存储,存储服务将原本完整的视频原片拆分为多个分片进行无目录层次的随机地址存储,降低视频原片内部泄露的风险;流水服务根据用户的登录信息,记录用户的播放行为;视频处理服务提供对视频的转码、水印增加服务(将针对该视频的授权用户信息制作成水印并添加在该视频中,即,将视频与水印信息包括的授权播放权限进行关联,视频的水印中携带的授权播放权限包括允许播放账号、允许播放时间、次数等);加密服务和密钥管理服务,主要提供对于视频的加密和解密播放服务;水印监控服务则对每个视频的水印(数字水印或静态水印)通过服务上报的形式进行实时监控,即,在后续播放过程中,针对播放的视频的水印中携带的授权播放权限进行实时的水印验证;权限服务,针对用户账户进行相应的权限验证操作;用户服务,针对用户的操作进行相应的响应。
数据层,由关系型数据库管理系统MySQL、远程字典服务(Redis,RemoteDictionary Server)类库文件组成,负责对数据库中的数据进行添加、删除、修改和查询等操作,并将数据传递给逻辑层进行处理。
本申请实施例的主要流程包括:视频上传、视频加密、视频播放,下面进行详细说明。参见图6,图6是本申请实施例提供的视频上传的流程示意图。具体步骤如下:
步骤601:视频客户端接收片源方上传的视频。接收在片源方完成登录验证之后,视频客户端接收片源方上传的视频原片。
步骤602:视频客户端请求初始化视频。对于需要上传的原始视频,视频客户端会首先请求存储服务为每一个视频申请一个唯一的视频标识ID(即视频文件标识),用以标识原始视频。
步骤603:存储服务返回视频ID。存储服务返回视频ID至视频客户端。
步骤604:视频客户端上传分片。原始视频会被拆分成多个相同大小的分片,视频客户端一次读取视频中一个分片进行一次上传,通过存储服务进行一次上传。
步骤605:存储服务验证上传分片的完整。若是上传成功,则读取下一个分片,若是上传失败,则启动重试机制,重新上传该分片数据直至成功。根据分片大小,将分片存储在服务器的随机存储空间(不同的地址)中,一来保证硬盘空间的充分利用,二来增加外部入侵窃取视频的难度。视频服务器在接收到分片数据校验完毕后,为每个分片生成一个无序的随机字符作为分片标识ID,用来标记该分片的播放顺序。完成分片上传的视频后,后台服务器会再次确认视频的完成,保证各块分片都完整上传,至此用户的视频交付环节结束,存储服务根据传入的总分片数、总大小等信息,去检查各个分片的状态,保证视频已经完整上传。在确保分片存储成功之后,记录下视频ID和分片ID的映射,用于后期寻找、组装分片。
步骤606:视频客户端通知视频处理服务处理视频。当视频完整上传后,视频客户端便通知服务器的视频处理服务对上传的原始视频进行转码、加水印处理。
步骤607:视频处理服务从存储服务获取待处理分片。视频客户端会将先前存储的视频ID传递给视频处理服务,作为标识目标视频的依据,由视频处理服务去存储服务获取上传的视频ID对应的分片。
步骤608:存储服务返回分片。存储服务返回相应的视频分片到视频处理服务。
步骤609:视频处理服务对分片进行转码、加水印。视频处理服务对上传的视频分片进行码率转化、加水印处理,用以将原始视频转化为标准码率的、便于在视频客户端播放的视频,重新写入存储服务当中。其中,在加水印环节,可以采用静态水印和数字水印结合的方法,静态水印直接显示在视频画面当中,可以直接被人眼捕捉;而数字水印使用空域算法,将水印信息加入原始视频码流中。空域算法将原始的视频信号视为一维信号,将水印信号拓展,放大和调和为一拟随机序列,直接加入到视频的度量分量之上。
步骤610:视频处理服务将分片重新写入存储服务。视频处理服务将分片重新写入存储服务对应的随机地址中。
步骤611:视频处理服务上报。视频服务进行加水印处理后将每个视频的水印(数字水印和/或静态水印)上报至水印监控服务进行实时监控。
步骤612:视频处理服务通知视频处理完毕。视频处理服务处理完毕后,通知视频客户端处理完毕。
需要说明的是,这里存储服务、视频处理服务、水印监控服务的功能是服务器中运行的。为了保证分片数据的完整性和安全性,视频客户端在上传分片时,同时还会附带该段数据的哈希值,存储服务在接收到数据后,会对上传的数据进行哈希处理,得到对应的哈希值,与视频客户端上传的哈希值进行比较,若对比无误,则表示数据安全,未在传输途中损坏、丢失或遭他人篡改,保障了视频的安全性和完整性。同时,上传分片时,由于每块分片大小固定,可以提前得知每块分片的起始位置,使用多线程的方式同时对多个分片进行传输,加快文件上传速度。
参见图7,图7是本申请实施例提供的视频加密的流程示意图。具体步骤如下:
步骤701:视频客户端发起视频加密通知。视频客户端在收到视频服务的完成视频处理的通知后,进行对于视频的加密操作,由视频客户端发出通知,将视频ID传递给加密服务。
步骤702:加密服务获取待加密视频。加密服务通过视频ID去存储服务获取目标视频经过转码、加水印后的分片。
步骤703:存储服务返回待加密分片。存储服务将经过转码、加水印后的分片作为待加密分片,返回至加密服务中。
步骤704:加密服务发起注册。加密服务依赖密钥管理服务,在请求加密分片的同时密钥管理服务根据视频ID生成加密密钥,并对其进行注册。
步骤705:密钥管理服务返回密钥。密钥管理服务将生成的密钥返回给加密服务。
步骤706:加密服务对分片加密。加密服务获得密钥之后,开始对视频分片进行逐帧的加密处理。由于按帧加密的加密方式是针对视频帧数据进行,因此外部的视频传输协议对数据是否进行加密毫无感知,这也使得加密后的数据可以进行正常的封装,不影响之后的步骤。本申请实施例可以使用通用于谷歌浏览器Chrome内核的Widevine来实现加密功能,该方案适用于Chrome、QQ浏览器以及安卓Android移动端,符合本申请实施例的主要应用场景。
步骤707:加密服务写入加密分片。加密服务将加密分片写入存储服务的随机地址中。
步骤708:加密服务通知加密完成。加密服务生成manifest文件,用以记录加密使用的DRM方案、视频ID、加密算法等一系列信息。播放器在进行播放时,可以通过此类信息和解密密钥对加密的视频进行播放。
步骤709:视频客户端发起删除未加密的视频的通知。最后加密服务通知视频客户端加密完成,视频客户端通知存储服务删除未经加密的原始视频,使得视频以孤岛形式存储,保证视频的唯一性。
需要说明的是,这里存储服务、加密服务、密钥管理服务的功能是服务器中运行的。
参见图8,图8是本申请实施例提供的视频播放的流程示意图。具体步骤如下:
步骤801:视频客户端接收观众播放视频的请求。在观众登陆视频客户端后,视频客户端接收观众发送的视频的播放请求(申请播放视频)。
步骤802:视频客户端进行登录态验证。视频客户端收到播放申请后对用户(即观众)的登录态进行校验,保证用户是来自于视频客户端的合法用户。当确定用户来自合法用户后,向权限服务发起权限验证。
步骤803:视频客户端发起权限验证。视频客户端将用户身份信息发送给权限服务,由权限服务对用户所具有的权限进行校验鉴权,判断目标用户是否具有对请求视频的播放权限。
步骤804:权限服务获取密钥。当权限校验通过后,根据播放请求中携带的视频ID等信息去密钥管理服务获取解密密钥。
步骤805:权限服务返回密钥。密钥管理服务将密钥以许可证的形式发送权限服务,权限服务将其返回给视频客户端。其中,许可证包括授权播放权限(即允许播放账号、允许播放时间及允许播放次数等)。
步骤806:权限服务获取加密视频。在获取密钥的同时,权限服务去存储服务请求目标视频的存储资源,以获取加密视频。
步骤807:权限服务返回加密视频。权限服务从存储服务以分片形式有序获取的视频分片返回给视频客户端。
步骤808:视频客户端进行解密播放。视频客户端收到密钥和视频分片后,即可用该密钥进行视频分片解密并进行播放,视频客户端在播放的同时,在视频上显示动态水印,进一步提高视频安全性。
步骤809:视频客户端进行水印验证。在播放过程中,视频客户端获取视频中的水印(数字水印或静态水印),根据水印中携带的授权播放权限(允许播放账号、允许播放时间及允许播放次数),验证当前播放的用户账户的授权播放权限是否与水印中携带的授权播放权限相匹配(例如,验证授权用户账户是否与水印中携带的允许播放账户一致),若是,则验证通过,继续播放;若否,则中止播放。
需要说明的是,这里权限服务、存储服务、密钥管理服务的功能是服务器中运行的。
在本申请实施例中,1)规范化了视频交付流程,提供了详细的环节操作记录本发明提供了一套详细而规范化的视频上传流程,解决了原始视频交付流程混乱、视频交付手段安保性低等问题。在视频交付的各个步骤,进行了详细的行为日志记录,做到有迹可循,强化平台对于整个过程的可控度。2)保证了原始视频的唯一性,从源头上减少视频泄露的几率取消CDN,用户无法直接通过视频缓存播放视频等方式,保证了原始视频的唯一性,原始视频上传后进行孤岛存储,通过减少视频存储地点,降低视频泄露的可能性。3)增加了视频技术盗取壁垒,提高了视频安全性使用DRM加密处理技术,对原始视频进行加密处理。任何用户的播放请求都必须经过权限校验以获取视频播放密钥进行解密播放。视频的加密致使用户无法利用浏览器缓存进行视频的非法复制和传播,提高了视频的安全性。4)更好的进行了视频来源标志,有利于视频来源追踪使用多重水印的方式,对视频交付过程中的各个环节进行有效标记,在发生视频泄露时,水印监控服务器可以根据水印信息精准而快速的实时监控并记录出现问题的人员,进行追责。
需要说明的是,为了防止用户打开视频客户端控制台,通过查看前端源代码等行为意图进行视频的盗取,可以执行以下方式:
1)前端代码在编译部署时,使用开源工具将代码改为写由“[]()!+”等六个字符组成的人类不可读的文本信息,这类信息在编译后依旧可以被计算机正确执行,但对人类而言基本完全不可理解,也几乎无法通过技术手段将其复原为原始代码。经过如此处理,前端代码部署发布之后,用户在控制台看到的前端代码文件也将会是上述字符组成的乱码,无法理解,从而大大增大了破解、盗取视频的难度。
2)前端代码会不断检测浏览器是否打开了调试工具,如检测到调试工具,则死循环程序断点,造成黑客无法对代码进行调试;并且打开调试工具的行为会上报到后台服务器进行记录,标记那些有可能的、潜在的黑客。
下面结合图3A和图3B说明本申请实施例提供的视频文件的播放处理装置实施为软件模块的示例性结构,在一些实施例中,如图3A所示,存储在存储器550的视频文件的播放处理装置555中的软件模块可以包括:
第一发送模块5551,用于发送视频文件请求,以获取视频文件对应的多个加密分片以及密钥;播放模块5552,用于基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;提取模块5553,用于在播放的过程中提取所述分片中的水印信息,以基于所述水印信息获取所述视频文件的权限校验结果;控制模块5554,用于基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
在一些实施例中,所述提取模块5553,还用于将所述水印信息发送至服务器,以使服务器执行以下操作:当所述水印信息中的播放权限与所述视频文件的用户账号的授权播放权限匹配成功时,确定所述用户账号有所述播放权限;当所述水印信息与所述视频文件请求的用户账号匹配失败时,确定所述用户账号没有所述播放权限;接收所述服务器发送的表征所述用户账号是否有所述播放权限的权限校验结果。
在一些实施例中,所述控制模块5554,还用于当所述视频文件的用户账号没有播放权限时,停止播放所述视频文件的分片;当所述视频文件的用户账号有播放权限时,继续播放所述视频文件的已经解密的分片。
在一些实施例中,所述第一发送模块5551,还用于向服务器发送所述视频文件请求,以使所述服务器执行以下操作:对触发所述视频文件请求的用户账号进行权限验证,当所述用户账号具有对应所述视频文件的播放权限时,根据所述视频文件请求携带的视频文件标识,发送与所述视频文件标识对应的视频文件的多个加密分片和密钥;接收所述视频文件的多个加密分片和密钥。
在一些实施例中,所述提取模块5553,还用于确定所述分片中嵌入有数字水印的多个视频帧;针对每个所述视频帧执行以下操作:将所述视频帧拆分成多个分块,将每个所述分块中的像素数据转换成频率数据,并从所述频率数据中确定两个中频系数;基于所述两个中频系数的数量关系,确定所述视频帧携带的水印信息字符;将每个所述视频帧携带的水印信息字符整合为水印信息。
在一些实施例中,所述提取模块5553,还用于在播放解密后得到的分片的播放过程中进行截图操作;对所述截图操作得到的截图进行字符识别处理,以获得所述截图中的水印信息。
在一些实施例中,本申请实施例提供一种视频文件的播放处理装置,还包括:拆分模块5555,用于将所述视频文件拆分成具有相同视频文件标识的多个分片,其中,所述视频文件标识用于表征所述分片属于所述视频文件;将所述多个分片发送至服务器,以使所述服务器执行以下操作:将每个所述分片随机存储在所述服务器的目录层次中以生成所述分片的随机地址;对所述分片进行转码处理;对所述转码处理后的分片进行加水印处理;对所述加水印处理后的分片进行加密处理;将所述随机地址中存储的分片替换成所述加密处理后的分片;其中,每个所述视频文件请求均被定向到所述服务器进行响应。
在一些实施例中,所述第一发送模块5551,还用于向所述服务器逐个发送所述多个分片中的分片,其中,每个所述分片携带有所述分片的第一哈希值,以使所述服务器执行以下操作:对所述分片进行哈希处理,得到第二哈希值,当所述第一哈希值与所述第二哈希值匹配成功时,确定所述分片是安全的,并继续接收下一个分片;当所述第一哈希值与所述第二哈希值匹配失败时,确定所述分片是不安全的,并停止接收所述分片以及返回错误信息,以接收终端设备针对匹配失败的分片而重传的分片。
在一些实施例中,所述密钥是以携带在许可证中的形式被发送的,所述许可证包括授权播放权限;所述播放模块5552,还用于基于所述许可证中的所述授权播放权限对触发所述视频文件请求的用户账号进行权限验证;当所述权限验证通过时,基于所述许可证中的所述密钥对所述多个加密分片进行解密,并调用播放器播放解密后得到的分片。
在一些实施例中,本申请实施例提供一种视频文件的播放处理装置,还包括:调试模块5556,用于对用于播放所述视频文件的播放器的运行环境进行调试工具检测处理;当检测到调试工具被打开时,控制所述播放器执行死循环程序操作以屏蔽基于所述调试工具的调试操作,并将打开所述调试工具的行为数据上报至服务器。
在一些实施例中,如图3B所示,存储在存储器250的视频文件的播放处理装置255中的软件模块可以包括:
第一接收模块2551,用于接收终端设备发送的视频文件请求;第二发送模块2552,用于向所述终端设备发送视频文件对应的多个加密分片以及密钥,以使所述终端设备基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;第二接收模块2553,用于接收所述终端设备在播放的过程中从所述分片中提取的水印信息;校验模块2554,用于基于所述水印信息获取所述视频文件的权限校验结果,向所述终端设备发送所述权限校验结果,以使所述终端设备基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
在一些实施例中,所述校验模块2554,还用于当所述水印信息包括的播放权限与触发所述视频文件请求的用户账号的授权播放权限匹配成功时,确定所述用户账号有所述播放权限;当所述水印信息与触发所述视频文件请求的用户账号的授权播放权限匹配失败时,确定所述用户账号没有所述播放权限;以向终端设备发送表征所述用户账号是否有所述播放权限的权限校验结果。
在一些实施例中,本申请实施例提供一种视频文件的播放处理装置,还包括:响应模块2555,用于对触发所述视频文件请求的用户账号进行权限验证,当所述用户账号具有对应所述视频文件的播放权限时,确定将响应所述视频文件请求。
在一些实施例中,本申请实施例提供一种视频文件的播放处理装置,还包括:存储模块2556,用于接收所述终端设备发送的具有相同视频文件标识的多个分片,其中,所述视频文件标识用于表征所述分片属于所述视频文件;将每个所述分片随机存储在服务器的目录层次中以生成所述分片的随机地址;对所述分片进行转码处理,以将所述分片的码率转换成设定码率;对所述转码处理后的分片进行加水印处理;基于密钥将经过所述加水印处理后的分片进行加密处理,以得到经过所述加密处理后的分片;将所述随机地址中存储的分片替换成经过所述加密处理后的分片。
在一些实施例中,所述存储模块2556,还用于接收所述终端设备逐个发送的所述多个分片中的分片,其中,每个所述分片携带有所述分片的第一哈希值;对所述分片进行哈希处理,得到第二哈希值,当所述第一哈希值与所述第二哈希值匹配成功时,确定所述分片是安全的,并继续接收下一个分片;当所述第一哈希值与所述第二哈希值匹配失败时,确定所述分片是不安全的,并停止接收所述分片以及返回错误信息,以接收终端设备针对匹配失败的分片而重传的分片。
在一些实施例中,本申请实施例提供一种视频文件的播放处理装置,还包括:检测模块2557,用于获取所述视频文件的总分片数;检测已存储的分片的数量;当所述已存储的分片的数量与所述总分片数一致时,确定所述视频文件的所有分片全部存储成功。
在一些实施例中,所述存储模块2556,还用于将水印信息转换成多个水印信息字符;对所述转码处理后的分片进行解码处理,得到多个视频帧;从所述多个视频帧中,确定出与所述水印信息字符的数量相应的部分视频帧;将所述部分视频帧分成多个分块;将每个所述分块的像素数据转换成频率数据,并从所述频率数据中确定两个中频系数;基于所述两个中频数据的数量关系,修改所述频率数据;将修改后的频率数据转换成修改后的像素数据,将所述修改后的像素数据作为加水印后的视频帧的像素数据,以得到加水印处理后的视频帧。
在一些实施例中,所述存储模块2556,还用于将水印信息转换成水印图像;对所述转码处理后的分片进行解码处理,得到多个视频帧;将所述水印图像与每个所述视频帧进行叠加处理,以得到加水印处理后的视频帧。
在一些实施例中,所述存储模块2556,还用于对所述经过所述加水印处理后的分片进行解码,以得到多个视频帧;基于密钥对所述视频帧进行逐帧加密处理。
在一些实施例中,所述密钥是以携带在许可证中的形式发送的;本申请实施例提供一种视频文件的播放处理装置,还包括:生成模块2558,用于生成与所述视频文件标识对应的多个加密分片和用户账号的许可证;其中,所述用户账号是所述终端设备中触发所述视频文件请求的账号,所述许可证包括所述密钥和对应所述用户账号的授权播放权限。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的视频文件的播放处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的视频文件的播放处理方法,例如,如图4A、4B示出的视频文件的播放处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例通过水印信息对播放中的视频文件进行权限校验,提高了视频文件的安全性,避免相关技术中使用数字版权管理播放视频时,密钥相关信息被黑客破解后造成大量的盗版视频的传播;取消CDN,用户无法直接通过视频缓存播放视频等方式,保证了原始视频的唯一性,原始视频上传后进行孤岛存储,通过减少视频存储地点,降低视频泄露的可能性;使用多重水印的方式,对视频交付过程中的各个步骤进行有效标记,在发生视频泄露时,水印监控服务器可以根据水印信息精准而快速的实时监控并记录出现问题的人员,进行追责。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种视频文件的播放处理方法,其特征在于,包括:
发送视频文件请求,以获取视频文件对应的多个加密分片以及密钥;
基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;
在播放的过程中提取所述分片中的水印信息,以基于所述水印信息获取所述视频文件的权限校验结果;
基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
2.根据权利要求1所述的方法,其特征在于,
所述以基于所述水印信息获取所述视频文件的权限校验结果,包括:
将所述水印信息发送至服务器,以使服务器执行以下操作:当所述水印信息中的播放权限与所述视频文件的用户账号的授权播放权限匹配成功时,确定所述用户账号有所述播放权限;当所述水印信息与所述视频文件请求的用户账号匹配失败时,确定所述用户账号没有所述播放权限;
接收所述服务器发送的表征所述用户账号是否有所述播放权限的权限校验结果。
3.根据权利要求1所述的方法,其特征在于,基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作,包括:
当所述视频文件的用户账号没有播放权限时,停止播放所述视频文件的分片;
当所述视频文件的用户账号有播放权限时,继续播放所述视频文件的已经解密的分片。
4.根据权利要求1所述的方法,其特征在于,所述发送视频文件请求,以获取视频文件对应的多个加密分片以及密钥,包括:
向服务器发送所述视频文件请求,以使所述服务器执行以下操作:对触发所述视频请求的用户账号进行权限验证,当所述用户账号具有对应所述视频文件的播放权限时,根据所述视频请求携带的视频文件标识,发送与所述视频文件标识对应的视频文件的多个加密分片和密钥;
接收所述视频文件的多个加密分片和密钥。
5.根据权利要求1所述的方法,其特征在于,当所述水印信息是以数字水印的方式携带在所述分片中时,所述在播放的过程中提取所述分片中的水印信息,包括:
确定所述分片中嵌入有数字水印的多个视频帧;
针对每个所述视频帧执行以下操作:
将所述视频帧拆分成多个分块,将每个所述分块中的像素数据转换成频率数据,并从所述频率数据中确定两个中频系数;
基于所述两个中频系数的数量关系,确定所述视频帧携带的水印信息字符;
将每个所述视频帧携带的水印信息字符整合为水印信息。
6.根据权利要求1所述的方法,其特征在于,当所述水印信息是以静态水印的方式携带在所述分片中时,所述在播放的过程中提取所述分片中的水印信息,包括:
在播放解密后得到的分片的播放过程中进行截图操作;
对所述截图操作得到的截图进行字符识别处理,以获得所述截图中的水印信息。
7.根据权利要求1所述的方法,其特征在于,
发送所述视频文件请求之前,所述方法还包括:
将所述视频文件拆分成具有相同视频文件标识的多个分片,其中,所述视频文件标识用于表征所述分片属于所述视频文件;
将所述多个分片发送至服务器,以使所述服务器执行以下操作:将每个所述分片随机存储在所述服务器的目录层次中以生成所述分片的随机地址;对所述分片进行转码处理;对所述转码处理后的分片进行加水印处理;对所述加水印处理后的分片进行加密处理;将所述随机地址中存储的分片替换成所述加密处理后的分片;
其中,每个所述视频文件请求均被定向到所述服务器进行响应。
8.根据权利要求7所述的方法,其特征在于,所述将所述多个分片发送至服务器,包括:
向所述服务器逐个发送所述多个分片中的分片,其中,每个所述分片携带有所述分片的第一哈希值,以使所述服务器执行以下操作:
对所述分片进行哈希处理,得到第二哈希值,当所述第一哈希值与所述第二哈希值匹配成功时,确定所述分片是安全的,并继续接收下一个分片;当所述第一哈希值与所述第二哈希值匹配失败时,确定所述分片是不安全的,并停止接收所述分片以及返回错误信息,以接收终端设备针对匹配失败的分片而重传的分片。
9.根据权利要求1所述的方法,其特征在于,
所述密钥是以携带在许可证中的形式被发送的,所述许可证包括授权播放权限;
所述基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片,包括:
基于所述许可证中的所述授权播放权限对触发所述视频文件请求的用户账号进行权限验证;
当所述权限验证通过时,基于所述许可证中的所述密钥对所述多个加密分片进行解密,并调用播放器播放解密后得到的分片。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对用于播放所述视频文件的播放器的运行环境进行调试工具检测处理;
当检测所述播放器的运行环境中的调试工具被打开时,控制所述播放器执行死循环程序操作以屏蔽基于所述调试工具的调试操作,并将打开所述调试工具的行为数据上报至服务器。
11.一种视频文件的播放处理方法,其特征在于,包括:
接收终端设备发送的视频文件请求;
向所述终端设备发送视频文件对应的多个加密分片以及密钥,以使所述终端设备基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;
接收所述终端设备在播放的过程中从所述分片中提取的水印信息;
基于所述水印信息获取所述视频文件的权限校验结果,向所述终端设备发送所述权限校验结果,以使所述终端设备基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
12.根据权利要求11所述的方法,其特征在于,在所述接收终端设备发送的视频文件请求之前,所述方法还包括:
接收所述终端设备发送的具有相同视频文件标识的多个分片,其中,所述视频文件标识用于表征所述分片属于所述视频文件;
将每个所述分片随机存储在服务器的目录层次中以生成所述分片的随机地址;
对所述分片进行转码处理,以将所述分片的码率转换成设定码率;
对所述转码处理后的分片进行加水印处理;
基于密钥将经过所述加水印处理后的分片进行加密处理,以得到经过所述加密处理后的分片;
将所述随机地址中存储的分片替换成经过所述加密处理后的分片。
13.一种视频文件的播放处理装置,其特征在于,包括:
第一发送模块,用于发送视频文件请求,以获取视频文件对应的多个加密分片以及密钥;
播放模块,用于基于所述密钥对所述多个加密分片进行解密,并播放解密后得到的分片;
提取模块,用于在播放的过程中提取所述分片中的水印信息,以基于所述水印信息获取所述视频文件的权限校验结果;
控制模块,用于基于所述权限校验结果,对所述视频文件的播放执行对应的控制操作。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的视频文件的播放处理方法,或权利要求11至12任一项所述的视频文件的播放处理方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,所述可执行指令用于被处理器执行时,实现权利要求1至10任一项所述的视频文件的播放处理方法,或权利要求11至12任一项所述的视频文件的播放处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552579.4A CN113411638A (zh) | 2020-12-24 | 2020-12-24 | 视频文件的播放处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552579.4A CN113411638A (zh) | 2020-12-24 | 2020-12-24 | 视频文件的播放处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113411638A true CN113411638A (zh) | 2021-09-17 |
Family
ID=77675728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011552579.4A Pending CN113411638A (zh) | 2020-12-24 | 2020-12-24 | 视频文件的播放处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411638A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810778A (zh) * | 2021-10-21 | 2021-12-17 | 深圳Tcl新技术有限公司 | 监控视频处理方法、装置、存储介质及电子设备 |
CN114205655A (zh) * | 2021-12-09 | 2022-03-18 | 中国电影科学技术研究所 | 数字电影拷贝分发方法及系统 |
CN114285565A (zh) * | 2021-12-29 | 2022-04-05 | 观源(上海)科技有限公司 | 一种密码资源池的调度系统 |
CN114745566A (zh) * | 2022-04-15 | 2022-07-12 | 北京搜狐新动力信息技术有限公司 | 青少年模式的管理方法、相关装置及计算机存储介质 |
CN114900324A (zh) * | 2022-02-11 | 2022-08-12 | 北京中电飞华通信有限公司 | 基于odin的数据交互方法及相关设备 |
CN115209224A (zh) * | 2022-06-29 | 2022-10-18 | 乐视云计算有限公司 | Ts段校验方法、装置、设备以及存储介质 |
CN115701106A (zh) * | 2022-11-04 | 2023-02-07 | 深圳易思智科技有限公司 | 一种基于鸿蒙系统的分布式视频上传方法 |
CN116156220A (zh) * | 2022-12-21 | 2023-05-23 | 中国电信股份有限公司 | 一种图片流播放方法、装置、电子设备及存储介质 |
CN117241067A (zh) * | 2023-11-15 | 2023-12-15 | 华录出版传媒有限公司 | 一种基于指纹水印的视频安全调阅方法及系统 |
CN118055270A (zh) * | 2024-04-16 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 视频处理方法、系统、装置、电子设备及存储介质 |
CN118632054A (zh) * | 2024-08-09 | 2024-09-10 | 一网互通(北京)科技有限公司 | 提高应用权限申请通过率的方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761790A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | 基于数字水印的iptv终端的数字版权管理方法及装置 |
CN102760221A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | 基于数字水印和加密的iptv数字版权管理方法及装置 |
CN103956175A (zh) * | 2014-04-18 | 2014-07-30 | 华为技术有限公司 | 一种多媒体文件的播放方法及播放设备 |
CN104811773A (zh) * | 2015-04-28 | 2015-07-29 | 天脉聚源(北京)传媒科技有限公司 | 基于防盗链的频道播放实现方法、系统及设备 |
CN106993201A (zh) * | 2017-03-17 | 2017-07-28 | 武汉斗鱼网络科技有限公司 | 视频播放的权限校验方法及装置 |
CN109522270A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的文件存读方法、电子装置及可读存储介质 |
CN112016110A (zh) * | 2020-09-01 | 2020-12-01 | 三星电子(中国)研发中心 | 用于存储数据的方法、装置、设备以及存储介质 |
-
2020
- 2020-12-24 CN CN202011552579.4A patent/CN113411638A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761790A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | 基于数字水印的iptv终端的数字版权管理方法及装置 |
CN102760221A (zh) * | 2011-04-27 | 2012-10-31 | 航天信息股份有限公司 | 基于数字水印和加密的iptv数字版权管理方法及装置 |
CN103956175A (zh) * | 2014-04-18 | 2014-07-30 | 华为技术有限公司 | 一种多媒体文件的播放方法及播放设备 |
CN104811773A (zh) * | 2015-04-28 | 2015-07-29 | 天脉聚源(北京)传媒科技有限公司 | 基于防盗链的频道播放实现方法、系统及设备 |
CN106993201A (zh) * | 2017-03-17 | 2017-07-28 | 武汉斗鱼网络科技有限公司 | 视频播放的权限校验方法及装置 |
CN109522270A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的文件存读方法、电子装置及可读存储介质 |
CN112016110A (zh) * | 2020-09-01 | 2020-12-01 | 三星电子(中国)研发中心 | 用于存储数据的方法、装置、设备以及存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810778A (zh) * | 2021-10-21 | 2021-12-17 | 深圳Tcl新技术有限公司 | 监控视频处理方法、装置、存储介质及电子设备 |
CN114205655B (zh) * | 2021-12-09 | 2023-10-13 | 中国电影科学技术研究所 | 数字电影拷贝分发方法及系统 |
CN114205655A (zh) * | 2021-12-09 | 2022-03-18 | 中国电影科学技术研究所 | 数字电影拷贝分发方法及系统 |
CN114285565A (zh) * | 2021-12-29 | 2022-04-05 | 观源(上海)科技有限公司 | 一种密码资源池的调度系统 |
CN114900324A (zh) * | 2022-02-11 | 2022-08-12 | 北京中电飞华通信有限公司 | 基于odin的数据交互方法及相关设备 |
CN114745566B (zh) * | 2022-04-15 | 2023-10-20 | 北京搜狐新动力信息技术有限公司 | 青少年模式的管理方法、相关装置及计算机存储介质 |
CN114745566A (zh) * | 2022-04-15 | 2022-07-12 | 北京搜狐新动力信息技术有限公司 | 青少年模式的管理方法、相关装置及计算机存储介质 |
CN115209224A (zh) * | 2022-06-29 | 2022-10-18 | 乐视云计算有限公司 | Ts段校验方法、装置、设备以及存储介质 |
CN115209224B (zh) * | 2022-06-29 | 2024-03-22 | 乐视云网络技术(北京)有限公司 | 传输流段校验方法、装置、设备以及存储介质 |
CN115701106A (zh) * | 2022-11-04 | 2023-02-07 | 深圳易思智科技有限公司 | 一种基于鸿蒙系统的分布式视频上传方法 |
CN116156220A (zh) * | 2022-12-21 | 2023-05-23 | 中国电信股份有限公司 | 一种图片流播放方法、装置、电子设备及存储介质 |
CN117241067A (zh) * | 2023-11-15 | 2023-12-15 | 华录出版传媒有限公司 | 一种基于指纹水印的视频安全调阅方法及系统 |
CN117241067B (zh) * | 2023-11-15 | 2024-02-09 | 华录出版传媒有限公司 | 一种基于指纹水印的视频安全调阅方法及系统 |
CN118055270A (zh) * | 2024-04-16 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 视频处理方法、系统、装置、电子设备及存储介质 |
CN118632054A (zh) * | 2024-08-09 | 2024-09-10 | 一网互通(北京)科技有限公司 | 提高应用权限申请通过率的方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113411638A (zh) | 视频文件的播放处理方法、装置、电子设备及存储介质 | |
US9367885B2 (en) | Method and system for adding and detecting watermark | |
US8627081B2 (en) | Multimedia data protection | |
US9313248B2 (en) | Method and apparatus for delivering encoded content | |
US9208334B2 (en) | Content management using multiple abstraction layers | |
US6668246B1 (en) | Multimedia data delivery and playback system with multi-level content and privacy protection | |
US8359657B2 (en) | Method and apparatus for enabling secure distribution of digital content | |
KR20130086380A (ko) | 인터넷 사이트에 업로드되는 멀티미디어에서 사용자의 프라이버시를 보호하는 시스템 및 방법 | |
CN109151506B (zh) | 一种视频文件操作的方法、系统及服务器 | |
CN106796624A (zh) | 挑战响应方法和相关联的计算设备 | |
US20120109784A1 (en) | Method and system for automating protection of media files for download | |
US20120210447A1 (en) | Secure video download method | |
CN116193167A (zh) | 一种车载监控视频文件处理方法、装置 | |
US9154815B2 (en) | Method and system for securing multimedia data streamed over a network | |
CN112954403B (zh) | 视频加密方法、装置、设备及存储介质 | |
CN112434327B (zh) | 信息保护方法、装置及电子设备 | |
JP2023535459A (ja) | 信頼できないシステム上のメディアファイルの遠隔所有権およびコンテンツ制御のためのシステムならびに方法 | |
CN112073489A (zh) | 一种基于区块链技术复合加密的数字版权管理方法 | |
CN117241067B (zh) | 一种基于指纹水印的视频安全调阅方法及系统 | |
US12229293B2 (en) | Secure client watermark | |
US20240184904A1 (en) | Method and System for Managing at Least One Unique Data Record | |
Petrovic et al. | Watermark screening in networked environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40052790 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |