A method and apparatus for preventing video downloading

By transmitting scrambled media data between the client and server and encrypting and offsetting it using scrambled description values, the problem of streaming media transmission protocols being unable to prevent video downloads is solved, thus achieving secure video transmission and preventing downloads.

CN117857852BActive Publication Date: 2026-07-17上海赛连信息科技有限公司

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
上海赛连信息科技有限公司
Filing Date
2023-12-25
Publication Date
2026-07-17

AI Technical Summary

Technical Problem

Existing streaming media transmission protocols cannot effectively prevent video downloads, and users can use specialized tools to download, edit, and distribute videos at will.

Method used

By establishing a connection channel between the client and the server, scrambled media data is transmitted and encrypted and offset using garbled description values, making it impossible for attackers to parse and restore the video data, allowing only specific players to play it normally.

Benefits of technology

It effectively prevents videos from being illegally downloaded, improves the security of video transmission, and ensures that video clips cannot be combined into a complete video locally.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117857852B_ABST
    Figure CN117857852B_ABST
Patent Text Reader

Abstract

This invention provides a method and apparatus for preventing video downloading. The method includes: establishing a connection channel between a client and a server; the client requesting media data from the server; the client receiving scrambled media data and a first scrambled character description value sent by the server, the first scrambled character description value describing the scrambling information of the media data; and the client using a specific player to play the scrambled media data normally based on the first scrambled character description value. By transmitting scrambled media data, this invention ensures that even if an attacker obtains the transmitted media data, they cannot parse and restore it into playable video data, thereby effectively preventing illegal video downloading.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to network information security, and more specifically, to a method and apparatus for preventing video downloading. Background Technology

[0002] M3U8 and DASH are streaming media transmission protocols used for online video playback. These protocols divide videos into small segments for more efficient transmission and playback. Due to their nature, ordinary users cannot directly download the entire video file; they can only obtain a small segment. However, once the video's playback address is obtained, specialized tools or scripts can be used to download the corresponding video.

[0003] Because streaming media transmission protocols such as M3U8 and DASH have fixed structures, once a download tool obtains the video segments, it can correctly integrate these segments according to the structure specified by the M3U8 and DASH streaming media protocols to restore the complete video.

[0004] Therefore, existing streaming media transmission protocols cannot prevent video downloads, allowing users to easily download complete videos and freely edit and distribute them. To protect intellectual property rights and prevent arbitrary downloading and distribution while allowing online playback, an efficient method and device to prevent video downloads is needed. Summary of the Invention

[0005] To address the problem of preventing video downloading, this invention provides a method and apparatus for preventing video downloading. By transmitting scrambled media data, even if an attacker obtains a partial video segment, they will be unable to parse and reconstruct it into playable video data, thereby effectively preventing the illegal downloading of videos.

[0006] In a first aspect, the present invention provides a method for preventing video downloading, comprising:

[0007] A connection channel is established between the client and the server;

[0008] The client requests media data from the server;

[0009] The client receives scrambled media data and a first scrambled character description value sent by the server, wherein the first scrambled character description value describes the scrambling information of the media data;

[0010] The client uses a specific player to play the scrambled media data normally based on the first scrambled character description value.

[0011] In one embodiment of the present invention, establishing a connection channel between the client and the server includes the following steps:

[0012] The client obtains a token after the user logs in;

[0013] The client generates a connection request carrying the token and sends it to the server;

[0014] After the server verifies that the token is legitimate, the client receives the first public key information from the server;

[0015] Establish a connection channel between the client and the server.

[0016] In another embodiment of the present invention, the step of the client requesting media data from the server further includes the following steps:

[0017] The client uses the first public key information to encrypt the user's identity information and the requested media data segment, and sends them to the server together.

[0018] In another embodiment of the present invention, the step of the client receiving the scrambled media data and the first garbled character description value sent by the server further includes the following steps:

[0019] Receive media data segments from the server that are encrypted using a second public key and scrambled using a first scrambling description value, along with the associated first scrambling description value.

[0020] In another embodiment of the present invention, wherein the client uses a specific player to play the scrambled media data normally based on the first scrambled character description value, the method further includes the following steps:

[0021] The client decrypts the encrypted media data fragments and provides them to a specific player;

[0022] A specific player adjusts the decrypted media data segments by offsetting them according to the first garbled description value before playing them.

[0023] In another embodiment of the present invention, after the server verifies that the token is legitimate, the client also receives a second garbled description value from the server and stores it locally.

[0024] In another embodiment of the present invention, the scrambled media data sent by the client receiving the server is first scrambled based on a first scrambled character description value, and then scrambled a second time based on a second scrambled character description value.

