A video sharing method, device, storage medium and program product

CN122994530APending Publication Date: 2026-10-27杭州市临安区融媒体中心(杭州市临安区广播电视台)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510526526.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-25
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

而现实中,并不是所有人都愿意购买视频网站的会员或进行付费按次购买,而将会员账号密码告知他人不符合视频网站的会员账号管理规则,一般的会员账号管理规则通常会限制账号的登录设备数,同时多人在不同设备上使用同一账号登录容易触发视频网站的对违规使用账号的禁用,而将会员账号密码公开给第三人,也不符合账号持有人的利益

Benefits of technology

[0043]通过上述方案,扩大了社交分享应用场景,活跃了社交关系,同时也提高了视频传播便利程度,增加了视频版权方利益。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122994530A_ABST
    Figure CN122994530A_ABST
Patent Text Reader

Abstract

The application provides a video sharing method, device, storage medium and program product. The video sharing method sends a video sharing link generation request to a video server by a user. The video server combines and DHT transforms a VID, a UID, a SN sequence, and a user certificate characteristic value by using the UID, the VID, and the SN sequence of generating a sharing event to obtain a second sequence. The video server returns the second sequence, the SN, and an iteration count of a root key of the user certificate to the user. The user generates a sharing link by inserting the second sequence, a verification key, and the SN sequence into a URL of the shared video to share the video. The scheme expands a social sharing application scenario, activates social relationships, and improves the convenience of video transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the fields of video sharing and video on demand, and particularly to a video sharing method, apparatus, storage medium, and program product. Background Technology

[0002] In social networks, popular TV dramas or movies are often hot topics of discussion among friends, forming the main topics of conversation in social interactions. Usually, popular TV dramas or movies are copyrighted, and users usually need to log in to an account, purchase a membership, or pay per view to watch popular TV dramas or movies on video websites.

[0003] To join discussions about trending videos on social networks and participate with friends, you need to watch the same popular show or movie with multiple people. This requires everyone to purchase a video streaming service membership or pay-per-view. Alternatively, you could share your membership account password with a friend for remote access. However, not everyone is willing to purchase a video streaming service membership or pay-per-view. Sharing your membership account password violates the video streaming service's account management rules, which typically limit the number of devices an account can be logged into. Furthermore, multiple people using the same account on different devices can easily trigger the video streaming service to ban accounts that violate the rules. Revealing your membership account password to a third party is also not in the account holder's best interest.

[0004] At the same time, as the video copyright holder, there is also a need for a plan that can selectively invite specific users to watch popular dramas, increase interaction with fans, enhance the promotion of the videos, and increase the social discussion surrounding popular dramas.

[0005] A way to share videos that require a membership account to watch with friends. A solution that does not harm the interests of video websites and account holders has become an urgent demand. Summary of the Invention

[0006] This invention provides a video sharing method, apparatus, storage medium, and program product. The specific technical solution is as follows:

[0007] A video sharing method, the method comprising:

[0008] Step 1: Paid users trigger a video sharing link generation request on the client, generate a video sharing link generation request, and send the video sharing link generation request to the video server;

[0009] Step 2: The video server generates a video sharing link request, obtains the user identity ID (UID) of the user sending the request and the target video identifier (VID) of the request, and uses the VID and UID to generate a serial number (SN) sequence identifying the sharing event. The VID, UID, SN sequence, and the user certificate feature value of the paying user are combined to generate a first sequence. A DHT calculation is performed on the first sequence to generate a second sequence. An iterative count of the derivation verification key is generated using the root key of the user certificate corresponding to the UID, according to preset rules. The paying user's public key is then used to perform this calculation on the second sequence. The SN sequence and iteration count are encrypted to obtain an encrypted sequence. The generated encrypted sequence is inserted into the URL of the video to be shared to obtain a second URL. The obtained second URL is returned to the paying user as the response message of the video sharing link generation request.

[0010] Step 3: The paying user's client parses the second URL, obtains the encrypted sequence field in the second URL, decrypts the encrypted sequence using the paying user's private key, reads the second sequence, SN sequence, and iteration count, and generates a verification key using the locally stored root key and the iteration count; performs double encryption on the second sequence and verification key using the user's private key and the video server's public key to obtain the third sequence, and inserts the SN sequence and the third sequence into the URL of the video to be shared to obtain the sharing link;

