A scalable multimedia watermark embedding method, system, device and equipment

By obtaining the video acquisition request from the requesting end, determining the real URL and watermark configuration information corresponding to the proxy URL, the connection problem between the requesting end and the source end of different communication protocols in video transmission is solved, and the traceability and effective transmission of video is realized.

CN118870141BActive Publication Date: 2024-12-31HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411345167.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2024-12-31
Estimated Expiration
2044-09-25

AI Technical Summary

Technical Problem

The requesting end and the source end of different communication protocols cannot establish a connection or parse the video stream during video transmission, resulting in the video transmission failure and the traceability of the video cannot be achieved.

Method used

By obtaining the video acquisition request from the requesting end, determine the real URL and watermark configuration information corresponding to the proxy URL, obtain the video stream from the source end according to the communication protocol supported by the source end, and add a watermark to the video stream, and finally use the communication protocol supported by the requesting end to be Send the video stream after the watermark.

Benefits of technology

The video transmission between the requesting end and the source end of different communication protocols is realized, ensuring the traceability and effective transmission of videos, and solving the problems of transmission abnormalities and non-traceability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118870141B_ABST
    Figure CN118870141B_ABST
Patent Text Reader

Abstract

The present application provides a scalable multimedia watermark embedding method, system, device and equipment, and relates to the field of data transmission technology. The method includes: obtaining a first video acquisition request sent by a requesting end; the first video acquisition request carries a proxy URL of a target video; determining a real URL corresponding to the proxy URL from a corresponding relationship; the service address contained in each real URL represents the source end of the video indicated by the real URL, and the protocol identifier contained in the real URL represents the communication protocol of the source end; according to the communication protocol represented by the protocol identifier contained in the real URL, a second video acquisition request is sent to the target source end of the real URL to obtain the video stream of the target video; the second video acquisition request contains a real URL; according to the communication protocol represented by the protocol identifier contained in the proxy URL, the video stream of the target video is sent to the requesting end. The present application is for video transmission between a requesting end and a source end that support different communication protocols.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data transmission, and in particular to an extensible multimedia watermark embedding method, system, device and equipment. Background Art

[0002] Different communication protocols define different rules for data transmission. For example, if the data to be transmitted is a video, the request end and the source end can use the same communication protocol and transmit the video according to the same rules.

[0003] However, if the requesting end and the source end support different communication protocols, and the requesting end and the source end use different rules for video transmission, it will lead to abnormal situations such as the requesting end and the source end cannot establish a connection, or the requesting end cannot parse the video sent by the source end, and video transmission between the requesting end and the source end cannot be achieved. Summary of the invention

[0004] The purpose of the embodiments of the present application is to provide a scalable multimedia watermark embedding method, system, device and equipment to transmit video to a requester and a source end supporting different communication protocols, and to ensure the traceability of the transmitted video. The specific technical solution is as follows:

[0005] In a first aspect, an embodiment of the present application provides a scalable multimedia watermark embedding method, the method comprising:

[0006] Obtain a first video acquisition request sent by a requesting end; wherein the first video acquisition request carries a proxy uniform resource locator (Uniform Resource Location, URL) of the requested target video;

[0007] Determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from a pre-configured correspondence relationship; wherein the correspondence relationship records the real URL, proxy URL, and watermark configuration information of each video to be provided; the service address included in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier included in the real URL represents the communication protocol supported by the source end;

[0008] Sending a second video acquisition request to a target source end represented by a service address included in the determined real URL according to a communication protocol represented by a protocol identifier included in the determined real URL, so as to acquire a video stream of the target video from the target source end; wherein the second video acquisition request carries the determined real URL;

[0009] Adding a watermark to the video stream of the target video according to the determined watermark configuration information;

[0010] According to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request, the video stream of the target video with the watermark added is sent to the requesting end.

[0011] Optionally, adding a watermark to the video stream of the target video according to the determined watermark configuration information includes:

[0012] Initializing an encoder and a decoder based on video parameters of the target video obtained in advance from the target source end;

[0013] Decapsulating the video stream of the target video according to the communication protocol represented by the protocol identifier contained in the determined real URL;

[0014] Decoding the decapsulated result using the initialized decoder to obtain a video frame of the target video;

[0015] Adding a watermark to the video frame of the target video according to the determined watermark configuration information;

[0016] Encode the watermarked video frame using the initialized encoder;

[0017] The encoding result is encapsulated according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request to obtain a video stream of the target video with a watermark added.

[0018] Optionally, obtain the video parameters of each video to be provided by following the steps below:

[0019] For each real URL recorded in the corresponding relationship, a parameter acquisition request is sent to the source end represented by the service address contained in the real URL according to the communication protocol represented by the protocol identifier contained in the real URL, so as to obtain the video parameters of the video indicated by the real URL from the source end.

[0020] Optionally, the method is applied to a proxy side;

[0021] The agent terminal is configured with a communication protocol library; the communication protocol library records decapsulation functions and encapsulation functions of multiple communication protocols; the decapsulation function and encapsulation function of each communication protocol are used to support the agent terminal to communicate with other terminals through the communication protocol;

[0022] The method further comprises:

[0023] When an update instruction for the communication protocol library is received, the decapsulation function and the encapsulation function carried in the update instruction are added to the communication protocol library.

[0024] Optionally, the added watermark includes a unique identifier of the requesting end carried in the first video acquisition request.

[0025] In a second aspect, the embodiment of the present application provides a scalable multimedia watermark embedding system, including a request end, a proxy end and a source end; wherein:

[0026] The requesting end is used to send a first video acquisition request to the proxy end;

[0027] The proxy end is used to execute the above-mentioned scalable multimedia watermark embedding method;

[0028] The source end is used to send the video stream of the requested video to the proxy end when receiving the second video acquisition request sent by the proxy end.

[0029] In a third aspect, an embodiment of the present application provides a scalable multimedia watermark embedding device, the device comprising:

[0030] A first acquisition module is used to acquire a first video acquisition request sent by a requesting end; wherein the first video acquisition request carries a proxy URL of the requested target video;

[0031] A first determination module is used to determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from a pre-configured correspondence relationship; wherein the correspondence relationship records the real URL, proxy URL, and watermark configuration information of each video to be provided; the service address contained in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier contained in the real URL represents the communication protocol supported by the source end;

[0032] A second acquisition module is used to send a second video acquisition request to a target source end represented by a service address contained in the determined real URL according to a communication protocol represented by a protocol identifier contained in the determined real URL, so as to acquire a video stream of the target video from the target source end; wherein the second video acquisition request carries the determined real URL;

[0033] An adding module, used for adding a watermark in a video stream of the target video according to the determined watermark configuration information;

[0034] The sending module is used to send the video stream of the target video with the watermark added to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request.

[0035] The present application also provides an electronic device, including:

[0036] Memory, used to store computer programs;

[0037] The processor is used to implement the above-mentioned scalable multimedia watermark embedding method when executing the program stored in the memory.

