Video file processing method, apparatus, device, and computer medium

CN122824943APending Publication Date: 2026-09-25BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510353741.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-24
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

[0003]本申请实施例提供一种与相关技术不同的实现方案,以解决相关技术中,相关的视频文件的存储方式容易被读取,视频文件的安全性较差的技术问题

Benefits of technology

[0021]本申请提供的获取头戴显示设备发送的待播放的目标视频的视频标识;基于自身的设备信息对所述视频标识对应的加密密钥文件从存储器中解密并取出,得到所述加密密钥文件;基于所述视频标识获取对应的加密视频信息;将所述加密密钥文件与所述加密视频信息发送至所述头戴显示设备,使所述头戴显示设备基于所述加密密钥文件与所述加密视频信息,播放所述目标视频的方案,在取出目标视频的加密密钥文件时,需要基于自身的设备信息取出加密密钥文件,一旦目标视频被其他设备读取时,将无法解密出加密密钥文件,进而也无法播放目标视频,提高了目标视频的安全性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122824943A_ABST
    Figure CN122824943A_ABST
Patent Text Reader

Abstract

The application discloses a video file processing method, device and equipment and a computer medium. The video file processing method comprises the following steps: obtaining a video identifier of a target video to be played sent by a head-mounted display device; decrypting and taking out an encryption key file corresponding to the video identifier from a memory based on device information of the head-mounted display device, so as to obtain the encryption key file; obtaining corresponding encryption video information based on the video identifier; and sending the encryption key file and the encryption video information to the head-mounted display device, so that the head-mounted display device plays the target video based on the encryption key file and the encryption video information. The scheme can improve the security of the target video.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of video file processing technology, and in particular relates to a video file processing method, apparatus, device and computer medium. Background Technology

[0002] Encryption technology is the most commonly used security and confidentiality method. The key to data encryption lies in encryption algorithms and key management. In VR video business scenarios, video files are generally encrypted and stored on a server for playback by head-mounted display devices. However, the way these video files are stored makes them easy to read, resulting in poor security. Summary of the Invention

[0003] This application provides an implementation scheme that differs from related technologies to solve the technical problems in related technologies, such as the ease with which video files can be read and the poor security of video files.

[0004] Firstly, this application provides a video file processing method, including:

[0005] Obtain the video identifier of the target video to be played, sent by the head-mounted display device;

[0006] Based on its own device information, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved to obtain the encryption key file;

[0007] Obtain the corresponding encrypted video information based on the video identifier;

[0008] The encryption key file and the encrypted video information are sent to the head-mounted display device, so that the head-mounted display device plays the target video based on the encryption key file and the encrypted video information.

[0009] Secondly, this application provides a video file processing method applicable to head-mounted display devices, comprising: sending a video identifier of a target video to be played to a target device, causing the target device to decrypt and retrieve an encryption key file corresponding to the video identifier from a memory based on its own device information, thereby obtaining an encryption key file; obtaining corresponding encrypted video information based on the video identifier; and feeding back the encryption key file and the encrypted video information; and playing the target video based on the encryption key file and the encrypted video information.

[0010] Thirdly, this application provides a video file processing apparatus, comprising:

[0011] The acquisition unit is used to acquire the video identifier of the target video to be played, sent by the head-mounted display device;

[0012] The decryption unit is used to decrypt and retrieve the encryption key file corresponding to the video identifier from the memory based on its own device information to obtain the encryption key file;

[0013] The acquisition unit is further configured to acquire corresponding encrypted video information based on the video identifier;

[0014] The first sending unit is used to send the encryption key file and the encrypted video information to the head-mounted display device, so that the head-mounted display device plays the target video based on the encryption key file and the encrypted video information.

[0015] Fourthly, this application provides an electronic device, comprising:

[0016] Processor; and

[0017] Memory for storing the executable instructions of the processor;

[0018] The processor is configured to execute the first aspect, the second aspect, any possible implementation of the first aspect, or any method in any possible implementation of the second aspect by executing the executable instructions.