[0025] In another embodiment of the present invention, the step of the client using a specific player to play the scrambled media data normally based on the first scrambled character description value further includes:

[0026] First, the media data segments are restored based on the second garbled description value pre-stored on the client;

[0027] Then, based on the first garbled description value sent along with the media data segment, the restored media data segment is adjusted accordingly with the corresponding offset before playback.

[0028] In another embodiment of the present invention, the specific player converts the offset-adjusted media data segments into FMP4 format for online playback.

[0029] Secondly, the present invention provides a method for preventing video downloading, comprising:

[0030] Establish a connection channel between the server and the client;

[0031] The server receives media data requests from the client;

[0032] The server sends scrambled media data and a first scrambled character description value to the client, the first scrambled character description value describing the scrambling information of the media data.

[0033] In one embodiment of the present invention, establishing a connection channel between the server and the client further includes the following steps:

[0034] The server verifies whether the token carried in the connection request from the client is valid;

[0035] If the token is valid, the server sends the first public key information to the client;

[0036] Establish a connection channel between the server and the client.

[0037] In another embodiment of the present invention, wherein the server receiving a media data request from a client further includes the following steps:

[0038] The server receives user identity information encrypted using the first public key from the client, along with requested media data fragments.

[0039] In another embodiment of the present invention, the step of the server sending the scrambled media data and the first garbled character description value to the client further includes the following steps:

[0040] The server verifies whether the user's identity information is valid;

[0041] If the user identity information is valid, the server will encrypt the corresponding scrambled media data fragment and the first scrambled character description value using the second public key information based on the fragment requested by the client.

[0042] The server sends the encrypted data to the client.

[0043] In another embodiment of the present invention, after the server verifies that the token is legitimate, the server also sends a second garbled description value to the client.

[0044] In another embodiment of the present invention, the scrambled media data sent by the server to the client is first scrambled based on a first scrambled character description value, and then scrambled a second time based on a second scrambled character description value.

[0045] Thirdly, the present invention provides a device for preventing video downloading, comprising:

[0046] The connection module is used to establish a connection channel between the client and the server;

[0047] The request module is used to request media data from the server;

[0048] The receiving module is used to receive the scrambled media data and the first garbled description value sent by the server;

[0049] Specific player module: used to play the scrambled media data normally based on the first scrambled character description value.

[0050] In one embodiment of the present invention, the connection module further includes:

[0051] Used to obtain a token after a user logs in;

[0052] Used to generate a connection request carrying the token and send it to the server;

[0053] After the server verifies that the token is legitimate, the connection module receives the first public key information from the server;

[0054] Establish a connection channel between the client and the server.

[0055] In yet another embodiment of the present invention, the request module further includes:

[0056] This is used to encrypt the user's identity information and the requested media data fragment using the first public key information before sending them to the server.

[0057] In another embodiment of the present invention, the receiving module further includes:

[0058] Used to receive media data segments from the server that are encrypted using the second public key information and scrambled using a first scrambling description value, along with the associated first scrambling description value;

[0059] The encrypted media data fragments are decrypted and then provided to the specific player module.

[0060] In yet another embodiment of the present invention, the specific player module further includes:

[0061] The specific player module adjusts the decrypted media data segments by offsetting them according to the first garbled description value before playing them.

[0062] In another embodiment of the present invention, after the server verifies that the token is legitimate, the receiving module also receives a second garbled description value from the server and stores it locally.

[0063] In another embodiment of the present invention, the receiving module receives scrambled media data sent by the server, which is first scrambled based on a first scrambled character description value, and then scrambled a second time based on a second scrambled character description value.

[0064] In yet another embodiment of the present invention, the specific player module further includes:

[0065] First, the media data segments are restored based on the second garbled character description value pre-stored locally on the client.

[0066] Then, based on the first garbled description value sent along with the media data segment, the restored media data segment is adjusted accordingly with the corresponding offset before playback.

[0067] In another embodiment of the invention, the specific player module converts the offset-adjusted media data segments into FMP4 format for online playback.

[0068] Fourthly, the present invention provides a device for preventing video downloading, comprising:

[0069] The channel module is used to establish a connection channel with the client;

[0070] The receiving module is used to receive media data requests from the client;

[0071] The sending module is used to send scrambled media data and a first garbled description value to the client.

[0072] In one embodiment of the present invention, the channel module further includes:

[0073] Used to verify the validity of the token carried in the connection request from the client;

[0074] If the token is valid, the channel module sends the first public key information to the client;

[0075] Establish a connection channel between the server and the client.

[0076] In yet another embodiment of the present invention, the receiving module further includes:

[0077] Used to receive user identity information encrypted with the first public key from the client, as well as requested media data segments.