[0038] The embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned scalable multimedia watermark embedding method is implemented.

[0039] The embodiment of the present application also provides a computer program product, including a computer program, which implements the above-mentioned scalable multimedia watermark embedding method when executed by a processor.

[0040] Beneficial effects of the embodiments of the present application:

[0041] An extensible multimedia watermark embedding method provided by an embodiment of the present application can obtain a first video acquisition request sent by a requesting end; determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from a pre-configured correspondence; send a second video acquisition request to a target source end represented by a service address contained in the determined real URL according to a communication protocol represented by a protocol identifier contained in the determined real URL, so as to obtain a video stream of a target video from the target source end; add a watermark to the video stream of the target video according to the determined watermark configuration information; and send the video stream of the target video with the watermark added to the requesting end according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request.

[0042] In the above process, the first video acquisition request sent by the requesting end carries the proxy URL of the requested target video, and the service address in the proxy URL indicates the proxy end, which can receive the first video acquisition request; since the corresponding relationship records the real URL and the proxy URL of each video, and the service address included in the real URL represents the source end where the video indicated by the real URL is located, the real URL corresponding to the proxy URL in the first video acquisition request can be determined from the pre-configured corresponding relationship, and the service address included in the determined real URL represents the source end where the target video is located. In the process of sending a second video acquisition request to the target source end according to the communication protocol represented by the protocol identifier contained in the real URL, since the protocol identifier contained in the real URL represents the communication protocol supported by the source end, the target video can be acquired from the target source end according to the communication protocol supported by the target source end; in the process of sending the video stream of the target video to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL, since the communication protocol represented by the protocol identifier contained in the proxy URL is the communication protocol supported by the request end, the video stream of the target video can be sent to the request end according to the communication protocol supported by the request end, so as to perform video transmission for the request end and the source end that support different communication protocols.

[0043] In addition, the pre-configured correspondence also records the watermark configuration information of the watermark that needs to be added to each video to be provided. The watermark configuration information corresponding to the proxy URL in the first video acquisition request can be determined from the correspondence. According to the determined watermark configuration information, a watermark can be added to the video stream of the target video, and the video stream of the target video with the watermark added can be sent to the requesting end. The target video received by the requesting end contains the watermark, thereby ensuring the traceability of the transmitted video.

[0044] Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0046] Figure 1 A schematic diagram of a flow chart of a first scalable multimedia watermark embedding method provided in an embodiment of the present application;

[0047] Figure 2 A schematic diagram of a corresponding relationship provided in an embodiment of the present application;

[0048] Figure 3 A schematic diagram of a flow chart of a second scalable multimedia watermark embedding method provided in an embodiment of the present application;

[0049] Figure 4 A schematic diagram of a flow chart of a third scalable multimedia watermark embedding method provided in an embodiment of the present application;

[0050] Figure 5 A schematic diagram of the structure of an extensible multimedia watermark embedding system provided in an embodiment of the present application;

[0051] Figure 6 A schematic diagram of the principle of the first scalable multimedia watermark embedding method provided in the embodiment of the present application;

[0052] Figure 7 A schematic diagram of the principle of a second scalable multimedia watermark embedding method provided in an embodiment of the present application;

[0053] Figure 8 A schematic diagram of the structure of an expandable multimedia watermark embedding device provided in an embodiment of the present application;

[0054] Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0055] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field based on the present application belong to the scope of protection of the present application.

[0056] In order to more clearly understand the embodiments of the present application, the technical terms involved in the embodiments of the present application are introduced below.

[0057] Real Time Streaming Protocol (RTSP): An application layer protocol used to control real-time data transmission, commonly used in Internet Protocol (IP) cameras and some professional streaming media applications.

[0058] Real-Time Messaging Protocol (RTMP): A protocol for real-time audio and video data transmission, commonly used to push video content from the source (such as an encoder or camera) to a streaming server, which is then distributed to the viewer's client.

[0059] Web Real-Time Communications (WebRTC) is a real-time communication technology that allows web applications or sites to establish peer-to-peer connections between browsers without the help of an intermediary to achieve the transmission of video streams and / or audio streams or any other data.

[0060] Hypertext Transfer Protocol LiveStreaming (HLS): A streaming media transmission protocol based on Hypertext Transfer Protocol (HTTP). It is designed for real-time audio and video streaming over the Internet, and is particularly suitable for providing live and on-demand services to devices using mobile operating systems (iPhone Operating System, IOS) and browsers that support the fifth generation Hypertext Markup Language (HyperText Markup Language version 5, HTML5).

[0061] Secure Reliable Transport (SRT): An open source Internet transport protocol that focuses on providing low-latency, high-reliability video transmission solutions. It is designed to optimize streaming performance under unpredictable network conditions and is particularly suitable for real-time video transmission scenarios.

[0062] Uniform Resource Location (URL): The access address of data content is a network address used to indicate how to obtain data content from the network. If the data content is a video stream, the URL can be a video stream URL, which is a video stream access address used to indicate how to obtain video content from the network. A typical video stream URL mainly includes the following parts: protocol part, service address and path parameters. Among them, the protocol part is a protocol identifier used to characterize the communication protocol used for data transmission. Common communication protocols can be RTMP, RTSP, HLS, etc. The protocol identifier representing the communication protocol as RTSP can be rtsp: / / , and the protocol identifier representing the communication protocol as RTMP can be rtmp: / / . The service address can include an address part and a port part; the address part can be a unique identifier of the source, such as the domain name or IP address of the server where the video stream is located; the port part can be a port number. For example, the service address is 192.168.1.1:8554, 192.168.1.1 is the IP address, and 8554 is the port number. The port part can be empty. If the port part in a URL is empty, data transmission is performed through the default port of the communication protocol corresponding to the URL. For example, if the protocol identifier in the protocol part of the URL is RTSP, data transmission is performed through the default port 554 of the RTSP communication protocol; if the protocol identifier in the protocol part of the URL is RTMP, data transmission is performed through the default port 1935 of the RTMP communication protocol. The path parameter is the location of the video resource in the server. For example, the URL can be rtsp: / / admin:hik12345@192.168.1.64:554 / Streaming / Channels / 101, where the protocol part is rtsp: / / , the service address is admin:hik12345@192.168.1.64:554, and the path parameter is Streaming / Channels / 101. For another example, the URL may be rtmp: / / 192.168.1.64:554 / video, where the protocol portion is rtmp: / / , the service address is 192.168.1.64:554, and the path parameter is video. For another example, the URL may be rtmp: / / example.com / live / stream1, where the protocol portion is rtmp: / / , the port portion is empty to indicate that data is transmitted through the default port 1935 of the RTMP communication protocol, the service address is example.com, and the path parameter is live / stream1. In the embodiments of the present application, uniform resource locators are collectively referred to as URLs.