[0019] Fifthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the first aspect, the second aspect, and any possible implementation of the first aspect, or any method in any possible implementation of the second aspect.

[0020] Sixthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect, the second aspect, various possible implementations of the first aspect, or any method in various possible implementations of the second aspect.

[0021] The present application provides a scheme for obtaining a video identifier of a target video to be played sent by a head-mounted display device; decrypting and retrieving the encryption key file corresponding to the video identifier from memory based on its own device information to obtain the encryption key file; obtaining the corresponding encrypted video information based on the video identifier; and sending the encryption key file and the encrypted video information to the head-mounted display device, so that the head-mounted display device can play the target video based on the encryption key file and the encrypted video information. When retrieving the encryption key file of the target video, it is necessary to retrieve the encryption key file based on its own device information. Once the target video is read by other devices, the encryption key file cannot be decrypted, and therefore the target video cannot be played, thus improving the security of the target video. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:

[0023] Figure 1a A schematic diagram of the structure of a video file processing system provided in an embodiment of this application;

[0024] Figure 1b A schematic diagram illustrating the establishment process of a secure channel according to an embodiment of this application;

[0025] Figure 2a A schematic flowchart illustrating a video file processing method provided in an embodiment of this application;

[0026] Figure 2b A schematic diagram illustrating a scenario of a video file processing method provided in an embodiment of this application;

[0027] Figure 3 This is a schematic diagram of the structure of a video file processing apparatus provided in an embodiment of this application;

[0028] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0029] The embodiments of this application are described in detail below, with examples of these embodiments illustrated in the accompanying drawings. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.

[0030] The terms "first" and "second," etc., used in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the present application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0031] First, some terms used in the embodiments of this application will be explained below to facilitate understanding by those skilled in the art.

[0032] Initialization vector; in the field of cryptography, an initialization vector (IV), also known as an initializing variable (SV), is a fixed-length input value.

[0033] A key is the correspondence between a cipher and a plaintext, and is divided into symmetric keys and asymmetric keys. For example, if we use 00, 01, 02, 03 to represent the letters A, B, C, and D, then 00 translated as A, 01 as B, 02 as C, and 03 as D is the key.

[0034] PBKDF2 applies a pseudo-random function to derive the key. The length of the derived key is essentially unlimited (however, the maximum effective search space of the derived key is limited by the structure of the basic pseudo-random function).

[0035] Sandbox refers to a technology in which software runs in an environment restricted by the operating system.

[0036] CRC (Cyclic Redundancy Check): A check code for cyclic redundancy.

[0037] Equipment SN (Signature Number): Also known as the equipment serial number, it is a unique identifier for equipment, used to identify information such as production batch, model, and production time. The equipment SN plays a crucial role in a company's production, sales, and after-sales service processes.

[0038] The encryption machine master key (MK) is a pair of top-level keys composed of three components stored in the HSM (hardware security module).

[0039] AES (Advanced Encryption Standard) is a symmetric encryption algorithm widely used in data encryption and protection. AES-128 uses a 128-bit key length and is also known as AES-128 encryption.

[0040] CBC stands for Cipher-block chaining.

[0041] Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), are security protocols designed to provide security and data integrity for internet communications.

[0042] The certificate in this application is a form of SSL digital certificate, which means to prove identity or demonstrate right to access online services by submitting a digital certificate.

[0043] CRC (Cyclic Redundancy Check) is a fast algorithm that generates a short, fixed-length check code based on data such as network packets or computer files. It is mainly used to detect or verify errors that may occur after data transmission or storage.

[0044] ECDH (Elliptic Curve Diffie-Hellman) is a key exchange protocol based on elliptic curve cryptography. It enables the secure exchange of keys over insecure communication channels, and is used for encrypted communication and data transmission.

[0045] UUID: It is an abbreviation for Universally Unique Identifier, a standard for software construction.

[0046] BIOS is an abbreviation for "Basic Input Output System".