[0078] In another embodiment of the present invention, the transmitting module further includes:

[0079] Used to verify whether the user's identity information is legitimate;

[0080] If the user identity information is valid, the sending module encrypts the corresponding scrambled media data fragment and the first scrambled character description value using the second public key information based on the fragment requested by the client.

[0081] Used to send encrypted data to the client.

[0082] In another embodiment of the present invention, after the channel module verifies that the token is legitimate, the sending module also sends a second garbled description value to the client.

[0083] In another embodiment of the present invention, the scrambled media data sent by the sending module to the client is first scrambled based on a first scrambled character description value, and then scrambled a second time based on a second scrambled character description value.

[0084] This invention ensures that the video can be securely transmitted to the client by scrambling the video segments at least once and transmitting them in encrypted form. The client requires a dedicated playback program to restore the scrambled video segments to their normal order and play them. All video segments are stored locally in a scrambled manner, so a complete video cannot be synthesized on the client, thus effectively avoiding the need to download the video. Attached Figure Description

[0085] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0086] Figure 1 This is a flowchart illustrating the video anti-downloading measures provided by the client in an embodiment of the present invention;

[0087] Figure 2 This is a schematic diagram illustrating the specific process of preventing video downloading provided in an embodiment of the present invention;

[0088] Figure 3 This is a schematic diagram illustrating another specific process for preventing video downloading provided in an embodiment of the present invention;

[0089] Figure 4 This is a flowchart of a video anti-downloading process for servers provided in an embodiment of the present invention;

[0090] Figure 5 This is a schematic diagram of a specific video anti-downloading device provided in an embodiment of the present invention;

[0091] Figure 6 This is a schematic diagram of a specific video anti-downloading device provided in an embodiment of the present invention. Detailed Implementation

[0092] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Invention Overview

[0094] This invention provides a method for preventing video downloading, enhancing security through a series of steps. The client sequentially requests media data for a specific video segment from the server, carrying user information with each request. The server verifies this user information to further enhance security. Subsequently, the server sends scrambled media data and a first scrambled character description value to the client. Upon receiving this data, the client uses a specific player to offset and adjust the scrambled media data based on the first scrambled character description value, making it playable. The key to this method is that even if an outsider obtains the video address, because they obtain scrambled media data instead of the actual media data, security is enhanced, preventing unauthorized downloading.

[0095] Exemplary methods

[0096] Figure 1 This is a flowchart illustrating the video anti-downloading measures provided by the client in an embodiment of the present invention.

[0097] Example 1

[0098] Figure 2 This is a schematic diagram illustrating the specific process of preventing video downloading provided in Embodiment 1 of the present invention.

[0099] Step 101: Establish a connection channel between the client and the server. For example... Figure 2As shown, after a user logs in by entering their account and password information on the client, the client obtains the user's token. This token is a security token used for identity verification and authorization. Only users with the token can access specific video resources. After obtaining the user's token, the client generates a connection request containing the token and sends it to the server. Upon receiving the token, the server verifies it to ensure its validity, meaning the client has permission to access media data. After successful token verification, the server generates an asymmetric key pair, including a public key and a private key. The server sends the first public key information from the asymmetric key to the client. The client uses the first public key information provided by the server to encrypt the WebSocket handshake process, ensuring the established connection is secure. At this point, the connection channel between the clients is established.

[0100] Through a WebSocket connection, the server can push video stream data to the client in real time, and the client can also pass user actions or other information to the server. WebSocket allows persistent connections to be established between the client and the server without repeatedly initiating HTTP requests, thereby reducing latency.

[0101] Step 102: The client requests media data from the server. For example... Figure 2 As shown, the client uses the first public key information to encrypt the user's identity information and the requested media data fragment, and sends them to the server together. After receiving the encrypted data, the server uses the private key from the asymmetric key corresponding to the first public key information to decrypt and obtain the actual data.

[0102] In this step, the client requests a specific video segment from the server, not the complete video media data. While playing the requested media data online using a specific player, the client simultaneously requests the next segment of video media data from the server. For example, if the client's player is currently playing at 1 minute and 10 seconds, the client will request media data for the period from 1 minute and 10 seconds to 1 minute and 15 seconds from the server.

[0103] In each request, the client includes user identification information. Upon receiving the request, the server first verifies the legitimacy of the user's identity. Once verification is successful, the server retrieves the requested media segment data from storage and sends it to the client. This process of verifying user identification information with each request ensures that every request is sent by a legitimate user, reducing the risk of attackers impersonating legitimate users and minimizing the risk of media data being hijacked by unauthorized users.

[0104] In the request, the client may also transmit a client-specific second public key to the server. The server encrypts the media data fragment file requested by the client using the second public key, and then sends the encrypted data file to the client. The client receives the data file sent by the server and decrypts it using the second private key corresponding to the second public key.