[0063] Multimedia watermarking: A method of embedding specific information (such as copyright information, identifiers, metadata, etc.) into multimedia content (such as audio and video) in digital form. Digital watermarks can be used for copyright protection, content authentication, tampering detection, and tracking illegal copies.

[0064] In order to perform video transmission between a request end and a source end supporting different communication protocols, the embodiments of the present application provide a scalable multimedia watermark embedding method, system, apparatus, device medium and product.

[0065] Among them, the scalable multimedia watermark embedding method provided by the embodiment of the present application can be applied to an electronic device, which can receive a video acquisition request from a requesting end and send a video acquisition request to a source end; specifically, the electronic device can be a proxy end, and the proxy end can specifically be a server. The source end can be a server storing a video stream, or a camera collecting a video stream; the requesting end can be a web client or an application client that needs to view the video stream.

[0066] Among them, a scalable multimedia watermark embedding method provided in an embodiment of the present application may include the following steps:

[0067] Obtain a first video acquisition request sent by the requesting end; wherein the first video acquisition request carries a proxy uniform resource locator URL of the requested target video;

[0068] Determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from the pre-configured correspondence relationship; wherein the correspondence relationship records the real URL, proxy URL, and watermark configuration information of each video to be provided; the service address included in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier included in the real URL represents the communication protocol supported by the source end;

[0069] Sending a second video acquisition request to a target source end represented by a service address included in the determined real URL according to a communication protocol represented by a protocol identifier included in the determined real URL, so as to acquire a video stream of a target video from the target source end; wherein the second video acquisition request carries the determined real URL;

[0070] Adding a watermark to a video stream of a target video according to the determined watermark configuration information;

[0071] According to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request, the video stream of the target video with the watermark added is sent to the requesting end.

[0072] In the above process, the first video acquisition request sent by the requesting end carries the proxy URL of the requested target video, and the service address in the proxy URL indicates the proxy end, which can receive the first video acquisition request; since the corresponding relationship records the real URL and the proxy URL of each video, and the service address included in the real URL represents the source end where the video indicated by the real URL is located, the real URL corresponding to the proxy URL in the first video acquisition request can be determined from the pre-configured corresponding relationship, and the service address included in the determined real URL represents the source end where the target video is located. In the process of sending a second video acquisition request to the target source end according to the communication protocol represented by the protocol identifier contained in the real URL, since the protocol identifier contained in the real URL represents the communication protocol supported by the source end, the target video can be acquired from the target source end according to the communication protocol supported by the target source end; in the process of sending the video stream of the target video to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL, since the communication protocol represented by the protocol identifier contained in the proxy URL is the communication protocol supported by the request end, the video stream of the target video can be sent to the request end according to the communication protocol supported by the request end, so as to perform video transmission for the request end and the source end that support different communication protocols.

[0073] In addition, the pre-configured correspondence also records the watermark configuration information of the watermark that needs to be added to each video to be provided. The watermark configuration information corresponding to the proxy URL in the first video acquisition request can be determined from the correspondence. According to the determined watermark configuration information, a watermark can be added to the video stream of the target video, and the video stream of the target video with the watermark added can be sent to the requesting end. The target video received by the requesting end contains the watermark, thereby ensuring the traceability of the transmitted video.

[0074] The following describes an extensible multimedia watermark embedding method provided by an embodiment of the present application in conjunction with the accompanying drawings. Figure 1 As shown, the method may include steps S101-S105.

[0075] S101, obtaining a first video acquisition request sent by a requesting end.

[0076] The first video acquisition request carries the proxy uniform resource locator URL of the requested target video.

[0077] It is understandable that the proxy end can obtain the first video acquisition request sent by the request end, and the first video acquisition request is used to obtain the video stream of the target video. The first video acquisition request can also be called a video stream acquisition request. The first video acquisition request can carry the proxy URL of the requested target video. Specifically, when the proxy end receives the first video acquisition request, it can determine the communication protocol for sending the first video acquisition request based on the port through which the first video acquisition request is received, parse the first video acquisition request according to the determined communication protocol, obtain the protocol identifier, service address and path parameters, and then concatenate the protocol identifier, service address and path parameters to obtain the proxy URL.

[0078] It should be noted that the proxy URL of each video is pre-configured by a technician and provided to the requesting end. When a user chooses to view a video on the requesting end, the requesting end can generate a video acquisition request carrying the proxy URL of the video.

[0079] Among them, the agent can support multiple communication protocols, and the requester can send a video acquisition request to the agent according to the communication protocol supported by itself. In order to receive each video acquisition request, the agent can open the port corresponding to the communication protocol supported by the requester, and receive the video acquisition request through the port. For example, the requester sends a video acquisition request according to the RTSP protocol, and the agent can open the RTSP service of port 554 and receive the video acquisition request through port 554. Different communication protocols correspond to different ports. The agent can use the communication protocol corresponding to the port that receives the video acquisition request as the communication protocol supported by the requester, and parse the first video acquisition request sent by the requester according to the communication protocol supported by the requester.

[0080] The proxy URL contains a protocol identifier and a service address. The protocol identifier indicates the communication protocol supported by the requesting end. The service address of the proxy URL is: the proxy service address assigned by the proxy end to the real service address of a video. The service address of the proxy URL indicates that the video acquisition request needs to access the proxy end, not the source end. In addition, the service address also has a port number. For example, when the video stream address URL is rtsp: / / 192.168.1.1:554 / stream, the service address 192.168.1.1:554 indicates the network address and port number of the proxy end that needs to be accessed, and the protocol identifier rtsp: / / indicates that the requesting end supports the RTSP protocol. The proxy end can automatically open the RTSP protocol service of port 554 to receive and process video acquisition requests in response to the video acquisition request of the requesting end.

[0081] The communication protocol adopted by the requester or source may be one of RTSP, RTMP, WebRTC, HLS or SRT, etc. The proxy may support the communication protocols supported by the requester and the source.

[0082] It can be understood that the video stream of the target video may be a video stream of only video frames, or a video stream of video frames and audio frames.

[0083] S102: Determine, from a pre-configured correspondence, a real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request.

[0084] Among them, the corresponding relationship records the real URL, proxy URL, and watermark configuration information of each video to be provided; the service address contained in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier contained in the real URL represents the communication protocol supported by the source end.

[0085] It can be understood that for each video to be provided, the real URL, proxy URL, and watermark configuration information of the watermark to be added of the video are recorded in the pre-configured correspondence. From the pre-configured correspondence, the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request can be determined.

[0086] For example, Figure 2 As shown, the pre-configured correspondence may include the proxy URL, the real URL, and the watermark configuration information; for each video to be provided, the proxy URL, the real URL, and the watermark configuration information of the video correspond one to one. For example, for a video to be provided, the proxy URL is URL1, the real URL is URL2, and the watermark configuration information is the watermark content and style. Among them, the proxy URL is an intermediate address, which is an address open to the outside by the proxy end, representing the network address of the proxy end required to be requested; the real URL is the real storage address of the video; the watermark configuration information may include the content and style of the watermark required to be added to the video. For example, the content of the watermark to be added may be custom text, graphics, etc.; the style of the watermark to be added may be the watermark font, color, rotation, position, size, plain text watermark, implicit watermark, QR code watermark, etc.