[0047] Among related technologies, encryption is the most commonly used security and confidentiality method. The key to data encryption lies in encryption algorithms and key management. In VR video service scenarios, video files are generally encrypted and stored on a server for playback by head-mounted display devices. However, the storage method of these video files is easily readable, resulting in poor video file security. This application provides a video file storage method that effectively prevents malicious reading of video files, and even if maliciously read, the video cannot be played. Furthermore, the solution of this application also supports offline encryption, playback, and randomized progress playback of videos on a PC. The encrypted video can only be played on one or more designated VR devices.

[0048] Encryption technology is the most commonly used security and confidentiality method. The key to data encryption lies in encryption algorithms and key management. In the VR video business, enterprise users, as content creators, are concerned about the leakage of their video content and need a VR video encryption technology. General DRM (Digital Rights Management) technology requires online service authorization for device playback based on the Internet, which cannot meet the needs of offline scenarios. However, the target device of this application can be an offline device, that is, the head-mounted display device and the target device can be connected through a local area network.

[0049] The technical solution of this application and how it solves the above-mentioned technical problems will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.

[0050] The solution proposed in this application can be applied to VR scenarios, and the target video in this application can be a video from a VR scenario. Figure 1a This is a schematic diagram of a video file processing system provided for an exemplary embodiment of this application. The system includes a head-mounted display device 11 and a target device 12. In this application, the head-mounted display device 11 and the target device 12 need to establish a secure channel before data interaction. Specifically, see [link to relevant documentation]. Figure 1b As shown, the head-mounted display device 11 sends its first certificate to the target device 12; after obtaining the first certificate, the target device 12 generates a shared key based on the first certificate and its own first private key; and sends its second certificate to the head-mounted display device 11, so that the head-mounted display device 11 generates a shared key based on the second certificate and its own second private key. The shared key is used in subsequent data interaction between the target device 12 and the head-mounted display device 11.

[0051] In some optional embodiments of this application, the aforementioned target device 12 is further configured to perform the following steps through the aforementioned secure channel:

[0052] Obtain the video identifier of the target video to be played, sent by the head-mounted display device 11;

[0053] Based on its own device information, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved to obtain the encryption key file;

[0054] Obtain the corresponding encrypted video information based on the video identifier;

[0055] The encryption key file and the encrypted video information are sent to the head-mounted display device 11, so that the head-mounted display device 11 plays the target video based on the encryption key file and the encrypted video information.

[0056] Optionally, the establishment of the aforementioned secure channel depends on ECDH.

[0057] The execution principles and interaction processes of each component unit in this system embodiment, such as the head-mounted display device and the target device, can be found in the descriptions of the following method embodiments.

[0058] Figure 2aThis is a flowchart illustrating a video file processing method provided as an exemplary embodiment of this application. The method is applicable to a target device, optionally connected to a head-mounted display device via a local area network. Specifically, the target device can be a PC. The method includes at least the following steps S201-S204:

[0059] S201. Obtain the video identifier of the target video to be played sent by the head-mounted display device;

[0060] Optionally, the aforementioned video identifier is used to uniquely identify the target video.

[0061] S202. Based on its own device information, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved to obtain the encryption key file;

[0062] In some optional embodiments of this application, the device information includes any one or more of the following: CPU ID, motherboard UUID, BIOS serial number, disk serial number. In the aforementioned S202, the step of decrypting and retrieving the encryption key file corresponding to the video identifier from the memory based on its own device information to obtain the encryption key file includes the following S2021-S2022:

[0063] S2021. The device information is processed using a hash algorithm to obtain data information of a preset length;

[0064] In some optional embodiments of this application, the aforementioned preset length can be 256 bits.

[0065] In some optional embodiments of this application, the aforementioned hash algorithm may be the PBKDF2 algorithm, and the aforementioned data information may refer to the storage key and the third initialization vector.