[0105] The second public key and the second private key can be dedicated to each client or shared by multiple clients. If each client has its own dedicated public and private key, the client can generate the second public key and transmit it to the server. The server registers the client-specific public key and does not need to transmit it again during subsequent connections. Alternatively, the server can generate the second private key and transmit it to the client. The server registers the client-specific public key and does not need to transmit it again during subsequent connections.

[0106] The second public key and the second private key can also be generated on the client and server respectively using the same algorithm based on a certain parameter of the client.

[0107] If the second public key and the second private key are shared by multiple clients, the server can use the common second public key for encryption when transmitting data to multiple clients, without needing to distinguish which client's public key to use for encryption. This reduces server performance overhead. Clients can then decrypt using the shared private key.

[0108] When the second public key information and the second private key information are shared by multiple clients, the server can send the second private key information to the client when the client logs in or registers, and update the second private key information periodically.

[0109] In this process, the first public key information sent by the server to the client in step 101 is an asymmetric key, generated by the server. The asymmetric key contains a private key and a public key; the public key is used for encryption, and the private key is used for decryption. The server sends the public key information to the client in step 101, while the private key is kept by the server itself. In step 102, the client can send the second symmetric public key information to the server; that is, the same key can be used to encrypt and decrypt data, and the client and server share the same key. Using the same key for encryption and decryption, symmetric encryption is generally faster than asymmetric encryption because it involves lower computational costs. Asymmetric encryption provides higher security because even if the public key is public, the private key remains secret. Therefore, the first public key information is specifically used for the secure exchange of the second public key information, which is used to encrypt the actual transmitted media data. This combined use ensures both security and efficiency. A secure channel is established between the client and server through asymmetric encryption, while symmetric encryption provides higher efficiency during the actual data transmission phase.

[0110] Step 103: The client receives the scrambled media data and the first scrambled character description value sent by the server. After receiving the media data segment request from the client, the server encrypts the scrambled media data of the corresponding segment and the corresponding first scrambled character description value using the second public key information, and then sends it to the client. Scrambled media data refers to binary media data in normal order that has been rearranged, making it impossible to play normally in its original order. The first scrambled character description value specifically describes the scrambling parameters of the corresponding media data segment, used to guide the client on how to parse and process the scrambled media data.

[0111] Specifically, after receiving a media data segment request from a client, the server retrieves the original media data for the corresponding segment from storage. The server then shuffles each bit of the original media data for that segment, so that it is no longer arranged according to the original time sequence. For example, the first bit is moved to the third bit, and the second bit is moved to the fifth bit.

[0112] During the scrambling process, the server generates a first scrambling description value, which is a hash value used to identify the scrambling relationship between each bit of media data. The client then uses this first scrambling description value to parse the scrambling relationship between each bit of media data and restore the scrambled media data.

[0113] Step 104: The client uses a specific player to play the scrambled media data normally based on the first scrambled description value. The client uses the second private key information to decrypt the data from the server, obtaining the first scrambled description value and the scrambled media data. Then, the client pushes the first scrambled description value and the scrambled media data to the specific player. The specific player adjusts the scrambled media data according to the first scrambled description value, restoring it to the original media data, and then converts the original media data to FMP4 format for online playback.

[0114] It is important to note that the algorithm for parsing and restoring media data in this application is built into a specific player, not on the client's local machine. Therefore, the specific player is responsible for restoring the scrambled data to its original form; the client or user cannot know how the specific player uses the scrambled description values ​​to restore the media data. By performing the parsing on a specific player, these sensitive processes can be confined to a trusted environment, thereby improving security.

[0115] Additionally, it's important to note that some media players do not save the video data after playback. Instead, they parse and reconstruct the media data for online playback while simultaneously deleting the completed media data segments.

[0116] Example 2

[0117] Figure 3 This is a schematic diagram illustrating the specific process of preventing video downloading provided in Embodiment 2 of the present invention.

[0118] In this embodiment, steps 101-104 are also implemented, but some details of each step are different from those in Embodiment 1. The following content will specifically explain the differences between this embodiment and Embodiment 1 in each step.

[0119] After the server verifies the token's validity in step 101, in addition to sending the first public key information to the client, this embodiment also sends a second garbled description value to the client. Upon receiving the second garbled description value, the client saves it locally.

[0120] Step 102 is the same as in Example 1, and will not be elaborated further here.

[0121] In step 103, the scrambled media data received by the client in Embodiment 1 is only scrambled according to the first scrambling description value. In this embodiment, the scrambled media data received by the client is first scrambled based on the first scrambling description value, and then scrambled a second time based on the second scrambling description value.