[0011] Step 4: The paying user sends the sharing link to the user to whom it is shared;

[0012] Step 5: The user to whom the link is shared receives the sharing link;

[0013] Step 6: The client of the user to whom the link is shared parses the sharing link and sends a video-on-demand request for the video corresponding to the VID to the video server;

[0014] Step 7: After receiving the on-demand request sent by the user to be shared, the video server uses the SN sequence to determine the user's public key and iteration count, and then uses the user's public key and the video server's private key to decrypt the third sequence, obtain the decrypted second sequence and verification key, use the SN sequence to obtain the VID, UID and user certificate feature value and combine them to generate the fourth sequence, perform DHT calculation on the fourth sequence to generate the fifth sequence, or obtain the recorded fifth sequence by querying the SN sequence database;

[0015] Compare whether the fifth sequence is the same as the second sequence in the on-demand request, and at the same time use the root key of the paid user to derive the verification key according to the iteration count, and compare whether the obtained verification key is consistent with the verification key in the on-demand request;

[0016] Step 8: If the fifth sequence is the same as the second sequence and the verification key matches, allow the video playback request of the user being shared with and execute playback.

[0017] In step 1: When a paid user is logged in normally, a video sharing link generation request is triggered, generating a video sharing link generation request and sending it to the video server. Specifically, this includes:

[0018] S1.1: Paid users in normal login status trigger the sharing control in the video interface corresponding to the on-demand video and send a video sharing link generation request to the video server. The video sharing link generation request carries the destination video identifier ID (VID) and the number of sharing requests.

[0019] S1.2: The video server calculates the corresponding fee based on the VID and the number of sharing requests using the charging rules, and returns the corresponding fee notification to the paying user.

[0020] S1.3: Paid users confirm payment according to the fee prompt, and the payment confirmation is returned to the video server.

[0021] Step 2 also includes the video server maintaining the data relationship between SN sequence, iteration count, sharing count, and UID;

[0022] In another specific implementation, the video server maintains the data relationship between SN, first sequence, iteration count, and UID;

[0023] In another specific implementation, the video server maintains the data relationship between the SN sequence number, the first sequence, the iteration count, the UID, and the number of shares.

[0024] In one specific implementation, the video server also maintains the remaining shareable playback count for each SN number, wherein the initial value of the remaining shareable playback count is set to the share count.

[0025] Step 4: The paying user sends the sharing link to the user to whom it is shared. Specifically, it includes:

[0026] The paid user client uses a symmetric key to encrypt the shared link, sends the encrypted shared link to the recipient, and securely sends the symmetric key to the recipient separately.

[0027] Step 5: The user receiving the sharing link specifically includes:

[0028] The client receiving the shared link and symmetric key receives the encrypted sharing link and uses the symmetric key to decrypt the sharing link, obtaining the decrypted sharing link. The video website service address part in the sharing link is in plaintext after being decrypted by the client receiving the shared link, so that it can be recognized by DNS resolution and accessed normally to the video website server.

[0029] Step 8: If the fifth sequence and the second sequence, and the verification key match, a video playback request is made to the user who is to be shared, and playback is executed. This specifically includes:

[0030] If the fifth sequence is the same as the second sequence and the verification key matches, determine whether the remaining shareable playback count corresponding to the SN sequence is 0. If not, play according to VID and decrement the remaining shareable playback count by 1. If the remaining shareable playback count is 0, reject the playback request.

[0031] Repeated clicks within a set interval for users from the same source are only counted as one click and are not deducted from the remaining shareable play count.

[0032] The interval time set for users from the same source can be 1 minute, 10 minutes, 30 minutes, or 60 minutes;

[0033] This invention also discloses a video sharing system, the system comprising: a video sharing client, a client to be shared with, and a server; the video sharing client includes: The video sharing link generation request module, sharing link generation module, and sharing link sending module are included; the video server includes an initial sharing link generation module, a server verification module, and a server playback module.

[0034] The video sharing link generation request module is used by paid users in normal login status to trigger the video sharing link generation request operation, generate the video sharing link generation request, and send the video sharing link generation request to the video server.