[0066] Specifically, in the aforementioned S2021, the device information is processed using a hash algorithm to obtain data information of a preset length, which may specifically include: using the PBKDF2 algorithm to derive 256 bits of data, taking the first 128 bits as the storage key, and the last 128 bits as the third initialization vector.

[0067] S2022. Based on the data information, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved to obtain the encryption key file.

[0068] Optionally, in the aforementioned S2022, the process of decrypting and retrieving the encryption key file corresponding to the video identifier from the memory based on the data information to obtain the encryption key file may include:

[0069] Based on the aforementioned storage key and the third initialization vector, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved using the AES-128-CBC algorithm to obtain the encryption key file.

[0070] Optionally, the encryption key file corresponding to the video identifier can be determined based on the video identifier. For example, the encryption key file whose header contains the video identifier can be used as the encryption key file corresponding to the video identifier.

[0071] It should be noted that when storing the encryption key file in the memory, it is also necessary to encrypt the encryption key file using the AES-128-CBC algorithm based on the aforementioned storage key and the third initialization vector, and then store it in the memory.

[0072] S203. Obtain the corresponding encrypted video information based on the video identifier;

[0073] Optionally, in the aforementioned S203, obtaining the corresponding encrypted video information based on the video identifier includes: using the encrypted video information containing the video identifier in the plaintext file header as the encrypted video information corresponding to the video identifier.

[0074] S204. The encryption key file and the encrypted video information are sent to the head-mounted display device, so that the head-mounted display device plays the target video based on the encryption key file and the encrypted video information.

[0075] In some optional embodiments of this application, the method further includes the following S1-S2:

[0076] S1. Obtain the device identifier of the head-mounted display device sent by the head-mounted display device;

[0077] Optionally, the aforementioned device identifier is used to uniquely identify the head-mounted display device, and the aforementioned device identifier can be an SN identifier.

[0078] S2. In response to the device identifier indicating that the head-mounted display device has permission to play the target video, the device triggers the execution of decrypting and retrieving the encryption key file corresponding to the video identifier from the memory based on its own device information, thereby obtaining the encryption key file.

[0079] In some optional embodiments of this application, the method further includes: obtaining a list of device identifiers of devices authorized to play the target video; when a device identifier is included in the list of device identifiers, it is considered that the device identifier indicates that the head-mounted display device is authorized to play the target video.

[0080] Optionally, the aforementioned list of device identifiers can be stored in the target device in advance by relevant personnel.

[0081] In some optional embodiments of this application, the method further includes the following S01-S03:

[0082] S01. Obtain first encryption / decryption information, the first encryption / decryption information including a video file encryption key and a first initialization vector;

[0083] Optionally, both the video file encryption key and the first initialization vector can be randomly generated.

[0084] S02. Encrypt the target video using the first encryption / decryption information to obtain the encrypted video;

[0085] Optionally, the aforementioned target video includes a video file header and video content.

[0086] When encrypting the target video using the first encryption / decryption information, the relevant encryption algorithm can be the AES-128-CTR method.

[0087] S03. Generate the encrypted video information based on the plaintext file header and the encrypted video.

[0088] Alternatively, see Figure 2b As shown, the plaintext file header includes basic information about the video file, including: the file size of the target video, the encrypted version of the target video, and the video identifier of the target video.

[0089] Specifically, S03 may include: concatenating the plaintext file header with the encrypted video to obtain encrypted video information.

[0090] In some optional embodiments of this application, the method further includes the following S41-S44:

[0091] S41. Obtain the basic video information of the target video, the basic video information including: an encryption header, an authorization header, and the first encryption / decryption information; the encryption header includes: a first cyclic redundancy check code and / or a first encryption algorithm for encrypting the target video; the authorization header includes a device identifier list and / or the authorization expiration time of the target video;

[0092] The first cyclic redundancy check code is used to verify whether the encrypted video information has been tampered with.

[0093] S42. Encrypt the video basic information using the second encryption / decryption information to obtain the video basic information encryption result. The second encryption / decryption information includes a master key and a second initialization vector.