[0122] In step 104, in this embodiment, the specific player first restores the media data segment based on the second scrambled description value pre-stored on the client. Then, based on the first scrambled description value sent along with the media data segment, it adjusts the offset of the restored media data segment accordingly before playback. Subsequently, the specific player converts the offset-adjusted media data segment into FMP4 format for online playback.

[0123] In this embodiment, the media data undergoes two scrambling processes, based on a first scrambled description value and a second scrambled description value, respectively. When the server transmits the scrambled media data to the client, even if an attacker intercepts the data and obtains both the first scrambled description value and the scrambled data, they will be unable to correctly parse and reconstruct the media data. This is because the scrambled media data has undergone two rounds of scrambling, and the interceptor only obtains the description value from the first scrambling (i.e., the first scrambled description value), while the description values ​​from the second scrambling (i.e., the second scrambled description value) have already been sent to the client before the server sends the media data. By sending the data and description values ​​separately, security is enhanced, preventing the interceptor from obtaining all the scrambled description values, thus making it more difficult to reconstruct the original media data. Therefore, compared to Embodiment 1, this embodiment is more secure in preventing video downloading.

[0124] Figure 4 This is a flowchart of the video anti-downloading process for servers provided in an embodiment of the present invention.

[0125] Step 401: Establish a connection channel between the server and the client. The server first verifies the validity of the token carried in the connection request from the client. If the token is valid, the server sends the first public key information to the client, establishing a connection channel between the server and the client.

[0126] Step 402: The server receives a media data request from the client. The server receives user identity information encrypted using the first public key information and the requested media data fragment from the client. The server verifies whether the user identity information is valid. If the user identity information is valid, the server, based on the fragment requested by the client, encrypts the corresponding scrambled media data fragment and the first scrambled description value using the second public key information, and then sends the encrypted data to the client.

[0127] Step 403: The server sends the scrambled media data and a first scrambled character description value to the client, wherein the first scrambled character description value describes the scrambling information of the media data.

[0128] In step 401, after the server verifies the token as legitimate, the server can also send the second scrambled description value to the client. Correspondingly, in step 403, the scrambled media data sent by the server to the client is first scrambled based on the first scrambled description value, and then scrambled a second time based on the second scrambled description value.

[0129] Exemplary device

[0130] Accordingly, embodiments of the present invention also provide a device for preventing video downloads, including a server-side device and a client-side device.

[0131] Figure 5 This is a schematic diagram of the specific device of the client, which includes: a connection module 501, a request module 502, a receiving module 503, and a specific player module 504.

[0132] The connection module 501 is used to establish a connection channel between the client and the server. After the user logs in, the connection module 501 obtains a token, then generates a connection request carrying the token and sends it to the server. After the server verifies that the token is valid, the connection module 501 receives the first public key information from the server and establishes a connection channel between the client and the server.

[0133] The request module 502 is mainly used to request media data from the server. It encrypts the user's identity information and the requested media data segment using the first public key information before sending them to the server.

[0134] The receiving module 503 is used to receive scrambled media data and a first scrambled description value sent by the server. Specifically, it receives the media data segment from the server, which is encrypted using the second public key information and scrambled using the first scrambled description value, along with the associated first scrambled description value. It then decrypts the encrypted media data segment and provides it to the specific player module 504.

[0135] The specific player module 504 is used to play the scrambled media data normally based on the first scrambled character description value. The decrypted media data segments are then offset and adjusted accordingly using the first scrambled character description value. Subsequently, the offset-adjusted media data segments are converted to FMP4 format for online playback.

[0136] Furthermore, in another embodiment of the present invention, after the server verifies that the token is legitimate, the receiving module 503 can also receive a second scrambled description value from the server and store it locally. Correspondingly, the scrambled media data sent by the server by the receiving module 503 is first scrambled based on a first scrambled description value, and then scrambled a second time based on the second scrambled description value. The specific playback module 504 first restores the media data segment based on the second scrambled description value pre-stored locally on the client; then, based on the first scrambled description value sent along with the media data segment, it adjusts the restored media data segment with a corresponding offset before playback. The offset-adjusted media data segment is converted to FMP4 format for online playback.

[0137] Figure 6 This is a schematic diagram of the specific device of the server, which includes: a channel module 601, a receiving module 602, and a sending module 603.

[0138] The channel module 601 is used to establish a connection channel with the client. First, it verifies the validity of the token carried in the connection request from the client. If the token is valid, the channel module 601 sends the first public key information to the client, establishing a connection channel between the server and the client.

[0139] The receiving module 602 is used to receive media data requests from clients. Specifically, it receives user identity information encrypted using the first public key information and the requested media data segment from the client.