[0035] The initial sharing link generation module is used by the video server to obtain the user identity ID (UID) of the user who sent the video sharing link generation request and the target video identifier (VID) of the video sharing link generation request based on the video sharing link generation request. Using the VID and UID, a SN sequence identifying this sharing event is generated. The VID, UID, SN sequence and the user certificate feature value of the paying user are combined to generate a first sequence. The first sequence is subjected to DHT calculation to generate a second sequence. An iterative count of the derivation verification key is generated using the root key of the user certificate corresponding to the UID according to a preset rule. The second sequence, SN sequence and iterative count are encrypted using the user public key of the paying user to obtain an encrypted sequence. The generated encrypted sequence is inserted into the URL of the video to be shared to obtain a second URL. The obtained second URL is returned to the paying user as a response message of the video sharing link generation request.

[0036] The sharing link generation module is used by the paying user client to parse the second URL, obtain the encrypted sequence field in the second URL, decrypt the encrypted sequence using the paying user's private key, read the second sequence, SN sequence, and iteration count, generate a verification key using the locally stored root key and the iteration count, and perform double encryption on the second sequence and verification key using the user's private key and the video server's public key to obtain a third sequence. The SN sequence and the third sequence are then inserted into the URL of the video to be shared to obtain the sharing link.

[0037] The sharing link sending module is used by a paying user to send the sharing link to the user to whom it is shared;

[0038] The user to whom the link is shared receives the sharing link;

[0039] The client of the user being shared with parses the sharing link and then sends a video-on-demand request for the video corresponding to the VID to the video server.

[0040] The server verification module works as follows: After the video server receives a video-on-demand request from the user to be shared, it uses the SN sequence to determine the user's public key and iteration count, and then uses the user's public key and the video server's private key to decrypt the request, obtaining the decrypted second sequence and verification key. It then uses the SN sequence to obtain the VID, UID, and user certificate feature value, and combines them to generate a fourth sequence. Finally, it performs DHT calculation on the fourth sequence to generate a fifth sequence, or obtains the recorded fifth sequence by querying the SN sequence database.

[0041] Compare whether the fifth sequence is the same as the second sequence in the on-demand request, and at the same time use the root key of the paid user to derive the verification key according to the iteration count, and compare whether the obtained verification key is consistent with the verification key in the on-demand request;

[0042] The server playback module is used to allow the shared user to play the video when the fifth sequence and the second sequence, and the verification key match, and to execute the playback.

[0043] The above solutions have expanded the application scenarios for social sharing, invigorated social relationships, improved the convenience of video dissemination, and increased the benefits for video copyright holders. Attached Figure Description

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

[0045] Figure 1 This is a schematic diagram of the video sharing method proposed in this invention;

[0046] Figure 2 This is a diagram illustrating the functional structure of the shared client.

[0047] Figure 3 This is a schematic diagram of an exemplary device of the present invention; Detailed Implementation

[0048] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0049] This invention provides a video sharing method, apparatus, storage medium, and program product. In existing social application scenarios, sharing popular videos with friends typically requires either each person to purchase a membership or pay-per-view, reducing the enthusiasm for discussing popular videos together, or sharing membership account passwords with friends for remote access violates the video network's membership account management rules, leading to unfavorable results and limiting the dissemination of popular videos. Simultaneously, video copyright holders also need a solution that allows targeted invitations to specific users to watch popular shows, thereby increasing video promotion and boosting social discussion. This solution allows users to easily invite others to watch popular videos together, enriching and enhancing social topics, facilitating video dissemination, and increasing copyright revenue for video websites.

[0050] like Figure 1 A video sharing method, the method comprising:

[0051] Step 1: Paid users trigger a video sharing link generation request on the client, generate a video sharing link generation request, and send the video sharing link generation request to the video server;

[0052] Step 2: The video server generates a video sharing link request, obtains the user identity ID (UID) of the user sending the request and the target video identifier (VID) of the request, and uses the VID and UID to generate a serial number (SN) sequence identifying the sharing event. The VID, UID, SN sequence, and the user certificate feature value of the paying user are combined to generate a first sequence. A DHT calculation is performed on the first sequence to generate a second sequence. An iterative count of the derivation verification key is generated using the root key of the user certificate corresponding to the UID, according to preset rules. The paying user's public key is then used to perform this calculation on the second sequence. The SN sequence and iteration count are encrypted to obtain an encrypted sequence. The generated encrypted sequence is inserted into the URL of the video to be shared to obtain a second URL. The obtained second URL is returned to the paying user as the response message of the video sharing link generation request.