[0094] When encrypting the basic video information using the second encryption / decryption information, the relevant encryption algorithm can be the AES-128-CBC method.

[0095] S43. Obtain the key file header, which includes basic encryption information of the video file, including: the size of the master key and / or the second cyclic redundancy check code; the second cyclic redundancy check code is used to verify whether the encryption key file has been tampered with.

[0096] Optionally, the basic encryption information of the video file may also include an encrypted version of the basic video information and the video identifier of the target video.

[0097] S44. The encryption result of the key file header, the basic video information, and the second encryption / decryption information are concatenated to obtain the encryption key file.

[0098] In some optional embodiments of this application, the method further includes the following S51-S53:

[0099] S51. Receive the first certificate sent by the head-mounted display device;

[0100] S52. Generate a shared key based on the first certificate and its own first private key;

[0101] S53, and send its own second certificate to the head-mounted display device, so that the head-mounted display device generates the shared key based on the second certificate and the second private key of the head-mounted display device;

[0102] The shared key is used during data interaction with the head-mounted display device.

[0103] Optionally, the aforementioned encrypted video information stored in directories such as / sdcrad can be exposed to any third party.

[0104] Optionally, the aforementioned encryption key file can be stored in the application sandbox / data.

[0105] The present application provides a scheme for obtaining a video identifier of a target video to be played sent by a head-mounted display device; decrypting and retrieving the encryption key file corresponding to the video identifier from memory based on its own device information to obtain the encryption key file; obtaining the corresponding encrypted video information based on the video identifier; and sending the encryption key file and the encrypted video information to the head-mounted display device, so that the head-mounted display device can play the target video based on the encryption key file and the encrypted video information. When retrieving the encryption key file of the target video, it is necessary to retrieve the encryption key file based on its own device information. Once the target video is read by other devices, the encryption key file cannot be decrypted, and therefore the target video cannot be played, thus improving the security of the target video.

[0106] This application also provides a video file processing method, applicable to head-mounted display devices, the method comprising at least the following steps S301-S302:

[0107] S301. Send the video identifier of the target video to be played to the target device, so that the target device decrypts and retrieves the encryption key file corresponding to the video identifier from its memory based on its own device information to obtain the encryption key file; obtain the corresponding encrypted video information based on the video identifier; and return the encryption key file and the encrypted video information.

[0108] S302. Play the target video based on the encryption key file and the encrypted video information.

[0109] In some optional embodiments of this application, in the aforementioned S302, playing the target video based on the encryption key file and the encrypted video information includes the following S3021-S3022:

[0110] S3021. Obtain second encryption / decryption information from the encryption key file. The second encryption / decryption information includes the master key and the second initialization vector.

[0111] The encryption key file is obtained by concatenating the key file header, the encryption result of the basic video information, and the second encryption / decryption information.

[0112] The key file header includes basic encryption information of the video file, which includes: the size of the master key and / or a second cyclic redundancy check (CR) code; the second CR code is used to verify whether the encryption key file has been tampered with.

[0113] Optionally, before the aforementioned S3021, the method further includes: verifying whether the encryption key file has been tampered with using a second cyclic redundancy check code; if so, an error is prompted; if not, the aforementioned S3021 is triggered.

[0114] Optionally, before the aforementioned S3021, the method further includes: determining whether the encrypted version of the video basic information is a preset version; if so, triggering the execution of the aforementioned S3021, or triggering the execution of verifying whether the encryption key file has been tampered with through the second cyclic redundancy check code; if not, prompting an error.

[0115] S3022. Decrypt the encryption result of the video basic information in the encryption key file using the second encryption / decryption information to obtain the video basic information;

[0116] Optionally, the basic video information in the encryption key file can be decrypted using the second encryption / decryption information based on the AES-128-CBC method to obtain the basic video information.

[0117] S3023, Obtain first encryption / decryption information from basic video information and use a first encryption algorithm to encrypt the target video;

[0118] Optionally, the above method further includes: determining whether the encrypted video information has been tampered with by using a first cyclic redundancy check code; if so, indicating an error; if not, triggering the execution of the aforementioned S3023.