[0140] The sending module 603 is used to send scrambled media data and a first scrambled character description value to the client. First, it verifies the legitimacy of the user identity information. If the user identity information is legitimate, the sending module 603, based on the segment requested by the client, encrypts the corresponding scrambled media data segment and the first scrambled character description value using the second public key information, and then sends the encrypted data to the client.

[0141] In another embodiment of the present invention, after the channel module 601 verifies that the token is legitimate, the sending module 603 may also send a second scrambled description value to the client. The scrambled media data sent by the sending module 603 to the client is first scrambled based on the first scrambled description value, and then scrambled a second time based on the second scrambled description value.

[0142] While the spirit and principles of the invention have been described with reference to several specific embodiments, it should be understood that the invention is not limited to the disclosed specific embodiments, and the division of aspects does not imply that features in these aspects cannot be combined for benefit; such division is merely for ease of description. The invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

[0143] This invention provides:

[0144] 1. A method for preventing video downloading, including:

[0145] A connection channel is established between the client and the server;

[0146] The client requests media data from the server;

[0147] The client receives scrambled media data and a first scrambled character description value sent by the server, wherein the first scrambled character description value describes the scrambling information of the media data;

[0148] The client uses a specific player to play the scrambled media data normally based on the first scrambled character description value.

[0149] 2. According to the method described in item 1, the establishment of a connection channel between the client and the server includes the following steps:

[0150] The client obtains a token after the user logs in;

[0151] The client generates a connection request carrying the token and sends it to the server;

[0152] After the server verifies that the token is legitimate, the client receives the first public key information from the server;

[0153] Establish a connection channel between the client and the server.

[0154] 3. The method according to item 2, wherein the client requests media data from the server, further includes the following steps:

[0155] The client uses the first public key information to encrypt the user's identity information and the requested media data segment, and sends them to the server together.

[0156] 4. The method according to item 3, wherein the step of the client receiving the scrambled media data and the first garbled character description value sent by the server further includes the following steps:

[0157] Receive media data segments from the server that are encrypted using a second public key and scrambled using a first scrambling description value, along with the associated first scrambling description value.

[0158] 5. According to the method described in item 4, wherein the client uses a specific player to play the scrambled media data normally based on the first scrambled character description value, the method further includes the following steps:

[0159] The client decrypts the encrypted media data fragments and provides them to a specific player;

[0160] A specific player adjusts the decrypted media data segments by offsetting them according to the first garbled description value before playing them.

[0161] 6. According to the method described in item 2, after the server verifies that the token is legitimate, the client also receives a second garbled description value from the server and stores it locally.

[0162] 7. According to the method described in item 6, wherein the scrambled media data sent by the client to the server is first scrambled based on a first scrambling description value, and then scrambled a second time based on a second scrambling description value.

[0163] 8. The method according to item 7, wherein the step of the client using a specific player to play the scrambled media data normally based on the first scrambled character description value further includes:

[0164] First, the media data segments are restored based on the second garbled description value pre-stored on the client;

[0165] Then, based on the first garbled description value sent along with the media data segment, the restored media data segment is adjusted accordingly with the corresponding offset before playback.

[0166] 9. The method according to item 5 or 8, wherein the specific player converts the offset-adjusted media data segments into FMP4 format for online playback.

[0167] 10. A method for preventing video downloading, including:

[0168] Establish a connection channel between the server and the client;

[0169] The server receives media data requests from the client;

[0170] The server sends scrambled media data and a first scrambled character description value to the client, the first scrambled character description value describing the scrambling information of the media data.

[0171] 11. The method according to item 10, wherein establishing a connection channel between the server and the client further includes the following steps:

[0172] The server verifies whether the token carried in the connection request from the client is valid;

[0173] If the token is valid, the server sends the first public key information to the client;

[0174] Establish a connection channel between the server and the client.

[0175] 12. The method according to item 11, wherein the server receiving a media data request from a client further includes the following steps:

[0176] The server receives user identity information encrypted using the first public key from the client, along with requested media data fragments.

[0177] 13. The method according to item 12, wherein the server sending the scrambled media data and the first garbled description value to the client further includes the following steps:

[0178] The server verifies whether the user's identity information is valid;

[0179] If the user identity information is valid, the server will encrypt the corresponding scrambled media data fragment and the first scrambled character description value using the second public key information based on the fragment requested by the client.

[0180] The server sends the encrypted data to the client.

[0181] 14. According to the method described in item 11, after the server verifies that the token is legitimate, the server also sends a second garbled description value to the client.

[0182] 15. The method according to item 14, wherein the scrambled media data sent by the server to the client is first scrambled based on a first scrambling description value, and then scrambled a second time based on a second scrambling description value.