[0053] The paid user client parses the second URL, obtains the encrypted sequence field in the second URL, decrypts the encrypted sequence using the paid user's private key, reads the second sequence, SN sequence, and iteration count, and generates a verification key using the locally stored root key and the iteration count; the second sequence and verification key are then double-encrypted using the user's private key and the video server's public key to obtain a third sequence, and the SN sequence and the third sequence are inserted into the URL of the video to be shared to obtain the sharing link;

[0054] Step 4: The paying user sends the sharing link to the user to whom it is shared;

[0055] Step 5: The user to whom the link is shared receives the sharing link;

[0056] The client of the user being shared with parses the sharing link and then sends a video-on-demand request for the video corresponding to the VID to the video server;

[0057] After receiving a video-on-demand request from the user to be shared, the video server uses the SN sequence to determine the user's public key and iteration count, and then uses the user's public key and the video server's private key to decrypt the request, obtaining the decrypted second sequence and verification key. The SN sequence is used to obtain the VID, UID and user certificate feature value, which are then combined to generate the fourth sequence. The fourth sequence is then subjected to DHT calculation to generate the fifth sequence, or the fifth sequence can be obtained by querying the SN sequence database.

[0058] Compare whether the fifth sequence is the same as the second sequence in the on-demand request, and at the same time use the root key of the paid user to derive the verification key according to the iteration count, and compare whether the obtained verification key is consistent with the verification key in the on-demand request;

[0059] Step 8: If the fifth sequence is the same as the second sequence and the verification key matches, allow the video playback request of the user being shared with and execute playback.

[0060] In one specific implementation, in step 1: a paid user in a normal login state triggers a video sharing link generation request operation, generates a video sharing link generation request, and sends the video sharing link generation request to the video server, specifically including:

[0061] S1.1: Paid users in normal login status trigger the sharing control in the video interface corresponding to the on-demand video and send a video sharing link generation request to the video server. The video sharing link generation request carries the destination video identifier ID (VID) and the number of sharing requests.

[0062] S1.2: The video server calculates the corresponding fee based on the VID and the number of sharing requests using the charging rules, and returns the corresponding fee notification to the paying user.

[0063] S1.3: Paid users confirm payment according to the fee prompt, and the payment confirmation is returned to the video server.

[0064] By providing payment reminders, users are made aware of the potential costs associated with on-demand sharing.

[0065] User payment confirmation can be achieved through the user's actual payment behavior or by confirming the bill reminder.

[0066] In one specific implementation, step 2 further includes the video server maintaining the data relationship between the SN sequence, iteration count, and UID;

[0067] In another specific implementation, the video server maintains the data relationship between SN, first sequence, iteration count, and UID;

[0068] In another specific implementation, the video server maintains the data relationship between the SN sequence number, the first sequence, the iteration count, the UID, and the number of shares.

[0069] In another specific implementation, the video server also maintains the remaining shareable playback count for each SN number, wherein the initial value of the remaining shareable playback count is set to the share count.

[0070] Step 4: The paying user sends the sharing link to the user to whom it is shared. Specifically, it includes:

[0071] In one specific implementation, since the shared link may not be used for a specific target, such as a user who has not registered on the video website, certain security measures are required to prevent the shared link from being abused. Certain security measures are implemented for the transmission of shared links, specifically:

[0072] The paid user's client uses a key to encrypt the shared link and sends the encrypted shared link to the recipient, while also sending the key separately to the recipient through other means.

[0073] The key can be a regular symmetric key, or, to improve security, a one-time symmetric key can be used to enhance the security of the shared link.

[0074] In one specific implementation, in step 4, the sharing user performs multiple sharing link generation processes for different users, wherein each sharing link also contains a sharing sequence number, which is the order of the number of times it is shared.

[0075] In another specific implementation, in step 4, the sharing user performs the sharing link generation process only once for each different shared user;

[0076] Step 5: The user receiving the sharing link specifically includes:

[0077] The client receiving the shared link and key receives the encrypted sharing link and uses the key to decrypt the sharing link, obtaining the decrypted sharing link. The video website service address part in the sharing link is in plaintext after being decrypted by the client receiving the shared link, so that it can be recognized by DNS resolution and accessed normally to the video website server.

[0078] The key can be a regular symmetric key, or, to improve security, a one-time symmetric key can be used to enhance the security of the shared link. Therefore, the decryption method used by the user being shared with can be a symmetric key decryption method.

[0079] Step 8: If the fifth sequence and the second sequence, and the verification key match, a video playback request is made to the user who is to be shared, and playback is executed. This specifically includes:

[0080] If the fifth sequence and the second sequence, and the verification key match, determine whether the remaining shareable playback count corresponding to the SN sequence is 0. If not, play according to the VID and decrement the remaining shareable playback count by 1. If the remaining shareable playback count is 0, reject the playback request.

[0081] In another specific implementation, to prevent the shared link from being made public by the user, leading to disorderly use by others within the allowed number of shares, it is necessary to limit the valid time and number of uses for each shared link issued by a paying user. Specific measures can be as follows:

[0082] In step 3: the paid user client parses the second URL, obtains the encrypted sequence field in the second URL, decrypts the encrypted sequence using the user's private key, reads the second sequence, SN sequence and iteration count, and generates a verification key using the locally stored root key and the iteration count; Simultaneously, usage constraints are set. The second sequence, verification key, and usage constraints are double-encrypted using the user's private key and the video server's public key to obtain the third sequence. The SN sequence and the third sequence are then inserted into the URL of the video to be shared to obtain the sharing link. In steps S7-S8, in addition to verifying whether the second sequence in the on-demand request is the same as the locally calculated fifth sequence or the saved second sequence, and determining whether the verification key comparison is consistent, the video server also needs to determine whether to allow the video playback request of the user to be shared based on the parsed usage constraints, and then execute the playback.

[0083] In one specific implementation, the constraint used is a time-dependent constraint. Paid users can directly include the set usable time range as a time-related constraint in the share link; alternatively, they can include the share link generation time as a time-related constraint in the share link, and agree upon or default to the valid time length of the generated share link between the paid user and the video server. Using these methods, the video server can determine whether the on-demand request time is within a valid on-demand time range based on the usable time range in the share link, or whether the time of receiving the on-demand request exceeds the valid time length from the share link generation time, thereby performing further checks on the legality of the on-demand request.

[0084] Specifically, in step 3: the paying user client parses the second URL, obtains the encrypted sequence field in the second URL, decrypts the encrypted sequence using the user's private key, reads the second sequence, SN sequence, and iteration count, and generates a verification key using the locally stored root key and the iteration count; simultaneously, a time-related constraint is set, and the second sequence, verification key, and time-related constraint are double-encrypted using the user's private key and the video server's public key to obtain a third sequence, and the SN sequence and third sequence are inserted into the URL of the video to be shared to obtain a sharing link; then in steps S7-S8, in addition to verifying whether the fifth sequence and the second sequence are the same and judging whether the verification key comparison is consistent, the video server also needs to determine whether to allow the video playback request of the shared user based on the parsed time-related constraint and execute playback. When the time-related constraint is a usable time interval, the video server can determine whether the on-demand request time is a valid on-demand time interval based on the usable time interval in the sharing link; when the time-related constraint is the sharing link generation time, the video server determines whether the time of receiving the on-demand request exceeds the valid time length agreed upon or defaulted in the video sharing protocol mechanism.

[0085] In one specific implementation, the effective time length can be, for example, 10 minutes, 30 minutes, or 60 minutes, 1 hour, or 1 day, without limitation.

[0086] In another specific implementation, the constraint is the number of times a single source is played; when the constraint is the number of times a single source is played, the number of times a single source is played can be set and written into the sharing link when the sharing user generates the sharing link; for specific implementation, see the method of using a time constraint.

[0087] In another specific implementation, the constraint used is the number of same-origin playbacks. It should be noted that the video server can analyze the playback requests from users sharing the link and limit the number of playbacks for users sharing from the same origin. For example, users with the same source IP or source MAC address are considered to be from the same source. The number of same-origin playbacks can be an agreement between the sharing user and the video server, or a default number. The number of same-origin playbacks can be 1, 2, or 3 times, without limitation. When the number of same-origin playbacks can be a default number between the sharing user and the video server, the sharing user does not need to include this constraint on the number of same-origin playbacks in the sharing link when generating it. The video server can then limit the maximum number of times a user can play videos from the same sharing link according to the default sharing protocol.