[0119] S3024. Using the first encryption algorithm, the encrypted video in the encrypted video information is decrypted based on the first encryption and decryption information to obtain the target video;

[0120] The encrypted video information is composed of a plaintext file header and the encrypted video.

[0121] Optionally, the above method further includes: comparing whether the video identifier of the target video in the basic encryption information of the aforementioned video file is consistent with the video identifier of the target video in the plaintext file header; if so, then triggering the execution of the aforementioned S3024.

[0122] Optionally, the above method further includes: determining whether its own identifier is included in the aforementioned device identifier list; if so, triggering the execution of the aforementioned S3023 and S3024, or determining whether the encrypted video information has been tampered with by using the first cyclic redundancy check code.

[0123] Optionally, the above method further includes: determining whether the current time has reached the authorization expiration time; if so, prompting an error; if not, triggering the execution of the aforementioned S3023, S3024, the aforementioned determination of whether the encrypted video information has been tampered with through the first cyclic redundancy check code, or determining whether its own identifier is included in the aforementioned device identifier list.

[0124] In some optional embodiments of this application, the first encryption algorithm is AES-128-CTR.

[0125] Optionally, the aforementioned first cyclic redundancy check code is determined based on other information in the aforementioned encrypted video information besides the first cyclic redundancy check code.

[0126] Optionally, the aforementioned second cyclic redundancy check code is determined based on other information in the encryption key file besides the second cyclic redundancy check code.

[0127] S3025. Play the target video.

[0128] The specific implementation method in this embodiment can be found in the foregoing content, and will not be repeated here.

[0129] Figure 3 A schematic diagram of a video file processing apparatus provided for an exemplary embodiment of this application; wherein the apparatus includes:

[0130] Acquisition unit 31 is used to acquire the video identifier of the target video to be played sent by the head-mounted display device;

[0131] Decryption unit 32 is used to decrypt and retrieve the encryption key file corresponding to the video identifier from the memory based on its own device information to obtain the encryption key file;

[0132] The acquisition unit 31 is also used to acquire corresponding encrypted video information based on the video identifier;

[0133] The first sending unit 33 is used to send the encryption key file and the encrypted video information to the head-mounted display device, so that the head-mounted display device plays the target video based on the encryption key file and the encrypted video information.

[0134] In some optional embodiments of this application, the apparatus is further used for:

[0135] Obtain the device identifier of the head-mounted display device sent by the head-mounted display device;

[0136] In response to the device identifier indicating that the head-mounted display device has permission to play the target video, the device triggers the execution of decrypting and retrieving the encryption key file corresponding to the video identifier from the memory based on its own device information, thereby obtaining the encryption key file.

[0137] In some optional embodiments of this application, the device information includes any one or more of the following: CPU ID, motherboard UUID, BIOS serial number, disk serial number. When the aforementioned device decrypts and retrieves the encryption key file corresponding to the video identifier from the memory based on its own device information to obtain the encryption key file, it is specifically used for:

[0138] The device information is processed using a hash algorithm to obtain data information of a preset length;

[0139] Based on the data information, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved to obtain the encryption key file.

[0140] In some optional embodiments of this application, the device is used for:

[0141] Obtain a list of device identifiers of devices authorized to play the target video. When a device identifier is included in the list of device identifiers, it is considered that the device identifier indicates that the head-mounted display device has the authority to play the target video.

[0142] In some optional embodiments of this application, the device is used for:

[0143] Obtain first encryption / decryption information, which includes a video file encryption key and a first initialization vector;

[0144] The target video is encrypted using the first encryption / decryption information to obtain the encrypted video;

[0145] The encrypted video information is generated based on the plaintext file header and the encrypted video.

[0146] In some optional embodiments of this application, the device is used for:

[0147] Obtain the basic video information of the target video, which includes: an encryption header, an authorization header, and the first encryption / decryption information; the encryption header includes: a first cyclic redundancy check code and / or a first encryption algorithm for encrypting the target video; the authorization header includes a device identifier list and / or the authorization expiration time of the target video;

[0148] The basic video information is encrypted using the second encryption / decryption information to obtain the encrypted result of the basic video information. The second encryption / decryption information includes a master key and a second initialization vector.

[0149] Obtain the key file header, which includes: the size of the master key and / or a second cyclic redundancy check code;

[0150] The encryption key file is obtained by concatenating the key file header, the encryption result of the basic video information, and the second encryption / decryption information.

[0151] In some optional embodiments of this application, the device is used for:

[0152] Receive the first certificate sent by the head-mounted display device;

[0153] Generate a shared key based on the first certificate and its own first private key;

[0154] The device then sends its second certificate to the head-mounted display device, enabling the head-mounted display device to generate the shared key based on the second certificate and the head-mounted display device's second private key.

[0155] The shared key is used during data interaction with the head-mounted display device.

[0156] In some optional embodiments of this application, this application also provides a video file processing apparatus suitable for head-mounted display devices, comprising:

[0157] The second sending unit is used to send the video identifier of the target video to be played to the target device, so that the target device decrypts and retrieves the encryption key file corresponding to the video identifier from the memory based on its own device information to obtain the encryption key file; obtains the corresponding encrypted video information based on the video identifier; and feeds back the encryption key file and the encrypted video information.

[0158] The playback unit is used to play the target video based on the encryption key file and the encrypted video information.

[0159] It should be understood that the device embodiments and method embodiments can correspond to each other, and similar descriptions can be referred to the method embodiments. To avoid repetition, they will not be repeated here. Specifically, the device can execute the above method embodiments, and the foregoing and other operations and / or functions of each module in the device correspond to the corresponding processes in the various methods in the above method embodiments, which will not be repeated here for the sake of brevity.

[0160] The apparatus of this application embodiment has been described above from the perspective of functional modules in conjunction with the accompanying drawings. It should be understood that this functional module can be implemented in hardware, in software instructions, or in a combination of hardware and software modules. Specifically, the steps of the method embodiments in this application can be completed by integrated logic circuits in the processor's hardware and / or by software instructions. The steps of the method disclosed in this application embodiment can be directly embodied as being executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. Optionally, the software module can reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps in the above method embodiments.

[0161] Figure 4This is a schematic block diagram of an electronic device provided in an embodiment of this application. The electronic device may include:

[0162] The system includes a memory 401 and a processor 402. The memory 401 stores computer programs and transfers the program code to the processor 402. In other words, the processor 402 can retrieve and run the computer programs from the memory 401 to implement the methods described in the embodiments of this application.

[0163] For example, the processor 402 can be used to execute the above-described method embodiments according to instructions in the computer program.

[0164] In some embodiments of this application, the processor 402 may include, but is not limited to:

[0165] General-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.

[0166] In some embodiments of this application, the memory 401 includes, but is not limited to:

[0167] Volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).

[0168] In some embodiments of this application, the computer program may be divided into one or more modules, which are stored in the memory 401 and executed by the processor 402 to perform the method provided in this application. The one or more modules may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the electronic device.

[0169] like Figure 4 As shown, the electronic device may also include:

[0170] Transceiver 403, which can be connected to processor 402 or memory 401.

[0171] The processor 402 can control the transceiver 403 to communicate with other devices; specifically, it can send information or data to other devices or receive information or data sent by other devices. The transceiver 403 may include a transmitter and a receiver. The transceiver 403 may further include antennas, and the number of antennas may be one or more.

[0172] It should be understood that the various components in the electronic device are connected through a bus system, which includes a data bus, a power bus, a control bus, and a status signal bus.

[0173] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a computer, enables the computer to perform the methods of the above-described method embodiments. Alternatively, embodiments of this application also provide a computer program product containing instructions that, when executed by a computer, cause the computer to perform the methods of the above-described method embodiments.