[0183] 16. A device for preventing video downloading, comprising:

[0184] The connection module is used to establish a connection channel between the client and the server;

[0185] The request module is used to request media data from the server;

[0186] The receiving module is used to receive the scrambled media data and the first garbled description value sent by the server;

[0187] Specific player module: used to play the scrambled media data normally based on the first scrambled character description value.

[0188] 17. The apparatus according to claim 16, wherein the connection module further comprises:

[0189] Used to obtain a token after a user logs in;

[0190] Used to generate a connection request carrying the token and send it to the server;

[0191] After the server verifies that the token is legitimate, the connection module receives the first public key information from the server;

[0192] Establish a connection channel between the client and the server.

[0193] 18. The apparatus according to claim 17, wherein the request module further comprises:

[0194] This is used to encrypt the user's identity information and the requested media data fragment using the first public key information before sending them to the server.

[0195] 19. The apparatus according to claim 18, wherein the receiving module further comprises:

[0196] Used to receive media data segments from the server that are encrypted using the second public key information and scrambled using a first scrambling description value, along with the associated first scrambling description value;

[0197] The encrypted media data fragments are decrypted and then provided to the specific player module.

[0198] 20. The device according to claim 19, wherein the particular player module further comprises:

[0199] The specific player module adjusts the decrypted media data segments by offsetting them according to the first garbled description value before playing them.

[0200] 21. The apparatus according to claim 17, wherein after the server verifies that the token is legitimate, the receiving module further receives a second garbled description value from the server and stores it locally.

[0201] 22. The apparatus according to claim 21, wherein the receiving module receives scrambled media data sent by the server, first scrambles it based on a first scrambled character description value, and then scrambles it a second time based on a second scrambled character description value.

[0202] 23. The apparatus according to claim 22, wherein the particular player module further comprises:

[0203] First, the media data segments are restored based on the second garbled character description value pre-stored locally on the client.

[0204] Then, based on the first garbled description value sent along with the media data segment, the restored media data segment is adjusted accordingly with the corresponding offset before playback.

[0205] 24. The apparatus according to claim 19 or 23, wherein the specific player module converts offset-adjusted media data segments into FMP4 format for online playback.

[0206] 25. A device for preventing video downloading, comprising:

[0207] The channel module is used to establish a connection channel with the client;

[0208] The receiving module is used to receive media data requests from the client;

[0209] The sending module is used to send scrambled media data and a first garbled description value to the client.

[0210] 26. The apparatus according to claim 25, wherein the channel module further comprises:

[0211] Used to verify the validity of the token carried in the connection request from the client;

[0212] If the token is valid, the channel module sends the first public key information to the client;

[0213] Establish a connection channel between the server and the client.

[0214] 27. The apparatus according to claim 26, wherein the receiving module further comprises:

[0215] Used to receive user identity information encrypted with the first public key from the client, as well as requested media data segments.

[0216] 28. The apparatus according to claim 27, wherein the transmitting module further comprises:

[0217] Used to verify whether the user's identity information is legitimate;

[0218] If the user identity information is valid, the sending module encrypts the corresponding scrambled media data fragment and the first scrambled character description value using the second public key information based on the fragment requested by the client.

[0219] Used to send encrypted data to the client.

[0220] 29. The apparatus according to item 26, wherein after the channel module verifies that the token is legitimate, the sending module also sends a second garbled description value to the client.

[0221] 30. The apparatus according to claim 29, wherein the scrambled media data sent by the sending module to the client is first scrambled based on a first scrambling description value, and then scrambled a second time based on a second scrambling description value.

Claims

1. A method for preventing video downloading, comprising: When a secure connection channel is first established between the client and the server, the client receives and stores the second garbled description value sent by the server locally for a long time. The client requests media data from the server; The client receives a scrambled media data segment sent by the server and a first scrambled character description value corresponding to this session. The first scrambled character description value describes the scrambling information of the media data. The scrambled media data segment is obtained by the server scrambling the original media data segment a first time according to the second scrambled character description value and then scrambling it a second time according to the first scrambled character description value. The client first uses the second scrambled character description value stored locally for a long time to restore the scrambled media data segment for the first time; Then, the first garbled character description value received this time is used to perform a second restoration and adjustment on the media data segment after the first restoration, so as to obtain a media data segment that can be played normally. The adjusted media data segments are converted to FMP4 format for online playback.

2. The method according to claim 1, wherein establishing a connection channel between the client and the server comprises the following steps: The client obtains a token after the user logs in; The client generates a connection request carrying the token and sends it to the server; After the server verifies that the token is legitimate, the client receives the first public key information from the server; Establish a connection channel between the client and the server.