[0088] By limiting the number of times a video is played from the same source, we can prevent the same user from repeatedly and disorderly wasting video-on-demand opportunities.

[0089] In another specific implementation, the usage constraints can be a combination of the aforementioned time-related constraints and the same-origin on-demand count. Thus, the usage constraints written into the sharing link can be a combination of the aforementioned time-related constraints and the same-origin on-demand count. Alternatively, when the same-origin on-demand count is the default count, the usage constraints written into the sharing link can be the aforementioned time-related constraints. The video server executes the on-demand constraints according to the agreed protocol.

[0090] It should be noted that for repeated clicks by users from the same source (such as those with the same source IP address) within a very short time frame, the video server can treat it as a single on-demand action, rather than counting repeated on-demand actions by the same user from the same source within the usage constraints as a cumulative on-demand count. This is because network instability allows users to make repeated requests within a relatively short time frame, such as within 30 seconds.

[0091] This means that for users from the same source who share content, even if the sharing behavior is reasonable and repeated within the usage constraints, the remaining sharing times will not be reduced by 1.

[0092] This invention also discloses a video sharing system, the system comprising: a video sharing client, a client to be shared with, and a server; the video sharing client includes: The system includes a video sharing link generation request module, a sharing link generation module, and a sharing link sending module; the video server includes an initial sharing link generation module, a server verification module, and a server playback module.

[0093] The video sharing link generation request module is used by paid users to trigger a video sharing link generation request operation on the client, generate a video sharing link generation request, and send the video sharing link generation request to the video server;

[0094] The initial sharing link generation module is used by the video server to obtain the user identity ID (UID) of the user who sent the video sharing link generation request and the target video identifier (VID) of the video sharing link generation request based on the video sharing link generation request. Using the VID and UID, a SN sequence identifying this sharing event is generated. The VID, UID, SN sequence and the user certificate feature value of the paying user are combined to generate a first sequence. The first sequence is subjected to DHT calculation to generate a second sequence. An iterative count of the derivation verification key is generated using the root key of the user certificate corresponding to the UID according to a preset rule. The second sequence, SN sequence and iterative count are encrypted using the user public key of the paying user to obtain an encrypted sequence. The generated encrypted sequence is inserted into the URL of the video to be shared to obtain a second URL. The obtained second URL is returned to the paying user as a response message of the video sharing link generation request.

[0095] The sharing link generation module is used by the paying user client to parse the second URL, obtain the encrypted sequence field in the second URL, decrypt the encrypted sequence using the paying user's private key, read the second sequence, SN sequence, and iteration count, generate a verification key using the locally stored root key and the iteration count, and perform double encryption on the second sequence and verification key using the user's private key and the video server's public key to obtain a third sequence. The SN sequence and the third sequence are then inserted into the URL of the video to be shared to obtain the sharing link.

[0096] The sharing link sending module is used by a paying user to send the sharing link to the user to whom it is shared;

[0097] The user to whom the link is shared receives the sharing link;

[0098] The client of the user being shared with parses the sharing link and then sends a video-on-demand request for the video corresponding to the VID to the video server;

[0099] The server verification module is used to determine the user's public key and iteration count by using the SN sequence after the video server receives the on-demand request sent by the user to be shared. Then, it uses the user's public key and the video server's private key to decrypt the third sequence, obtain the decrypted second sequence and verification key, use the SN sequence to obtain the VID, UID and user certificate feature value and combine them to generate the fourth sequence, and perform DHT calculation on the fourth sequence to generate the fifth sequence, or obtain the recorded fifth sequence by querying the SN sequence database.

[0100] Compare whether the fifth sequence is the same as the second sequence in the on-demand request, and at the same time use the root key of the paid user to derive the verification key according to the iteration count, and compare whether the obtained verification key is consistent with the verification key in the on-demand request;

[0101] The server playback module is used to allow the shared user's video playback request and execute playback when the fifth sequence and the second sequence are the same and the verification key matches.