[0174] When implemented using software, it can be implemented entirely or partially as a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0175] Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0176] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.

[0177] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. For example, the functional modules in the various embodiments of this application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0178] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A video file processing method, characterized in that, include: Obtain the video identifier of the target video to be played, sent by the head-mounted display device; Based on its own device information, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved to obtain the encryption key file; Obtain the corresponding encrypted video information based on the video identifier; The encryption key file and the encrypted video information are sent to the head-mounted display device, so that the head-mounted display device plays the target video based on the encryption key file and the encrypted video information.

2. The method according to claim 1, characterized in that, The method further includes: Obtain the device identifier of the head-mounted display device sent by the head-mounted display device; In response to the device identifier indicating that the head-mounted display device has permission to play the target video, the device triggers the execution of decrypting and retrieving the encryption key file corresponding to the video identifier from the memory based on its own device information, thereby obtaining the encryption key file.

3. The method according to claim 2, characterized in that, The method further includes: Obtain a list of device identifiers of devices authorized to play the target video. When a device identifier is included in the list of device identifiers, it is considered that the device identifier indicates that the head-mounted display device has the authority to play the target video.

4. The method according to claim 1, characterized in that, The device information includes one or more of the following: CPU ID, motherboard UUID, BIOS serial number, disk serial number. The encryption key file corresponding to the video identifier is decrypted from memory and retrieved based on the device information to obtain the encryption key file, which includes: The device information is processed using a hash algorithm to obtain data information of a preset length; Based on the data information, the encryption key file corresponding to the video identifier is decrypted from the memory and retrieved to obtain the encryption key file.

5. The method according to claim 1, characterized in that, The method further includes: Obtain first encryption / decryption information, which includes a video file encryption key and a first initialization vector; The target video is encrypted using the first encryption / decryption information to obtain the encrypted video; The encrypted video information is generated based on the plaintext file header and the encrypted video.

6. The method according to claim 5, characterized in that, The method further includes: Obtain the basic video information of the target video, which includes: an encryption header, an authorization header, and the first encryption / decryption information; the encryption header includes: a first cyclic redundancy check code and / or a first encryption algorithm for encrypting the target video; the authorization header includes a device identifier list and / or the authorization expiration time of the target video; The basic video information is encrypted using the second encryption / decryption information to obtain the encrypted result of the basic video information. The second encryption / decryption information includes a master key and a second initialization vector. Obtain the key file header, which includes: the size of the master key and / or a second cyclic redundancy check code; The encryption key file is obtained by concatenating the key file header, the encryption result of the basic video information, and the second encryption / decryption information.

7. The method according to claim 1, characterized in that, The method further includes: Receive the first certificate sent by the head-mounted display device; Generate a shared key based on the first certificate and its own first private key; The device then sends its second certificate to the head-mounted display device, enabling the head-mounted display device to generate the shared key based on the second certificate and the head-mounted display device's second private key. The shared key is used during data interaction with the head-mounted display device.

8. A video file processing method, characterized in that, Suitable for head-mounted display devices, including: The system sends the video identifier of the target video to be played to the target device, enabling the target device to decrypt and retrieve the encryption key file corresponding to the video identifier from its memory based on its own device information, thereby obtaining the encryption key file; it then obtains the corresponding encrypted video information based on the video identifier; and finally returns the encryption key file and the encrypted video information. The target video is played based on the encryption key file and the encrypted video information.

9. A video file processing device, characterized in that, include: The acquisition unit is used to acquire the video identifier of the target video to be played, sent by the head-mounted display device; The decryption unit is used to decrypt and retrieve the encryption key file corresponding to the video identifier from the memory based on its own device information to obtain the encryption key file; The acquisition unit is further configured to acquire corresponding encrypted video information based on the video identifier; The first sending unit is used to send the encryption key file and the encrypted video information to the head-mounted display device, so that the head-mounted display device plays the target video based on the encryption key file and the encrypted video information.

10. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the method of any one of claims 1-8 by executing the executable instructions.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-8.