3. The method according to claim 2, wherein the client requests media data from the server further comprises the following steps: The client uses the first public key information to encrypt the user's identity information and the requested media data segment, and sends them to the server together.

4. The method according to claim 3, wherein the step of the client receiving the scrambled media data fragment sent by the server and the first garbled character description value corresponding to the current session further includes the following steps: Receive media data segments from the server that are encrypted using a second public key and scrambled using a first scrambling description value, along with the associated first scrambling description value.

5. The method according to claim 2, wherein after the server verifies that the token is legitimate, the client further receives a second garbled description value from the server and stores it locally.

6. A method for preventing video downloading, comprising: Establish a connection channel between the server and the client; After the server verifies the client's initial connection as legitimate, it sends a second garbled description value to the client for long-term local storage. The server receives media data requests from the client; The server retrieves the raw media data fragment requested by the client; The server performs a first scrambling of the original media data segment according to the second scrambling description value; The server generates a first scrambled character description value corresponding to this session, and then performs a second scramble on the media data segment after the first scramble according to the first scrambled character description value; The server sends a second scrambled media data segment and a first scrambled character description value to the client. The first scrambled character description value describes the scrambling information of the media data.

7. The method according to claim 6, wherein establishing a connection channel between the server and the client further comprises the following steps: The server verifies whether the token carried in the connection request from the client is valid; If the token is valid, the server sends the first public key information to the client; Establish a connection channel between the server and the client.

8. The method of claim 7, wherein the server receiving a media data request from a client further comprises the following steps: The server receives user identity information encrypted using the first public key from the client, along with requested media data fragments.

9. The method according to claim 8, wherein the server sending the scrambled media data and the first garbled character description value to the client further comprises the following steps: The server verifies whether the user's identity information is valid; If the user identity information is valid, the server will encrypt the corresponding scrambled media data fragment and the first scrambled character description value using the second public key information based on the fragment requested by the client. The server sends the encrypted data to the client.

10. The method according to claim 7, wherein after the server verifies that the token is legitimate, the server also sends a second garbled description value to the client.

11. A device for preventing video downloading, comprising: The connection module is used to receive and locally store the second garbled description value sent by the server when a secure connection channel is first established between the client and the server. The request module is used to request media data from the server; The receiving module is used to receive the scrambled media data segment sent by the server and the first scrambled character description value corresponding to the current session. The scrambled media data segment is obtained by the server scrambling the original media data segment for the first time according to the second scrambled character description value and then scrambling it for the second time according to the first scrambled character description value. Specific player module: used to first restore the scrambled media data segment using the second scrambled description value stored locally for a long time; Then, the first garbled character description value received this time is used to perform a second restoration and adjustment on the media data segment after the first restoration, so as to obtain a media data segment that can be played normally. The adjusted media data segments are converted to FMP4 format for online playback.

12. The apparatus of claim 11, wherein the connection module further comprises: Used to obtain a token after a user logs in; Used to generate a connection request carrying the token and send it to the server; After the server verifies that the token is legitimate, the connection module receives the first public key information from the server; Establish a connection channel between the client and the server.

13. The apparatus of claim 12, wherein the request module further comprises: This is used to encrypt the user's identity information and the requested media data fragment using the first public key information before sending them to the server.

14. The apparatus of claim 12, wherein after the server verifies that the token is legitimate, the receiving module further receives a second garbled description value from the server and stores it locally.

15. A device for preventing video downloading, comprising: The channel module is used to establish a connection channel with the client; The receiving module is used to receive media data requests from the client; The sending module is used to obtain the raw media data fragments requested by the client; The original media data segment is scrambled for the first time according to the second scrambling description value; Generate a first scrambled character description value corresponding to this session, and scramble the media data segment after the first scrambling according to the first scrambled character description value; send the second scrambled media data segment and the first scrambled character description value to the client, wherein the first scrambled character description value describes the scrambling information of the media data.

16. The apparatus of claim 15, wherein the channel module further comprises: Used to verify the validity of the token carried in the connection request from the client; If the token is valid, the channel module sends the first public key information to the client; Establish a connection channel between the server and the client.

17. The apparatus of claim 16, wherein the receiving module further comprises: Used to receive user identity information encrypted with the first public key from the client, as well as requested media data segments.

18. The apparatus of claim 17, wherein the transmitting module further comprises: Used to verify whether the user's identity information is legitimate; If the user identity information is valid, the sending module encrypts the corresponding scrambled media data fragment and the first scrambled character description value using the second public key information based on the fragment requested by the client. Used to send encrypted data to the client.

19. The apparatus of claim 16, wherein after the channel module verifies that the token is legitimate, the sending module also sends a second garbled description value to the client.