[0087] Among them, the service address of the proxy URL of the video does not represent the storage location of the video, but serves as a transit address, representing the network address of the proxy end required for the request; the service address in the real URL of the video represents the storage location of the video at the source end, that is, the service address contained in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier contained in the real URL represents the communication protocol supported by the source end.

[0088] The protocol identifier in the determined real URL represents the communication protocol supported by the target source end storing the target video, the service address in the determined real URL represents that the target video is located at the target source end, and the path parameter in the determined real URL represents the storage path of the target video at the target source end.

[0089] It should be noted that for each proxy URL, the proxy URL corresponds to the real URL. Since the proxy URL indicates the proxy end and the real URL indicates the source end, the address part of the service address in the two URLs is different; the protocol part in the two URLs can be the same or different; the port part of the service address in the two URLs can be the same or different. Exemplarily, if the request end and the source end support the same communication protocol, the protocol part in the two URLs is the same, and the port part is also the same; if the request end and the source end support different communication protocols, the protocol part in the two URLs is different, and the port part is also different.

[0090] When the proxy URL and the real URL are URLs of different communication protocols, the proxy URL is completely different from the real URL. For example, in the preset correspondence, the proxy URL is rtsp: / / 192.168.1.1:554 / stream, where the protocol identifier rtsp: / / represents the RTSP communication protocol; the real URL corresponding to the proxy URL is rtmp: / / 192.168.1.2:1935 / test, where the protocol identifier rtmp: / / represents the RTMP communication protocol.

[0091] Optionally, in one implementation, there may be multiple corresponding proxy URLs for the same real URL. The address portion of the service address in the multiple proxy URLs is the same, and the address portion of the service address in the multiple proxy URLs all indicates the proxy end; the protocol identifiers in the multiple proxy URLs and the port numbers in the service address may be different.

[0092] It is understandable that, for a video, in order to enable each request end supporting different communication protocols to communicate with the proxy end, a proxy URL for the communication protocol supported by each request end can be pre-configured for the video. In other words, the communication protocols of each request end are different, the protocol part in the configured proxy URL and the port part in the service address are different, the address part in the service address is the same, and the address part indicates the proxy end.

[0093] S103, sending a second video acquisition request to the target source end represented by the service address contained in the determined real URL according to the communication protocol represented by the protocol identifier contained in the determined real URL, so as to acquire a video stream of the target video from the target source end.

[0094] The second video acquisition request carries a determined real URL;

[0095] It can be understood that the communication protocol represented by the protocol identifier contained in the determined real URL is the communication protocol supported by the target source end, that is, according to the communication protocol supported by the target source end, the second video acquisition request is sent to the target source end represented by the service address contained in the determined real URL. The second video acquisition request carries the protocol identifier, service address and path parameters of the determined real URL.

[0096] The target source end can receive the second video acquisition request through the port corresponding to the communication protocol supported by itself, parse the second video acquisition request, obtain the path parameter, find the target video according to the storage location indicated by the obtained path parameter, and send the video stream of the target video to the proxy end.

[0097] S104: Add a watermark to the video stream of the target video according to the determined watermark configuration information.

[0098] It is understandable that a watermark can be added to the video stream of the target video according to the watermark configuration information corresponding to the proxy URL. Specifically, a digital watermark can be added to the video stream of the target video through multimedia watermarking technology. Exemplarily, a custom text in the watermark configuration information can be added to the video frame of the target video.

[0099] Optionally, the watermark to be added may be a watermark in the form of video or audio. In the case where the watermark to be added is a watermark in the form of video, at least one watermarked video frame may be inserted into the target video, wherein the watermarked video frame may be a video frame containing watermarked content, for example, the watermarked video frame may be a video frame with the words "This video is provided by XXX". In the case where the watermark to be added is a watermark in the form of audio, at least one watermarked audio may be inserted into the audio of the target video, wherein the watermarked audio may be an audio containing watermarked content, for example, the watermarked audio may be a voice audio of "This video is provided by XXX".

[0100] Optionally, in one implementation, the added watermark includes a unique identifier of the requesting end carried in the first video acquisition request.

[0101] It is understandable that the added watermark may include a unique identifier of the requesting end carried in the first video acquisition request, such as an IP address, a Media Access Control Address (MAC) and the like of the requesting end.

[0102] In order to obtain the unique identifier of the requesting end, after receiving the first video obtaining request sent by the requesting end, the first video obtaining request may be parsed to obtain the unique identifier of the requesting end, and the obtained unique identifier may be cached.

[0103] In this implementation, the unique identifier of the requesting end can be used as a watermark and added to the video stream of the target video; if multiple requesting ends obtain the target video from the proxy end, and the target video is leaked from one of the multiple requesting ends, the requesting end that leaked the target video can be determined by the watermark in the leaked target video to prevent the target video from being illegally copied and disseminated.

[0104] S105: Send a video stream of the target video with the watermark added to the requesting end according to the communication protocol represented by the protocol identifier included in the proxy URL carried in the first video acquisition request.

[0105] It is understandable that the proxy end and the request end can communicate according to the communication protocol supported by the request end, and can send the video stream of the target video with the watermark added to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request, that is, according to the communication protocol supported by the request end. Specifically, the proxy end can send the video stream of the target video with the watermark added to the port corresponding to the communication protocol supported by the request end (that is, the communication protocol represented by the protocol identifier contained in the proxy URL).

[0106] Since the watermarking process is completed by the proxy, the requesting end can directly receive the video stream of the target video after the watermark is added, so the requesting end can receive the video stream with the watermark added without any perception. In addition, by configuring the required watermark through the watermark configuration information corresponding to the proxy URL, watermarks can be flexibly added to different videos to meet the needs of different video streaming application scenarios.

[0107] In the above process, the first video acquisition request sent by the requesting end carries the proxy URL of the requested target video, and the service address in the proxy URL indicates the proxy end, which can receive the first video acquisition request; since the corresponding relationship records the real URL and the proxy URL of each video, and the service address included in the real URL represents the source end where the video indicated by the real URL is located, the real URL corresponding to the proxy URL in the first video acquisition request can be determined from the pre-configured corresponding relationship, and the service address included in the determined real URL represents the source end where the target video is located. In the process of sending a second video acquisition request to the target source end according to the communication protocol represented by the protocol identifier contained in the real URL, since the protocol identifier contained in the real URL represents the communication protocol supported by the source end, the target video can be acquired from the target source end according to the communication protocol supported by the target source end; in the process of sending the video stream of the target video to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL, since the communication protocol represented by the protocol identifier contained in the proxy URL is the communication protocol supported by the request end, the video stream of the target video can be sent to the request end according to the communication protocol supported by the request end, so as to perform video transmission for the request end and the source end that support different communication protocols.