[0102] This invention also discloses a computer-readable storage medium for storing a program. Specifically, the program may include program code, which includes computer operation instructions. The memory may include main memory and non-volatile memory, and provides instructions and data to the processor. The processor reads the corresponding computer program from the non-volatile memory into main memory and then runs it, performing the above method steps.

[0103] This solution also proposes a program product that stores one or more programs, the one or more programs including instructions, which, when included in multiple... When the application is executed on an electronic device, it enables the electronic device to perform the methods described above.

[0104] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0105] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0106] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Without further limitations, the statement... The phrase “includes one…” does not exclude the presence of other identical elements in the process, method, product or apparatus that includes said element.

[0107] The various embodiments in this solution are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

Claims

1. A video sharing method, the method comprising: Step 1: Paid users trigger a video sharing link generation request on the client, generate a video sharing link generation request, and send the video sharing link generation request to the video server; Step 2: The video server generates a video sharing link request, obtains the user identity ID (UID) of the user who sent the request and the target video identifier (VID) of the request, and uses the VID and UID to generate an SN sequence that identifies this sharing event. The VID, UID, SN sequence and the user certificate feature value of the paying user are combined to generate a first sequence. The first sequence is then subjected to DHT calculation to generate a second sequence. An iterative count of the derivation verification key is generated using the root key of the user certificate corresponding to the UID according to a preset rule. The second sequence, SN sequence and iterative count are then encrypted using the paying user's public key to obtain an encrypted sequence. The generated encrypted sequence is inserted into the URL of the video to be shared to obtain a second URL. The obtained second URL is returned to the paying user as a response message to the video sharing link generation request. Step 3: The paying user's client parses the second URL, obtains the encrypted sequence field in the second URL, decrypts the encrypted sequence using the paying user's private key, reads the second sequence, SN sequence, and iteration count, and generates a verification key using the locally stored root key and the iteration count; performs double encryption on the second sequence and verification key using the user's private key and the video server's public key to obtain the third sequence, and inserts the SN sequence and the third sequence into the URL of the video to be shared to obtain the sharing link; Step 4: The paying user sends the sharing link to the user to whom it is shared; Step 5: The user to whom the link is shared receives the sharing link; Step 6: The client of the user to whom the link is shared parses the sharing link and sends a video-on-demand request for the video corresponding to the VID to the video server; Step 7: After receiving the on-demand request sent by the user to be shared, the video server uses the SN sequence to determine the user's public key and iteration count, and then uses the user's public key and the video server's private key to decrypt the third sequence, obtain the decrypted second sequence and verification key, use the SN sequence to obtain the VID, UID and user certificate feature value and combine them to generate the fourth sequence, perform DHT calculation on the fourth sequence to generate the fifth sequence, or obtain the recorded fifth sequence by querying the SN sequence database; Compare whether the fifth sequence is the same as the second sequence in the on-demand request, and at the same time use the root key of the paid user to derive the verification key according to the iteration count, and compare whether the obtained verification key is consistent with the verification key in the on-demand request. Step 8: If the fifth sequence is the same as the second sequence and the verification key matches, allow the video playback request of the user being shared with and execute playback.

2. The video sharing method as described in claim 1, characterized in that, In step 1: When a paid user is logged in normally, a video sharing link generation request is triggered, which is then sent to the video server. This includes: S1.1: Paid users in normal login status trigger the sharing control in the video interface corresponding to the on-demand video and send a video sharing link generation request to the video server. The video sharing link generation request carries the destination video identifier ID (VID) and the number of sharing requests. S1.2: The video server calculates the corresponding fee based on the VID and the number of sharing requests using the charging rules, and returns the corresponding fee notification to the paying user. S1.3: Paid users confirm payment according to the fee prompt, and the payment confirmation is returned to the video server.

3. The video sharing method as described in claim 2, characterized in that, Step 2 further includes: the video server maintaining the data relationship between SN sequence, iteration count, and UID; or, the video server maintaining the data relationship between SN, first sequence, iteration count, and UID; or the video server maintaining the data relationship between SN sequence number, first sequence, iteration count, UID, number of shares, and remaining number of shareable views.