[0108] In addition, the pre-configured correspondence also records the watermark configuration information of the watermark that needs to be added to each video to be provided. The watermark configuration information corresponding to the proxy URL in the first video acquisition request can be determined from the correspondence. According to the determined watermark configuration information, a watermark can be added to the video stream of the target video, and the video stream of the target video with the watermark added can be sent to the requesting end. The target video received by the requesting end contains the watermark, thereby ensuring the traceability of the transmitted video.

[0109] Optionally, in one embodiment, as Figure 3 As shown, in Figure 1 Based on the scalable multimedia watermark embedding method shown, step S104 includes steps S1041-S1046.

[0110] S1041, initializing the encoder and the decoder based on the video parameters of the target video pre-acquired from the target source end.

[0111] It can be understood that the object of the watermarking process is the video frame. In order to add a watermark to the video stream of the target video, the video stream of the target video needs to be parsed into the form of video frames.

[0112] The proxy end can obtain the video parameters of each video from each source end in advance. The video parameters may be the frame rate, bit rate and resolution of the video. In other words, the proxy end can proactively perform media detection on the target source end corresponding to the determined real URL in advance.

[0113] The encoding format of the encoder can be initialized according to the video parameters so that the encoder can encode the video frames of the video according to the video parameters. For example, the initialized encoder encodes the video frames of the video to obtain a video stream with the encoding mode, frame rate, bit rate and resolution specified by the video parameters. The encoding mode can be: H264 Advanced Video Coding (AVC), H265 High Efficiency Video Coding (HEVC), Motion Joint Photographic Experts Group (MJPEG) or Surveillance Video and Audio Coding (SVAC), etc.

[0114] The decoding format of the decoder can be initialized according to the video parameters so that the decoder can decode the video stream according to the video parameters. For example, the initialized decoder decodes the video stream according to the encoding mode, frame rate, bit rate and resolution specified by the video parameters to obtain multiple video frames.

[0115] Optionally, in one implementation, the video parameters of each video to be provided are obtained by the following steps:

[0116] For each real URL recorded in the corresponding relationship, a parameter acquisition request is sent to the source end represented by the service address contained in the real URL according to the communication protocol represented by the protocol identifier contained in the real URL, so as to obtain the video parameters of the video indicated by the real URL from the source end.

[0117] It is understandable that after the corresponding relationship is configured, the proxy end can obtain the video parameters for each real URL in the corresponding relationship. In the process of the proxy end obtaining the video parameters of each video to be provided from each source end in advance, for each real URL recorded in the corresponding relationship, the video indicated by the real URL is the video to be provided, the source end represented by the service address contained in the real URL is the device storing the video to be provided, and the communication protocol represented by the protocol identifier contained in the real URL is the communication protocol supported by the device storing the video to be provided. According to the communication protocol represented by the protocol identifier contained in the real URL, a parameter acquisition request is sent to the source end represented by the service address contained in the real URL. After receiving the parameter acquisition request, the source end can send the video parameters of the video to be provided to the proxy end, and the proxy end can cache the received video parameters of the video to be provided.

[0118] In an embodiment of the present application, video parameters are obtained in advance. When a video acquisition request sent by the requesting end is received, the decoder and encoder can be quickly initialized, and watermark embedding and video sending can be performed in time to ensure that there will be no audio and video delays and request response timeouts, thereby improving the user viewing experience.

[0119] S1042, decapsulating the video stream of the target video according to the communication protocol represented by the protocol identifier contained in the determined real URL.

[0120] It can be understood that for the data sent according to each communication protocol, the data is encapsulated according to the communication protocol. The video stream of the target video obtained by the proxy from the target source is encapsulated according to the communication protocol supported by the target source, that is, the video stream of the target video is encapsulated according to the communication protocol represented by the protocol identifier contained in the determined real URL, and the video stream of the target video received by the proxy from the source is the result of the source encapsulating the video stream of the target video. Therefore, the received video stream of the target video can be decapsulated according to the communication protocol represented by the protocol identifier contained in the determined real URL. The decapsulated result can also be called the video packet of the target video.

[0121] S1043, using the initialized decoder to decode the decapsulation result to obtain a video frame of the target video.

[0122] It can be understood that the initialized decoder is initialized according to the video parameters, and the initialized decoder can decode the decapsulated result according to the video parameters of the target video in the target source end to obtain the video frame of the target video. The obtained video frame of the target video can also be called a video frame Frame.

[0123] S1044: Add a watermark to the video frame of the target video according to the determined watermark configuration information.

[0124] It can be understood that, according to the implementation manner provided in the aforementioned embodiment, a watermark can be added to the video frame of the target video according to the determined watermark configuration information.

[0125] S1045, using the initialized encoder to encode the video frame with the watermark added.

[0126] It can be understood that the initialized encoder is initialized according to the video parameters, and the initialized encoder can be used to encode the watermarked video frame to obtain a video stream whose video parameters are the video parameters of the target video in the target source end.

[0127] S1046: encapsulate the encoding result according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request to obtain a video stream of the target video with the watermark added.

[0128] It is understandable that after adding a watermark to a video frame, the video frame cannot be directly sent to the requesting end, but the video frame needs to be encoded into a video stream, and then the video stream is encapsulated for data transmission.

[0129] The encoding result can be encapsulated according to the communication protocol supported by the requesting end, that is, the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request, that is, the obtained video stream of the target video with the watermark added is the encapsulated video stream.

[0130] In an embodiment of the present application, the proxy end can decapsulate the received video stream of the target video, decode the decapsulation result to obtain the video frame of the target video, add a watermark to the video frame of the target video, encode and encapsulate the video frame with the watermark added, and embed the digital watermark in the unencoded video frame, thereby providing a multimedia watermark embedding method to ensure the execution of the watermark addition of the target video, ensure that the target video received by the requesting end contains the watermark, and effectively prevent the improper copying and dissemination of the video content.

[0131] Optionally, in one embodiment, as Figure 4 As shown, in Figure 1 Based on the scalable multimedia watermark embedding method shown, the scalable multimedia watermark embedding method provided in the embodiment of the present application is applied to the agent end, and the agent end is configured with a communication protocol library; the communication protocol library records the decapsulation function and encapsulation function of multiple communication protocols; the decapsulation function and encapsulation function of each communication protocol are used to support the agent end to communicate with other ends through the communication protocol.

[0132] The scalable multimedia watermark embedding method further includes step S401.

[0133] S401, when an update instruction for a communication protocol library is received, a decapsulation function and a encapsulation function carried in the update instruction are added to the communication protocol library.

[0134] It can be understood that the agent is configured with a communication protocol library, and the communication protocol library records the decapsulation function and encapsulation function of multiple communication protocols. If the agent needs to decapsulate data encapsulated according to a certain communication protocol, it can call the decapsulation function of the communication protocol in the communication protocol library to decapsulate the data; if the agent needs to encapsulate data according to a certain communication protocol, it can call the encapsulation function of the communication protocol in the communication protocol library to encapsulate the data. In other words, the decapsulation function and encapsulation function of each communication protocol are used to support the agent to communicate with other terminals through the communication protocol.

[0135] It can be understood that the agent can communicate with other ends by calling the communication protocol library. That is to say, the communication protocols recorded in the communication protocol library are the communication protocols that the agent can support. When the agent receives an update instruction for the communication protocol, the decapsulation function and encapsulation function carried in the update instruction can be added to the communication protocol library to update the communication protocol library, so that the agent can support more communication protocols.

[0136] It should be noted that the proxy can support multiple communication protocols, including the communication protocols supported by the requester and the communication protocols supported by the source. The proxy can proxy the data transmission between the requester and the source without modifying the requester. For example, the requester only supports the RTSP communication protocol, the source only supports the RTMP communication protocol, the proxy can support the RTSP communication protocol and the RTMP communication protocol, the requester can send a video acquisition request to the proxy according to the RTSP communication protocol, the source can send a video to the proxy according to the RTMP communication protocol, and the proxy can send a video to the requester according to the RTSP communication protocol.

[0137] In the embodiment of the present application, the communication protocol library can be updated to dynamically expand the communication protocols supported by the proxy end, so that the proxy end can support agents of different communication protocols, providing a scalable multimedia watermark embedding method.

[0138] Optionally, in one embodiment, the present application also provides an extensible multimedia watermark embedding system, such as Figure 5 As shown, the system includes a request end 510, a proxy end 520 and a source end 530; wherein,

[0139] The requesting end 510 is used to send a first video acquisition request to the proxy end 520;

[0140] The proxy terminal 520 is used to execute the scalable multimedia watermark embedding method provided by the above-mentioned embodiment;

[0141] The source end 530 is used to send the video stream of the requested video to the proxy end 520 when receiving the second video acquisition request sent by the proxy end 520.

[0142] It can be understood that the requesting end 510 can send a first video acquisition request to the proxy end 520 according to the communication protocol supported by itself, and the source end 530 can send the video stream of the requested video to the proxy end 520 according to the communication protocol supported by itself when receiving the second video acquisition request sent by the proxy end 520.

[0143] The specific implementation manner in which the proxy terminal 520 executes the scalable multimedia watermark embedding method provided in the aforementioned embodiment has been described in the aforementioned embodiment and will not be elaborated on here.

[0144] In the above process, the first video acquisition request sent by the requesting end carries the proxy URL of the requested target video, and the service address in the proxy URL indicates the proxy end, which can receive the first video acquisition request; since the corresponding relationship records the real URL and the proxy URL of each video, and the service address included in the real URL represents the source end where the video indicated by the real URL is located, the real URL corresponding to the proxy URL in the first video acquisition request can be determined from the pre-configured corresponding relationship, and the service address included in the determined real URL represents the source end where the target video is located. In the process of sending a second video acquisition request to the target source end according to the communication protocol represented by the protocol identifier contained in the real URL, since the protocol identifier contained in the real URL represents the communication protocol supported by the source end, the target video can be acquired from the target source end according to the communication protocol supported by the target source end; in the process of sending the video stream of the target video to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL, since the communication protocol represented by the protocol identifier contained in the proxy URL is the communication protocol supported by the request end, the video stream of the target video can be sent to the request end according to the communication protocol supported by the request end, so as to perform video transmission for the request end and the source end that support different communication protocols.

[0145] In addition, the pre-configured correspondence also records the watermark configuration information of the watermark that needs to be added to each video to be provided. The watermark configuration information corresponding to the proxy URL in the first video acquisition request can be determined from the correspondence. According to the determined watermark configuration information, a watermark can be added to the video stream of the target video, and the video stream of the target video with the watermark added can be sent to the requesting end. The target video received by the requesting end contains the watermark, thereby ensuring the traceability of the transmitted video.

[0146] In order to better understand the embodiments of the present application, an introduction will be given below in conjunction with a schematic diagram of the principle of interaction between a request end, a proxy end, and a source end.

[0147] like Figure 6 As shown, the requesting end may send a first video acquisition request to the proxy end, where the first video acquisition request is used to acquire a video stream, and the first video acquisition request may also be referred to as a first stream acquisition request.

[0148] The proxy end can obtain the first video acquisition request sent by the request end, and determine the real URL corresponding to the proxy URL carried in the first video acquisition request from the pre-configured correspondence, that is, determine the real URL. In addition, the proxy end can also determine the watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from the pre-configured correspondence.

[0149] The proxy end can send a second video acquisition request to the source end represented by the service address contained in the determined real URL according to the communication protocol represented by the protocol identifier contained in the determined real URL. The second video acquisition request is also used to obtain the video stream and can also be called a second stream acquisition request.

[0150] The proxy end can receive the video stream of the target video sent by the source end.

[0151] The proxy end can decapsulate the video stream of the target video, decode the decapsulation result, and obtain the video frame of the target video; add a watermark to the video frame of the target video according to the determined watermark configuration information; encode the video frame with the watermark added; encapsulate the encoding result to obtain the video stream of the target video with the watermark added, which is the process of superimposing the watermark.

[0152] The proxy end may send the video stream of the target video with the watermark added to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request.

[0153] In the above process, the first video acquisition request sent by the requesting end carries the proxy URL of the requested target video, and the service address in the proxy URL indicates the proxy end, which can receive the first video acquisition request; since the corresponding relationship records the real URL and the proxy URL of each video, and the service address included in the real URL represents the source end where the video indicated by the real URL is located, the real URL corresponding to the proxy URL in the first video acquisition request can be determined from the pre-configured corresponding relationship, and the service address included in the determined real URL represents the source end where the target video is located. In the process of sending a second video acquisition request to the target source end according to the communication protocol represented by the protocol identifier contained in the real URL, since the protocol identifier contained in the real URL represents the communication protocol supported by the source end, the target video can be acquired from the target source end according to the communication protocol supported by the target source end; in the process of sending the video stream of the target video to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL, since the communication protocol represented by the protocol identifier contained in the proxy URL is the communication protocol supported by the request end, the video stream of the target video can be sent to the request end according to the communication protocol supported by the request end, so as to perform video transmission for the request end and the source end that support different communication protocols.

[0154] In addition, the pre-configured correspondence also records the watermark configuration information of the watermark that needs to be added to each video to be provided. The watermark configuration information corresponding to the proxy URL in the first video acquisition request can be determined from the correspondence. According to the determined watermark configuration information, a watermark can be added to the video stream of the target video, and the video stream of the target video with the watermark added can be sent to the requesting end. The target video received by the requesting end contains the watermark, thereby ensuring the traceability of the transmitted video.

[0155] Optionally, in another embodiment, in order to better understand the embodiment of the present application, another principle diagram of the interaction between the request end, the proxy end and the source end will be introduced below.