4. The video sharing method as described in claim 1, wherein steps 4, 5, and 6 specifically include: The paying user's client encrypts the sharing link using a symmetric key, sends the encrypted sharing link to the recipient, and securely sends the symmetric key to the recipient separately. The recipient's client receives the encrypted sharing link and the symmetric key, and uses the symmetric key to decrypt the sharing link to obtain the decrypted sharing link.

5. In the video sharing method as described in claim 1, during the process of generating the third sequence in step 3, the paying user sets usage constraints, performs double encryption on the second sequence, the verification key, and the usage constraints using the user's private key and the video server's public key to obtain the third sequence, and inserts the SN sequence and the third sequence into the URL of the video to be shared to obtain the sharing link; After verifying the validity of the second sequence in the video-on-demand request and the verification key, the video server also needs to determine whether to allow the video playback request of the user being shared based on the usage constraints.

6. A video sharing method as described in claim 5, wherein the constraints are time-related constraints and / or the number of times the video is played from the same source; wherein, Time-related constraints are the usable time range or the time when the shareable link is generated, and the same-source on-demand limit is set to the maximum number of times a user from the same source is allowed to play the video.

7. A video sharing system, the system comprising: Video sharing client, the client being shared with, and server; The video sharing client includes: a video sharing link generation request module, a sharing link generation module, and a sharing link sending module; the video server includes: an initial sharing link generation module, a server verification module, and a server playback module. Video sharing link generation request module: This module is used by paid users to trigger a video sharing link generation request on the client side, generate a video sharing link generation request, and send the video sharing link generation request to the video server. Initial sharing link generation module: This module is used by the video server to obtain the user identity ID (UID) of the user sending the video sharing link generation request and the target video identifier (VID) of the video sharing link generation request based on the video sharing link generation request. Using the VID and UID, it generates an SN sequence identifying this sharing event. It combines the VID, UID, SN sequence, and the user certificate feature value of the paying user to generate a first sequence. It performs DHT calculation on the first sequence to generate a second sequence. It then generates an iterative count for deriving a verification key from the root key of the user certificate corresponding to the UID according to preset rules. It encrypts the second sequence, SN sequence, and iterative count using the paying user's public key to obtain an encrypted sequence. The generated encrypted sequence is inserted into the URL of the video to be shared to obtain a second URL. Finally, the obtained second URL is returned to the paying user as a response message to the video sharing link generation request. The sharing link generation module is used by the paying user client to parse the second URL, obtain the encrypted sequence field in the second URL, decrypt the encrypted sequence using the paying user's private key, read the second sequence, SN sequence, and iteration count, generate a verification key using the locally stored root key and the iteration count, and perform double encryption on the second sequence and verification key using the user's private key and the video server's public key to obtain a third sequence. The SN sequence and the third sequence are then inserted into the URL of the video to be shared to obtain the sharing link. Share link sending module: Used by paying users to send the share link to the recipient user; The user to whom the link is shared receives the sharing link; The client of the user being shared with parses the sharing link and then sends a video-on-demand request for the video corresponding to the VID to the video server; Server verification module: After the video server receives a video-on-demand request from the user to be shared, it uses the SN sequence to determine the user's public key and iteration count, and then uses the user's public key and the video server's private key to decrypt the third sequence to obtain the decrypted second sequence and verification key. It uses the SN sequence to obtain the VID, UID and user certificate feature value and combines them to generate the fourth sequence. It performs DHT calculation on the fourth sequence to generate the fifth sequence, or obtains the recorded fifth sequence by querying the SN sequence database. Compare whether the fifth sequence is the same as the second sequence in the on-demand request, and at the same time use the root key of the paid user to derive the verification key according to the iteration count, and compare whether the obtained verification key is consistent with the verification key in the on-demand request. Server playback module: Used to allow the shared user's video playback request and execute playback when the fifth sequence and the second sequence are the same and the verification key matches.

8. A video sharing system, characterized in that, It includes a processor and a memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the steps of any one of the methods described in claims 1 to 6.

9. A computer-readable storage medium, characterized in that, It includes a computer program that, when run on a processor, causes the processor to perform the steps of any of the methods described in claims 1 to 6.

10. A computer program product, characterized in that, The method includes a computer program stored in a computer-readable storage medium; when the processor of the video sharing device reads the computer program from the computer-readable storage medium, the processor executes the computer program, causing the video sharing device to perform the steps of any one of claims 1 to 6.