[0156] like Figure 7 As shown, there are a stream acquisition proxy module and a video protocol processing module in the proxy end.

[0157] The proxy end can obtain the first video acquisition request sent by the request end; the stream acquisition proxy module in the proxy end can parse the first video acquisition request, and determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from the pre-configured correspondence. Among them, the stream acquisition proxy module can determine the real URL corresponding to the proxy URL in the first video acquisition request, so the stream acquisition proxy module can also be called a request distribution module.

[0158] The first video acquisition request received by the proxy end may be for each type of communication protocol, such as type 1, 2, 3, etc. Therefore, the proxy end may perform type 1 video protocol processing to obtain video from the source end of type 1; may perform type 2 video protocol processing to obtain video from the source end of type 2; may perform type 3 video protocol processing to obtain video from the source end of type 3, etc. Among them, the source end of type 1 is: for the proxy URL containing the protocol identifier of type 1, the source end indicated by the real URL corresponding to the proxy URL; the source end of type 2 is: for the proxy URL containing the protocol identifier of type 2, the source end indicated by the real URL corresponding to the proxy URL; the source end of type 3 is: for the proxy URL containing the protocol identifier of type 3, the source end indicated by the real URL corresponding to the proxy URL.

[0159] The video protocol processing module in the proxy end can perform video protocol processing for different types of communication protocols. Specifically, in the process of obtaining the stream, a second video acquisition request can be sent to the target source end represented by the service address contained in the determined real URL according to the communication protocol represented by the protocol identifier contained in the determined real URL, so as to obtain the video stream of the target video from the target source end. In the process of decapsulation, the video protocol processing module in the proxy end can decapsulate the video stream of the target video according to the communication protocol represented by the protocol identifier contained in the determined real URL. In the process of decoding, the video protocol processing module in the proxy end can use the initialized decoder to decode the decapsulation result to obtain the video frame of the target video. In the process of watermarking, the video protocol processing module in the proxy end can add a watermark to the video frame of the target video according to the determined watermark configuration information. In the process of encoding, the video protocol processing module in the proxy end can use the initialized encoder to encode the video frame after adding the watermark. In the process of encapsulation, the video protocol processing module in the proxy end can encapsulate the encoded result according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request, and obtain the video stream of the target video after adding the watermark. The above-mentioned decapsulation, decoding, watermarking, encoding and encapsulation processes can be collectively referred to as a watermarking process. During the streaming process, the video protocol processing module in the proxy end can send the video stream of the target video with the watermark added to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request.

[0160] When receiving the second video acquisition request, the source end may send the video stream of the requested video to the proxy end.

[0161] In the above process, the first video acquisition request sent by the requesting end carries the proxy URL of the requested target video, and the service address in the proxy URL indicates the proxy end, which can receive the first video acquisition request; since the corresponding relationship records the real URL and the proxy URL of each video, and the service address included in the real URL represents the source end where the video indicated by the real URL is located, the real URL corresponding to the proxy URL in the first video acquisition request can be determined from the pre-configured corresponding relationship, and the service address included in the determined real URL represents the source end where the target video is located. In the process of sending a second video acquisition request to the target source end according to the communication protocol represented by the protocol identifier contained in the real URL, since the protocol identifier contained in the real URL represents the communication protocol supported by the source end, the target video can be acquired from the target source end according to the communication protocol supported by the target source end; in the process of sending the video stream of the target video to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL, since the communication protocol represented by the protocol identifier contained in the proxy URL is the communication protocol supported by the request end, the video stream of the target video can be sent to the request end according to the communication protocol supported by the request end, so as to perform video transmission for the request end and the source end that support different communication protocols.

[0162] In addition, the pre-configured correspondence also records the watermark configuration information of the watermark that needs to be added to each video to be provided. The watermark configuration information corresponding to the proxy URL in the first video acquisition request can be determined from the correspondence. According to the determined watermark configuration information, a watermark can be added to the video stream of the target video, and the video stream of the target video with the watermark added can be sent to the requesting end. The target video received by the requesting end contains the watermark, thereby ensuring the traceability of the transmitted video.

[0163] Optionally, in another embodiment, Figure 8 As shown, the embodiment of the present application also provides a scalable multimedia watermark embedding device, the device comprising:

[0164] The first acquisition module 810 is used to acquire a first video acquisition request sent by the request end; wherein the first video acquisition request carries a proxy URL of the requested target video;

[0165] The first determination module 820 is used to determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from a pre-configured correspondence relationship; wherein the correspondence relationship records the real URL, proxy URL, and watermark configuration information of each video to be provided; the service address contained in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier contained in the real URL represents the communication protocol supported by the source end;

[0166] The second acquisition module 830 is used to send a second video acquisition request to a target source end represented by a service address included in the determined real URL according to a communication protocol represented by a protocol identifier included in the determined real URL, so as to acquire a video stream of a target video from the target source end; wherein the second video acquisition request carries the determined real URL;

[0167] An adding module 840, configured to add a watermark to a video stream of a target video according to the determined watermark configuration information;

[0168] The sending module 850 is used to send the video stream of the target video with the watermark added to the requesting end according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request.

[0169] Optionally, an additional module 840 is specifically configured to initialize the encoder and the decoder based on the video parameters of the target video pre-acquired from the target source end;

[0170] Decapsulating the video stream of the target video according to the communication protocol represented by the protocol identifier contained in the determined real URL;

[0171] Decode the decapsulated result using the initialized decoder to obtain the video frame of the target video;

[0172] Adding a watermark to a video frame of a target video according to the determined watermark configuration information;

[0173] Encode the watermarked video frame using the initialized encoder;

[0174] The encoding result is encapsulated according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request to obtain a video stream of the target video with a watermark added.

[0175] Optionally, the added watermark includes a unique identifier of the requesting end carried in the first video acquisition request.

[0176] Optionally, obtain the video parameters of each video to be provided by following the steps below:

[0177] For each real URL recorded in the corresponding relationship, a parameter acquisition request is sent to the source end represented by the service address contained in the real URL according to the communication protocol represented by the protocol identifier contained in the real URL, so as to obtain the video parameters of the video indicated by the real URL from the source end.

[0178] Optionally, the device is applied to the agent;

[0179] The agent end is configured with a communication protocol library; the communication protocol library records decapsulation functions and encapsulation functions of multiple communication protocols; the decapsulation function and encapsulation function of each communication protocol are used to support the agent end to communicate with other ends through the communication protocol;

[0180] The device also includes:

[0181] The update module is used to add the decapsulation function and the encapsulation function carried in the update instruction to the communication protocol library when receiving the update instruction for the communication protocol library.

[0182] In the above process, the first video acquisition request sent by the requesting end carries the proxy URL of the requested target video, and the service address in the proxy URL indicates the proxy end, which can receive the first video acquisition request; since the corresponding relationship records the real URL and the proxy URL of each video, and the service address included in the real URL represents the source end where the video indicated by the real URL is located, the real URL corresponding to the proxy URL in the first video acquisition request can be determined from the pre-configured corresponding relationship, and the service address included in the determined real URL represents the source end where the target video is located. In the process of sending a second video acquisition request to the target source end according to the communication protocol represented by the protocol identifier contained in the real URL, since the protocol identifier contained in the real URL represents the communication protocol supported by the source end, the target video can be acquired from the target source end according to the communication protocol supported by the target source end; in the process of sending the video stream of the target video to the request end according to the communication protocol represented by the protocol identifier contained in the proxy URL, since the communication protocol represented by the protocol identifier contained in the proxy URL is the communication protocol supported by the request end, the video stream of the target video can be sent to the request end according to the communication protocol supported by the request end, so as to perform video transmission for the request end and the source end that support different communication protocols.

[0183] In addition, the pre-configured correspondence also records the watermark configuration information of the watermark that needs to be added to each video to be provided. The watermark configuration information corresponding to the proxy URL in the first video acquisition request can be determined from the correspondence. According to the determined watermark configuration information, a watermark can be added to the video stream of the target video, and the video stream of the target video with the watermark added can be sent to the requesting end. The target video received by the requesting end contains the watermark, thereby ensuring the traceability of the transmitted video.

[0184] The present application also provides an electronic device, such as Fig. 9 As shown, including:

[0185] Memory 901, used for storing computer programs;

[0186] The processor 902 is used to implement the above-mentioned scalable multimedia watermark embedding method when executing the program stored in the memory 901.

[0187] Furthermore, the electronic device may further include a communication bus and / or a communication interface, and the processor 902, the communication interface, and the memory 901 communicate with each other via the communication bus.

[0188] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0189] The communication interface is used for communication between the above electronic device and other devices.

[0190] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0191] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0192] In another embodiment provided in the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned scalable multimedia watermark embedding methods are implemented.

[0193] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any scalable multimedia watermark embedding method in the above embodiments.

[0194] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state hard disk (SSD), etc.

[0195] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0196] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for system embodiments and device embodiments, since they are basically similar to method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0197] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims

1. A scalable multimedia watermark embedding method, characterized in that: The method is applied to the agent end; the method comprises: Obtain a first video acquisition request sent by the requesting end; wherein the first video acquisition request carries a proxy uniform resource locator URL of the requested target video; Determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from the pre-configured correspondence relationship; wherein the real URL, proxy URL, and watermark configuration information of the watermark to be added of each video to be provided are recorded in the correspondence relationship; the service address included in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier included in the real URL represents the communication protocol supported by the source end; the service address of the proxy URL of each video is: the proxy service address assigned by the proxy end to the real service address of the video; Sending a second video acquisition request to a target source end represented by a service address included in the determined real URL according to a communication protocol represented by a protocol identifier included in the determined real URL, so as to acquire a video stream of the target video from the target source end; wherein the second video acquisition request carries the determined real URL; Adding a watermark to the video stream of the target video according to the determined watermark configuration information; Sending a video stream of the target video with the watermark added to the requesting end according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request; Get the video parameters for each video to be provided by following the steps below: For each real URL recorded in the corresponding relationship, a parameter acquisition request is sent to a source end represented by a service address included in the real URL according to a communication protocol represented by a protocol identifier included in the real URL, so as to acquire video parameters of the video indicated by the real URL from the source end and cache the parameters; The decoder and encoder used in the process of adding the watermark to the video stream of the target video are initialized based on the cached video parameters of the target video.

2. The method according to claim 1, characterized in that The adding a watermark to the video stream of the target video according to the determined watermark configuration information comprises: Initializing an encoder and a decoder based on video parameters of the target video obtained in advance from the target source end; Decapsulating the video stream of the target video according to the communication protocol represented by the protocol identifier contained in the determined real URL; Decoding the decapsulated result using the initialized decoder to obtain a video frame of the target video; Adding a watermark to the video frame of the target video according to the determined watermark configuration information; Encode the watermarked video frame using the initialized encoder; The encoding result is encapsulated according to the communication protocol represented by the protocol identifier contained in the proxy URL carried in the first video acquisition request to obtain a video stream of the target video with a watermark added.

3. The method according to claim 1, characterized in that The agent terminal is configured with a communication protocol library; the communication protocol library records decapsulation functions and encapsulation functions of multiple communication protocols; the decapsulation function and encapsulation function of each communication protocol are used to support the agent terminal to communicate with other terminals through the communication protocol; The method further comprises: When an update instruction for the communication protocol library is received, the decapsulation function and the encapsulation function carried in the update instruction are added to the communication protocol library.

4. The method according to any one of claims 1 to 3, characterized in that: The added watermark includes the unique identifier of the requesting end carried in the first video acquisition request.

5. A scalable multimedia watermark embedding system, characterized in that: The system includes a request end, a proxy end and a source end; wherein, The requesting end is used to send a first video acquisition request to the proxy end; The proxy terminal is used to execute the method described in any one of claims 1 to 4 above; The source end is used to send the video stream of the requested video to the proxy end when receiving the second video acquisition request sent by the proxy end.

6. A scalable multimedia watermark embedding device, characterized in that: The device is applied to the agent end; the device comprises: A first acquisition module is used to acquire a first video acquisition request sent by a requesting end; wherein the first video acquisition request carries a proxy URL of the requested target video; A first determination module is used to determine the real URL and watermark configuration information corresponding to the proxy URL carried in the first video acquisition request from a pre-configured correspondence relationship; wherein the correspondence relationship records the real URL, proxy URL, and watermark configuration information of each video to be provided; the service address contained in each real URL represents the source end where the video indicated by the real URL is located, and the protocol identifier contained in the real URL represents the communication protocol supported by the source end; the service address of the proxy URL of each video is: the proxy service address assigned by the proxy end to the real service address of the video; A second acquisition module is used to send a second video acquisition request to a target source end represented by a service address contained in the determined real URL according to a communication protocol represented by a protocol identifier contained in the determined real URL, so as to acquire a video stream of the target video from the target source end; wherein the second video acquisition request carries the determined real URL; An adding module, used for adding a watermark in a video stream of the target video according to the determined watermark configuration information; A sending module, configured to send a video stream of the target video with the watermark added to the requesting end according to a communication protocol represented by a protocol identifier contained in the proxy URL carried in the first video acquisition request; Get the video parameters for each video to be provided by following the steps below: For each real URL recorded in the corresponding relationship, a parameter acquisition request is sent to a source end represented by a service address included in the real URL according to a communication protocol represented by a protocol identifier included in the real URL, so as to acquire video parameters of the video indicated by the real URL from the source end and cache the parameters; The decoder and encoder used in the process of adding the watermark to the video stream of the target video are initialized based on the cached video parameters of the target video.

7. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, for implementing any of the methods described in claims 1-4 when executing a program stored in a memory.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.

9. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 4 when executed by a processor.