CN110730365A - Method, device and computer storage medium for protecting video data security - Google Patents

Method, device and computer storage medium for protecting video data security Download PDF

Info

Publication number
CN110730365A
CN110730365A CN201910821103.7A CN201910821103A CN110730365A CN 110730365 A CN110730365 A CN 110730365A CN 201910821103 A CN201910821103 A CN 201910821103A CN 110730365 A CN110730365 A CN 110730365A
Authority
CN
China
Prior art keywords
frame
video stream
video
scrambling code
code information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910821103.7A
Other languages
Chinese (zh)
Inventor
陈凯
王蕾
胡昱林
周天外
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sunmi Technology Group Co Ltd
Original Assignee
Shanghai Sunmi Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sunmi Technology Group Co Ltd filed Critical Shanghai Sunmi Technology Group Co Ltd
Priority to CN201910821103.7A priority Critical patent/CN110730365A/en
Publication of CN110730365A publication Critical patent/CN110730365A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption

Abstract

The embodiment of the application provides a method, a device and a computer storage medium for protecting video data security, wherein a user terminal sends a video stream address request for acquiring target video data to a video server, receives the video stream address and I-frame scrambling code information of the target video data sent by the video server, and stores the I-frame scrambling code information, wherein the I-frame scrambling code information is used for scrambling an I-frame in a video stream; the user terminal obtains the current video stream added with the I frame scrambling code information through the video stream address, and decodes and plays the current video stream according to the stored I frame scrambling code information as an authorization code, wherein the current video stream is a part of data of the target video data. According to the method, the device and the computer storage medium for protecting the video data security, the purpose of video encryption is achieved by adding scrambling code information based on the video key Frame I-Frame, and the method and the device can effectively prevent theft.

Description

Method, device and computer storage medium for protecting video data security
Technical Field
The embodiment of the application relates to the internet video technology, in particular to a method and a device for protecting video data security and a computer storage medium.
Background
With the development of mobile internet and smart phones, streaming media as a popular video application starts to expand from the traditional security field to the fields of live video, new retail, video social contact and the like. Video also begins to attract a large number of thieves as a hot resource.
Currently, a mainstream video playing security method is based on a refer mechanism supported by an HTTP protocol, where refer is a part of an HTTP request header, and when a browser (or a simulated browser behavior) sends a request to a web server, header information contains refer, which is used to notify a request address of a web server page, so that the web server can perform information processing. For example, if there is a www.baidu.com link in www.google.com, then clicking on this www.baidu.com, there is:
Referer=http://www.google.com
this can be used to prevent link theft, for example, if the user's own web site is allowed to access the user's own picture server, and the user's domain name is www.google.com, then the picture server will take refereer each time to determine whether the user's own domain name is www.google.com, if so, continue the access, or intercept the access.
In the prior art, the identity of a visitor is identified and filtered by tracking the source of the reserer and setting a black and white list of the reserer, so that the access of video resources is limited.
However, the refererer mechanism can only block a part of malicious video embezzlers, but cannot block uniform forgery of Referrer to spoof a video server. Some video providers also select a video encryption mode, and the mode generally needs to integrate a video player specially made by the video provider to achieve the purpose of decoding.
Disclosure of Invention
In view of the above, embodiments of the present application provide a method and apparatus for securing video data, which overcome or at least partially solve the above problems.
A first aspect of the present application provides a method of securing video data, the method comprising:
a user terminal sends a video stream address request for acquiring target video data to a video server, receives a video stream address and I-frame scrambling code information of the target video data sent by the video server, and stores the I-frame scrambling code information, wherein the I-frame scrambling code information is used for scrambling an I-frame in a video stream;
and the user terminal acquires the current video stream added with the I-frame scrambling code information through the video stream address, and decodes and plays the current video stream according to the stored I-frame scrambling code information as an authorization code, wherein the current video stream is a part of the target video data.
In the method for protecting video data security described above, when the video server sends the video stream, the video server sends the I-frame scrambling code information to the user terminal first, and then scrambles the I-frame in the video stream by using the I-frame scrambling code information, so that the user terminal decodes and plays the I-frame scrambling code information as an authorization code, thereby achieving the purpose of video encryption and video anti-theft.
Optionally, after the user terminal decodes and plays the current video stream according to the saved I-frame scrambling code information, the method further includes:
the user terminal receives updated I frame scrambling code information sent by the video server through long connection and stores the updated I frame scrambling code information;
and the user terminal receives a new video stream which is sent by the video server and added with the updated I-frame scrambling code information, and decodes and plays the new video stream as a new authorization code according to the stored updated I-frame scrambling code information, wherein the new video stream is another part of the target video data.
Optionally, the I-frame scrambling code information comprises an I-frame scrambling code for an I-frame of the video stream.
Optionally, the I-frame scrambling code is a pseudo random code sequence generated by the video server for the current time of its video stream to be transmitted.
Optionally, in the current video stream, the I-frame scrambling code information is multiplied by an I-frame code word of the current video stream, or the I-frame scrambling code information is located in an I-frame code word of the current video stream at a certain code word interval.
A second aspect of the present application provides a method of securing video data, the method comprising:
the video server receives a video stream address request for acquiring target video data sent by a user terminal, and sends the video stream address and I-frame scrambling code information of the target video data to the user terminal according to the video stream address request;
and the video server adds the I-frame scrambling code information into an I frame of a current video stream and sends the current video stream to the user terminal, so that the user terminal can decode and play the current video stream according to the received I-frame scrambling code information as an authorization code, wherein the current video stream is a part of the target video data.
Optionally, after the video server sends the current video stream to the user terminal, the method further includes:
the video server sends updated I-frame scrambling code information to the user terminal through long connection;
and the video server adds the updated I-frame scrambling code information into an I frame in a new video stream to be sent to the user terminal, and sends the new video stream comprising the updated I-frame scrambling code information to the user terminal, so that the user terminal can decode and play the new video stream as a new authorization code according to the received updated I-frame scrambling code information, wherein the new video stream is another part of the target video data.
Optionally, the I-frame scrambling code information comprises an I-frame scrambling code for an I-frame of the video stream.
Optionally, the I-frame scrambling code is a pseudo random code sequence generated by the video server for the current time of its video stream to be transmitted.
Optionally, the adding, by the video server, the I-frame scrambling code information to the I-frame of the current video stream specifically includes:
multiplying the I frame scrambling code information with an I frame code word of the current video stream; or
And adding the I-frame scrambling code information into the I-frame code of the current video stream according to a preset code interval.
A third aspect of the present application provides a user terminal for performing the steps of the method for securing video data.
A fourth aspect of the present application provides a video server for performing the steps of the method for securing video data.
A fifth aspect of the present application provides an apparatus for securing video data, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is used for storing at least one executable instruction which causes the processor to execute the steps of the method for protecting video data security.
A sixth aspect of the present application provides an apparatus for securing video data, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is used for storing at least one executable instruction which causes the processor to execute the steps of the method for protecting video data security.
A seventh aspect of the present application provides a computer storage medium having stored therein at least one executable instruction for causing a processor to perform the steps of the method for securing video data.
An eighth aspect of the present application provides a computer storage medium having stored therein at least one executable instruction for causing a processor to perform the steps of the method for securing video data.
A ninth aspect of the present application provides a computer storage medium having stored therein at least one executable instruction for causing the processor to perform the steps of the method of securing video data.
According to the scheme for protecting the video data security, the purpose of video encryption is achieved by adding scrambling code information based on the video key Frame I-Frame, so that the purpose of video theft prevention is achieved, and the user terminal decrypts the received I-Frame key Frame of the video stream based on the scrambling code information which is synchronized with the video server before video playing, so that the purpose of playing is achieved.
The foregoing description is only an overview of the technical solutions of the embodiments of the present application, and the embodiments of the present application can be implemented according to the content of the description in order to make the technical means of the embodiments of the present application more clearly understood, and the detailed description of the present application is provided below in order to make the foregoing and other objects, features, and advantages of the embodiments of the present application more clearly understandable.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a schematic structural diagram of a system architecture 100 according to an embodiment of the present application;
fig. 2 is a flowchart illustrating a method for securing video data according to another embodiment of the present application;
fig. 3 is a flowchart illustrating another method for securing video data according to another embodiment of the present application;
fig. 4 is a schematic structural diagram of a system for securing video data according to another embodiment of the present application;
fig. 5 is a schematic structural diagram of an apparatus for securing video data according to another embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs; the terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "including" and "having," and any variations thereof, in the description and claims of this application and the description of the above figures are intended to cover non-exclusive inclusions. The terms "first," "second," and the like in the description and claims of this application or in the above-described drawings are used for distinguishing between different objects and not for describing a particular order.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship. Additionally, the terms "system" and "network" are often used interchangeably herein.
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may have various communication client Applications (APP) installed thereon, such as a web browser application, a shopping application, a search application, an instant messaging tool, a mailbox client, social platform software, and the like.
The terminal devices 101, 102, 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to a user terminal, a network device, or a device formed by integrating a user terminal and a network device through a network. The user terminal includes, but is not limited to, any mobile electronic product, such as a smart phone, a tablet computer, etc., which can perform human-computer interaction with a user through a touch panel, and the mobile electronic product may employ any operating system, such as an android operating system, an IOS operating system, etc. The network device includes an electronic device capable of automatically performing numerical calculation and information processing according to a preset or stored instruction, and the hardware includes, but is not limited to, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), an embedded device, and the like. The network device comprises but is not limited to a computer, a network host, a single network server, a plurality of network server sets or a cloud formed by a plurality of servers; here, the Cloud is composed of a large number of computers or web servers based on Cloud Computing (Cloud Computing), which is a kind of distributed Computing, one virtual supercomputer consisting of a collection of loosely coupled computers. The Network includes, but is not limited to, the internet, a wide area Network, a metropolitan area Network, a local area Network, a Virtual Private Network (VPN), a wireless Ad Hoc Network (Ad Hoc Network), etc. Of course, those skilled in the art should understand that the above terminal device is only an example, and other existing or future terminal devices may be applicable to the present application, and are included in the scope of the present application and are incorporated herein by reference.
The server 105 may be a server, a server cluster composed of several servers, or a cloud computing service center. It may also be a server that provides various services, such as a video server that provides video services for the terminal devices 101, 102, 103.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Fig. 2 is a schematic flowchart of a method for securing video data according to another embodiment of the present application, which can be described as follows with reference to fig. 1 and fig. 2.
The video is based on the principle of human visual persistence, and makes human eyes generate motion feeling by playing a series of pictures. The amount of video is very large by transmitting video pictures only, and is unacceptable for the existing network and storage. In order to facilitate transmission and storage of video, people find that video has a large amount of repeated information, and if the repeated information is removed at a transmitting end and recovered at a receiving end, the files of video data are greatly reduced, so that the H.264 video compression standard exists.
In the h.264 compression standard, I-frames, P-frames, and B-frames are used to represent video pictures for transmission, and video is transmitted through a series of I-frames, P-frames, and B-frames.
An I-Frame (I-Frame), also called an intra-Frame, is an independent Frame with all information, and can be independently decoded without referring to other images, and can be simply understood as a static picture. The first frame in a video sequence is always an I-frame because it is a key frame.
P-frames (P-frames), also known as inter-Frame predictive coded frames, require reference to a previous I-Frame for encoding. The difference between the current frame picture and the previous frame (which may be an I frame or a P frame) is shown. When decoding, the difference defined by the frame is superimposed on the picture buffered before, and the final picture is generated. P-frames generally occupy fewer data bits than I-frames.
The B Frame (B-Frame) is also called bidirectional predictive coding Frame, that is, the difference between the current Frame and the previous and subsequent frames is recorded in the B Frame. That is, to decode a B frame, not only the previous buffer picture but also the decoded picture are acquired, and the final picture is acquired by superimposing the previous and subsequent pictures on the data of the current frame. The B frame compression rate is high, but the decoding performance is required to be high.
Therefore, the I frame only needs to consider the frame; the P frame records the difference from the previous frame; the B frame records the difference between the previous frame and the next frame, and by the mode, more space can be saved, and the size of a video file can be compressed. In decoding, not only the previously buffered picture but also the next I or P picture is known.
Therefore, the video transmission by using the I frame, the P frame and the B frame can improve the adaptability of the network and reduce the decoding cost, so the video at the present stage is generally transmitted by using the I frame, the P frame and the B frame, even the I frame and the P frame.
Therefore, according to the particularity of the I frame, the scrambling code is added to the I frame video stream in the embodiment of the present application to achieve the purpose of video encryption, so as to protect the security of the video data and play a role of theft prevention.
Step 21, the user terminal sends a request for obtaining the video stream address of the target video data to the video server, receives the video stream address and the I frame scrambling code information of the target video data sent by the video server, and stores the I frame scrambling code information.
For example, the user terminal is a mobile phone or a computer terminal, and may be installed with a web browser or an APP client, the user terminal is connected to the video server through the internet or a mobile communication network, and the mobile communication network may be a 3G or 4G communication system and a next-generation communication system (e.g., 5G), such as a Code Division Multiple Access (CDMA) system, a Time Division Multiple Access (TDMA) system, a Wideband Code Division Multiple Access (WCDMA) system, a Frequency Division Multiple Access (Frequency Division Multiple Access, FDMA) system, an Orthogonal Frequency Division Multiple Access (Orthogonal-Division Multiple Access, OFDMA) system, an FDMA (SC-FDMA) system, a General Packet Radio Service (GPRS) system, a Long Term Evolution (Long Term Evolution, LTE) system, and other communication systems.
When a user terminal needs to acquire certain target video data of a video server, the user terminal accesses an address of the video server, for example, an IP address of the video server, and the user terminal establishes communication connection with the video server through the address of the video server.
The user terminal initiates a request for acquiring a video stream address from the video server for a target video, where the video stream address may be a Uniform Resource Locator (URL) address or an IP address of the video stream.
And when receiving the video stream address of the target video sent by the video server, the user terminal also receives I-frame scrambling code information of the current video stream of the target video sent by the video server. For example, the I-frame scrambling code information includes an I-frame scrambling code for an I-frame of a current video stream for scrambling an I-frame in the current video stream. For example, the I-frame scrambling code includes a pseudo random code sequence generated by the video server for the current time of its video stream to be transmitted, which is the scrambling code. Wherein the pseudo random code sequence includes n-bit code words, n is an integer greater than or equal to 1, e.g., n =2, 3, 4, or 5, e.g., the pseudo random code sequence is: 0011.
in this embodiment, the video server may generate 2n pseudo-random code sequences, and the video server may encrypt the video stream using one pseudo-random code sequence for each transmitted video stream, for example, by multiplying the I-frame scrambling code information by the I-frame code word of the video stream, or by adding the I-frame scrambling code information to the I-frame code word of the video stream at a predetermined code word interval.
In another embodiment of the present application, the video server may generate the pseudo random code sequence according to a certain rule, for example, starting from 00000000, and may automatically add 1 every predetermined certain time.
And after receiving the I frame scrambling code information, the user terminal stores the received I frame scrambling code information.
And step 22, the user terminal acquires the current video stream added with the I-frame scrambling code information through the video stream address, decodes and plays the current video stream according to the stored I-frame scrambling code information as an authorization code, wherein the current video stream is a part of the target video data.
The target video data may be all video data of one target video, the target video may be a piece of movie video data or a piece of video song data, and the like, and the video server needs to encode the target video data into a video stream of one segment when transmitting the target video data, so the target video data includes a plurality of video streams, and the video server needs to transmit the video stream of the target video data to the user terminal a plurality of times.
For example, the video server adds the already transmitted I-Frame scrambling code information to the I-Frame of the current video stream (i.e. the video stream to be transmitted), for example, adds an I-Frame scrambling code to the I-Frame of the video stream through a scrambler. The scrambler may be a pseudo-random sequence generator, and add I-frame scrambling code information generated by the pseudo-random sequence generator to an I-frame of a video stream, for example, multiply the I-frame scrambling code information by an I-frame code word of the video stream, or add the I-frame scrambling code information to the I-frame code word of the video stream according to a predetermined code word interval, to obtain a scrambled video stream, and the video server pushes the scrambled video stream to a delivered video stream address for playing by the user terminal.
For example, an original video stream I frame currently generated by the video server is 0011010111000, and a scrambling code generated by the video server for the current video stream is 1110, then the video server adds the current scrambling code to the original video stream I frame at intervals of a certain length, for example, 6 bits, to obtain a scrambled video stream I frame, for example, the scrambled video stream I frame is: 001101(1110)011100(1110)0.
For example, the user terminal receives the current video stream sent by the video server, descrambles the I frame of the received current video stream according to the I frame scrambling code information, and after successful descrambling, can decode the B frame and/or the P frame of the video stream, and then play the video.
And step 23, the user terminal receives the updated I frame scrambling code information sent by the video server through long connection and stores the updated I frame scrambling code information.
The method includes the steps that the user terminal and the video server establish long connection, for example, Message Queue Telemetry Transport (MQTT) long connection is established, every other preset time, the video server sends new I-Frame scrambling code information to the user terminal through the long connection, and the new I-Frame scrambling code information comprises new I-Frame scrambling codes which are used for scrambling I frames in video streams sent to the user terminal every time.
And the user terminal receives the updated I-Frame scrambling code and then stores the I-Frame scrambling code. For example, the user terminal replaces the stored I-Frame scrambling code with the new I-Frame scrambling code, that is, the user terminal stores the currently newly received I-Frame scrambling code each time, and performs the clearing processing on the previously stored I-Frame scrambling code.
And 24, the user terminal receives the new video stream which is sent by the video server and added with the updated I-frame scrambling code information, and decodes and plays the received new video stream as a new authorization code according to the stored updated I-frame scrambling code information, wherein the new video stream is another part of the target video data.
For example, when the video server sends a video stream each time, a new I-Frame scrambling code is generated and sent to the user terminal, then the new I-Frame scrambling code is used to scramble an I Frame of the video stream to be sent, and the scrambled video stream is sent to the user terminal, the user terminal continuously receives the updated I-Frame scrambling code and updates the stored I-Frame scrambling code, so that the user terminal can decode the received latest I Frame of the video stream by using the currently received latest I-Frame scrambling code, and can decode a B Frame and/or a P Frame of the video stream on the basis of decoding the I Frame, so that the video stream can be normally played only by completely decoding the video stream.
In a mobile communication system, scrambling is one of the key technologies in modern communication, and is a technology for randomizing data to be transmitted at a bit layer in order to improve timing recovery capability and security of transmission data. For example, in a mobile communication system, the interference between multiple users is reduced by using a spreading code and a scrambling code, and a signal of a cell is transformed into a white noise signal which is more similar to that of other cells after scrambling, so that the purpose is to randomize the interference.
For example, in a mobile communication system, in an uplink, scrambling codes are used to distinguish different users (mobile phones are transmitters) under the same base station controller; distinguishing a physical data channel and a control channel by using a channelization code; in the downlink, different cells (base stations are transmitters) are distinguished by scrambling codes, and different users (physical channels) in the same cell are distinguished by channelization codes.
Therefore, in a mobile communication system, scrambling codes are used to distinguish different terminals or base stations, and at the same time, scrambling codes also contribute to improving the security of communication. Scrambling does not change the bandwidth of the signal, but only distinguishes signals from different sources, so that spreading with the same code word does not present a problem even if multiple transmitters are using the same code word.
In this embodiment, the video server scrambles the I frame of the video stream using a scrambling code for the video stream to be sent each time, where the scrambling code is mainly used for encryption and authentication, and can be used as an authorization code, an authentication code, or an encryption code, and is used as a certificate for the user terminal to play the video stream, and the user terminal can decode the I frame of the video stream only by using scrambling code information of the I frame sent by the video server, otherwise, the user terminal cannot decode the video stream sent by the video server, i.e., cannot play the video stream sent by the video server, so that the user terminal does not need to install a specific video player as long as the video player of the user terminal supports the video stream format sent by the video server. Furthermore, if a third party wants to illegally steal a video, it cannot acquire the I frame scrambling code information, and therefore cannot decode the I frame of the basic frame of the video stream, and therefore cannot play the video.
In summary, according to the method for protecting the security of the video stream described above, the purpose of video encryption is achieved by adding scrambling code information based on the video key Frame I-Frame, and the user terminal decrypts the received I-Frame key Frame of the video stream based on the scrambling code information synchronized with the video server before the video is played, so as to achieve the purpose of playing. Meanwhile, the user terminal can also maintain a long connection with the video server to receive the continuously updated scrambling code information sent by the video server, and the video server generates new I-frame scrambling code information corresponding to the video stream to be sent to the user terminal each time and adds the new I-frame scrambling code information into the I frame of the video stream, so that the user terminal decodes the video stream comprising the synchronously updated scrambling code information according to the continuously updated scrambling code information received by the long connection, and the aim of video theft prevention is fulfilled.
Corresponding to the method for protecting the security of the video stream performed by the user terminal, another embodiment of the present application further provides a method for protecting the security of the video stream, where the method for protecting the security of the video stream of the present embodiment is performed by a video server, as shown in fig. 3.
Step 31, the video server receives a video stream address request for acquiring target video data sent by the user terminal, and sends the video stream address and I-frame scrambling code information of the target video data to the user terminal according to the video stream address request.
For example, the user terminal is a mobile phone or a computer terminal, and specific description may refer to the description of the foregoing embodiments, which is not repeated herein.
When a user terminal needs to acquire certain target video data of a video server, the user terminal accesses an address of the video server, for example, an IP address of the video server, and the user terminal establishes communication connection with the video server through the address of the video server.
The user terminal initiates a request for acquiring a video stream address to the video server for a target video, wherein the video stream address may be a URL address or an IP address of the video stream.
And when receiving the video stream address of the target video sent by the video server, the user terminal also receives I-frame scrambling code information of the current video stream of the target video sent by the video server. For example, the I-frame scrambling code information includes an I-frame scrambling code for an I-frame of a current video stream for scrambling an I-frame in the current video stream.
For the description of the I-frame scrambling code information, reference may be specifically made to the description of the I-frame scrambling code information in the foregoing embodiment, and details are not repeated here.
And after receiving the I frame scrambling code information, the user terminal stores the received I frame scrambling code information.
Step 32, the video server adds the I-frame scrambling code information into the I-frame of the current video stream and sends the current video stream to the user terminal, wherein the current video stream is a part of the target video data.
The target video data may be all video data of one target video, the target video may be a piece of movie video data or a piece of video song data, and the like, and the video server needs to encode the target video data into a video stream of one segment when transmitting the target video data, so the target video data includes a plurality of video streams, and the video server needs to transmit the video stream of the target video data to the user terminal in multiple times. Therefore, the current video stream to be sent by the video server is a part of the target video data.
For example, the I-frame scrambling code information may be a pseudo random code sequence, and the video server may generate the pseudo random code sequence according to a certain rule, for example, starting from 00000000, and may automatically add 1 every predetermined certain time.
And the video server sends the generated I-frame scrambling code information to the user terminal before sending the current video stream. Then, the video server adds the already transmitted I-Frame scrambling code information to the I-Frame of the current video stream (i.e. the video stream to be transmitted), for example, adds an I-Frame scrambling code to the I-Frame of the video stream through a scrambler. The scrambler may be a pseudo-random sequence generator, and add I-frame scrambling code information generated by the pseudo-random sequence generator to an I-frame of a video stream, for example, multiply the I-frame scrambling code information by an I-frame code word of the video stream, or add the I-frame scrambling code information to the I-frame code word of the video stream according to a predetermined code word interval, to obtain a scrambled video stream, and the video server pushes the scrambled video stream to a delivered video stream address for playing by the user terminal.
For example, an original video stream I frame currently generated by the video server is 0011010111000, and a scrambling code generated by the video server for the current video stream is 1110, then the video server adds the current scrambling code to the original video stream I frame at intervals of a certain length, for example, 6 bits, to obtain a scrambled video stream I frame, for example, the scrambled video stream I frame is: 001101(1110)011100(1110)0.
For example, the user terminal receives the current video stream sent by the video server, descrambles the I frame of the received current video stream according to the I frame scrambling code information, and after successful descrambling, can decode the B frame and/or the P frame of the video stream, and then play the video.
And step 33, the video server sends the updated I-frame scrambling code information to the user terminal through long connection.
The user terminal establishes a long connection with the video server, for example, an MQTT long connection is established, and the video server sends new I-Frame scrambling code information to the user terminal through the long connection at a predetermined time interval, where the new I-Frame scrambling code information includes a new I-Frame scrambling code used for scrambling an I-Frame in a video stream sent to the user terminal each time.
And the user terminal receives the updated I-Frame scrambling code and then stores the I-Frame scrambling code. For example, the user terminal replaces the stored I-Frame scrambling code with the new I-Frame scrambling code, that is, the user terminal stores the currently newly received I-Frame scrambling code each time, and performs the clearing processing on the previously stored I-Frame scrambling code.
Step 34, the video server adds the new I-frame scrambling code information to an I-frame in a new video stream to be sent to the user terminal again, and sends the new video stream including the new I-frame scrambling code information to the user terminal, where the new video stream is another part of the target video data.
For example, when the video server sends a video stream each time, a new I-Frame scrambling code is generated and sent to the user terminal, then the new I-Frame scrambling code is used to scramble an I Frame of the video stream to be sent, and the scrambled video stream is sent to the user terminal, the user terminal continuously receives the updated I-Frame scrambling code and updates the stored I-Frame scrambling code, so that the user terminal can decode the received latest I Frame of the video stream by using the currently received latest I-Frame scrambling code, and can decode a B Frame and/or a P Frame of the video stream on the basis of decoding the I Frame, so that the video stream can be normally played only by completely decoding the video stream.
And the user terminal receives the new video stream sent by the video server, and decodes and plays the new video stream received again according to the stored updated I-Frame scrambling code as a new authorization code.
According to the method for protecting the video data security, the purpose of video encryption is achieved by adding scrambling code information based on the video key Frame I-Frame, and the user terminal decrypts the received I-Frame key Frame of the video stream based on the scrambling code information which is well synchronized with the video server before the video is played, so that the purpose of playing is achieved. Meanwhile, the user terminal can also maintain a long connection with the video server to receive the continuously updated scrambling code information sent by the video server, and the video server generates new I-frame scrambling code information corresponding to the video stream to be sent to the user terminal each time and adds the new I-frame scrambling code information into the I frame of the video stream, so that the user terminal decodes the video stream comprising the synchronously updated scrambling code information according to the continuously updated scrambling code information received by the long connection, and the aim of video theft prevention is fulfilled.
Another embodiment of the present application further provides a system for protecting video data security corresponding to the method for protecting video data security executed by the user terminal, and as shown in fig. 4, is a schematic structural diagram of a system for protecting video data security according to another embodiment of the present application.
The system for protecting the video data security comprises a network 40, a user terminal 41 and a video server 42, wherein the user terminal 41 and the video server 42 communicate through the network 40, and the network 40 can be a mobile communication network or the internet.
The user terminal 41 may further include a transceiver module 411, a video processing module 412, a long connection module 413, and a storage template 414, which are connected to each other through a bus.
The video server 42 may further include a transceiving module 421, a video service module 422, a scrambling code generator 423, a long connection module 424, and an encoding module 425, which are connected to each other through a bus.
The transceiver module 411 is configured to send a video stream address request for obtaining target video data to the video server 42 after the user terminal 41 establishes a connection with the video server 42, and receive a video stream address and I-frame scrambling code information of the target video data sent by the video server 42.
For the description of the I frame scrambling code information, reference may be made to the description of the relevant I frame scrambling code information in the foregoing method embodiment, and details are not repeated here.
The storage template 414 is used for storing the received I-frame scrambling code information. For example, the storage template 414 is used to replace the currently received I-frame scrambling code information with the I-frame scrambling code information that it has stored.
The transceiving module 411 is further configured to obtain, from the video server 42 through the video stream address, a current video stream added with the I-frame scrambling code information, where the current video stream is a part of the target video data.
The video processing module 412 is configured to decode and play the current video stream according to the stored I-frame scrambling code information as an authorization code. For example, the video processing module 412 is configured to descramble an I frame of the received current video stream according to the I frame scrambling code information, decode a B frame and/or a P frame of the video stream after the I frame is descrambled successfully, and play the video after all the frames are decoded successfully.
The long connection module 413 is configured to establish a long connection, for example, MQTT long connection, with the video server 42.
The transceiver module 411 is further configured to receive updated I-frame scrambling code information sent by the video server 42 through the long connection, and store the updated I-frame scrambling code information, for example, replace the stored I-frame scrambling code information with the updated I-frame scrambling code information.
The transceiver module 411 is further configured to receive a new video stream, which is sent by the video server 42 and added with the updated I-frame scrambling code information, where the new video stream is another part of the target video data.
The video processing module 412 is further configured to decode the I frame of the new video stream according to the stored updated I frame scrambling code information as a new authorization code, and decode the B frame and/or the P frame of the video stream after descrambling the I frame successfully.
In this embodiment, the specific working processes of the transceiver module 411, the video processing module 412, the long connection module 413, and the storage template 414 included in the user terminal may correspond to those described in the foregoing embodiment of fig. 2, and are not described herein again to avoid repeated description.
The functions of the transceiving module 421, the video service module 422, the scrambling code generator 423, the long connection module 424 and the encoding module 425 included in the video server 42, corresponding to the method embodiment of fig. 3, may be as follows.
The scrambling code generator 423 is configured to generate, for each video stream to be transmitted, I-frame scrambling code information for scrambling I-frames of the video stream. For example, the I-frame scrambling code information may be a pseudo random code sequence, and the scrambling code generator 423 may generate the pseudo random code sequence according to a certain rule, for example, starting from 00000000, and may automatically add 1 every predetermined certain time.
The transceiving module 421 is configured to receive a video stream address request for acquiring target video data sent by the user terminal 41 after the user terminal 41 and the video server 42 establish a connection, and send a video stream address of the target video data and I-frame scrambling code information generated by the scrambling code generator 423 to the user terminal 41 according to the video stream address request.
The video service module 422 is configured to add the I-frame scrambling information to an I-frame of the current video stream, and the transceiver module 421 is further configured to send the current video stream added with the I-frame scrambling information to the user terminal 41, where the current video stream is a part of the target video data.
The target video data may be all video data of a target video, the target video may be a piece of movie video data or a piece of video song data, and the like, and when the transceiving module 421 transmits the target video data, the encoding module 425 is configured to encode the target video data into a video stream of a segment, so that the target video data includes a plurality of video streams, and the transceiving module 421 needs to transmit the video stream of the target video data to the user terminal 41 in multiple times. Therefore, the current video stream transmitted by the transceiving module 421 is a part of the target video data.
Before the transceiving module 421 transmits the current video stream, the transceiving module 421 is further configured to transmit the I-frame scrambling code information generated by the scrambling code generator 423 to the user terminal 41 for storage.
The video service module 422 is further configured to add the transmitted I-Frame scrambling code information to the I-Frame of the current video stream (i.e. the video stream to be transmitted), for example, add an I-Frame scrambling code to the I-Frame of the video stream through the scrambling code generator 423. The scrambling code generator 423 may be a pseudo-random sequence generator, and the video service module 422 is configured to add the I-frame scrambling code information generated by the pseudo-random sequence generator to an I-frame of a video stream, for example, the video service module 422 is configured to multiply the I-frame scrambling code information with an I-frame code word of the video stream, or add the I-frame scrambling code information to an I-frame code word of the video stream according to a predetermined code word interval to obtain a scrambled video stream, and the video service module 422 pushes the scrambled video stream to a delivered video stream address for the user terminal to play.
For example, the original video stream I frame currently generated by the encoding module 425 is 0011010111000, and the scrambling code generated by the scrambling code generator 423 for the current video stream is 1110, then the video service module 422 adds the current scrambling code to the original video stream I frame at certain intervals, for example, 6 bits (bit), to obtain a scrambled video stream I frame, for example, the scrambled video stream I frame is: 001101(1110)011100(1110)0.
The user terminal 41 receives the current video stream sent by the transceiver module 421 of the video server 42, descrambles the I frame of the received current video stream according to the stored I frame scrambling code information as an authorization code, and after successful descrambling, can decode the B frame and/or the P frame of the video stream, and then play the video.
The long connection module 424 is configured to establish a long connection with the user terminal 41.
The transceiving module 421 is further configured to send updated I-frame scrambling code information to the ue 41 through a long connection. And the user terminal 41 receives the updated I-Frame scrambling code and stores the I-Frame scrambling code. For example, the ue 41 replaces the stored I-Frame scrambling code with the new I-Frame scrambling code, that is, the ue 41 stores the currently newly received I-Frame scrambling code each time, and performs the clearing process on the previously stored I-Frame scrambling code.
The video service module 422 is further configured to add the new I-frame scrambling code information to an I-frame in a new video stream to be sent to the user terminal 41 again.
The transceiving module 421 is further configured to transmit the new video stream including the new I-frame scrambling code information to the user terminal 41, where the new video stream is another part of the target video data.
Each time the transceiver module 421 sends a video stream, the scrambling code generator 423 generates a new I-Frame scrambling code and sends the new I-Frame scrambling code to the user terminal 41 through the transceiver module 421, then the video service module 422 scrambles an I-Frame of the video stream to be sent by using the new I-Frame scrambling code and sends the scrambled video stream to the user terminal through the transceiver module 421, and the user terminal 41 continuously receives the updated I-Frame scrambling code and updates the stored I-Frame scrambling code, so that the user terminal can decode the received latest I-Frame of the video stream by using the currently received latest I-Frame scrambling code, and can decode a B-Frame and/or a P-Frame of the video stream on the basis of decoding the I-Frame, thereby completely decoding the video stream and normally playing the video stream.
The ue 41 receives the new video stream sent by the video server, and decodes the received new video stream according to the stored updated I-Frame scrambling code as a new authorization code.
To solve the foregoing technical problem, an embodiment of the present application further provides a device for protecting video data security, where the device for protecting video data security may be a user terminal or a video server, where the user terminal may be a computer device, and specifically refer to fig. 5, and fig. 5 is a block diagram of a basic structure of the device for protecting video data security according to the embodiment.
The device 5 for protecting video data security comprises a memory 51, a processor 52 and a network interface 53 which are mutually connected through a system bus in a communication way. It is noted that the figure only shows the apparatus 5 for securing video data having components 51-53, but it is to be understood that not all of the shown components are required and that more or less components may alternatively be implemented. As will be understood by those skilled in the art, the device 5 for protecting video data security is a device capable of automatically performing numerical calculation and/or information processing according to preset or stored instructions, and its hardware includes, but is not limited to, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), an embedded device, and the like.
The device 5 for protecting the security of the video data may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The device 5 for protecting the video data security can perform man-machine interaction with a user through a keyboard, a mouse, a remote controller, a touch panel or a voice control device and the like.
The memory 51 includes at least one type of readable storage medium including a non-volatile memory (non-volatile memory) or a volatile memory, for example, a flash memory (flash memory), a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM-on memory, PROM), a magnetic memory, a magnetic disk, an optical disk, etc., and the RAM may include a static RAM or a dynamic RAM. In some embodiments, the storage 51 may be an internal storage unit of the video data security apparatus 5, for example, a hard disk or a memory of the video data security apparatus 5. In other embodiments, the memory 51 may also be an external storage device of the apparatus for securing video data 5, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like, provided on the apparatus for securing video data 5. Of course, the memory 51 may also comprise both an internal storage unit of the apparatus for securing video data 5 and an external storage device thereof. In this embodiment, the memory 51 is generally used for storing an operating system and various application software installed in the device for protecting video data 5, such as program codes for executing a method for protecting video data. Further, the memory 51 may also be used to temporarily store various types of data that have been output or are to be output.
In the embodiment of the present application, the processor 52 may be a Central Processing Unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip. The processor 52 may also be other general purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components, etc. The general purpose processor may be a microprocessor or the processor may be any conventional processor such as a single chip or the like.
The processor 52 is generally used to control the overall operation of the apparatus 5 for securing video data. In this embodiment, the memory 51 is configured to store program codes or instructions, the program codes include computer operation instructions, and the processor 52 is configured to execute the program codes or instructions stored in the memory 51 or process data, for example, execute a program code of a user terminal or a video server to execute a method for protecting video data security.
The bus described herein may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (EISA) bus, or the like. The bus system may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
Another embodiment of the present application also provides a computer readable medium, which may be a computer readable signal medium or a computer readable medium. A processor in the computer reads computer readable program codes stored in a computer readable medium, so that the processor can execute the functional actions specified in each step or the combination of the steps in the method for protecting video data security executed by the user terminal or the video server corresponding to the flow chart in fig. 2 or 3 respectively; and means for generating a block diagram that implements the functional operation specified in each block or a combination of blocks.
A computer readable medium includes, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing, the memory storing program code or instructions, the program code including computer-executable instructions, and the processor executing the program code or instructions stored by the memory.
The definitions of the memory and the processor may refer to the description of the foregoing embodiments of the computer device, and are not repeated here.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
Moreover, those skilled in the art will appreciate that while some embodiments herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the application and form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination.
It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specified otherwise.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (16)

1. A method for securing video data, the method comprising:
a user terminal sends a video stream address request for acquiring target video data to a video server, receives a video stream address and I-frame scrambling code information of the target video data sent by the video server, and stores the I-frame scrambling code information, wherein the I-frame scrambling code information is used for scrambling an I-frame in a video stream;
and the user terminal acquires the current video stream added with the I-frame scrambling code information through the video stream address, and decodes and plays the current video stream according to the stored I-frame scrambling code information as an authorization code, wherein the current video stream is a part of the target video data.
2. The method of claim 1, wherein after the user terminal decodes and plays the current video stream according to the saved I-frame scrambling information, the method further comprises:
the user terminal receives updated I frame scrambling code information sent by the video server through long connection and stores the updated I frame scrambling code information;
and the user terminal receives a new video stream which is sent by the video server and added with the updated I-frame scrambling code information, and decodes and plays the new video stream as a new authorization code according to the stored updated I-frame scrambling code information, wherein the new video stream is another part of the target video data.
3. The method of claim 1, wherein the I-frame scrambling information comprises an I-frame scrambling code for an I-frame of the video stream.
4. The method of claim 3, wherein the I-frame scrambling code is a current pseudo-random code sequence generated by the video server for a video stream to be transmitted.
5. The method according to any of claims 1-4, wherein the I-frame scrambling code information is multiplied by an I-frame code word of the current video stream, or the I-frame scrambling code information is located in the I-frame code word of the current video stream at a code word interval.
6. A method for securing video data, the method comprising:
the video server receives a video stream address request for acquiring target video data sent by a user terminal, and sends the video stream address and I-frame scrambling code information of the target video data to the user terminal according to the video stream address request;
and the video server adds the I-frame scrambling code information into an I frame of a current video stream and sends the current video stream to the user terminal, so that the user terminal can decode and play the current video stream according to the received I-frame scrambling code information as an authorization code, wherein the current video stream is a part of the target video data.
7. The method of claim 6, wherein after the video server sends the current video stream to the user terminal, the method further comprises:
the video server sends updated I-frame scrambling code information to the user terminal through long connection;
and the video server adds the updated I-frame scrambling code information into an I frame in a new video stream to be sent to the user terminal, and sends the new video stream comprising the updated I-frame scrambling code information to the user terminal, so that the user terminal can decode and play the new video stream as a new authorization code according to the received updated I-frame scrambling code information, wherein the new video stream is another part of the target video data.
8. The method of claim 6, wherein the I-frame scrambling code information comprises an I-frame scrambling code for an I-frame of the video stream.
9. The method of claim 8, wherein the I-frame scrambling code is a current pseudo-random code sequence generated by the video server for a video stream to be transmitted.
10. The method according to any of claims 6-9, wherein the video server adding the I-frame scrambling information to the I-frame of the current video stream specifically comprises:
multiplying the I frame scrambling code information with an I frame code word of the current video stream; or
And adding the I-frame scrambling code information into the I-frame code of the current video stream according to a preset code interval.
11. A user terminal, characterized in that the user terminal is adapted to perform the steps of the method of securing video data according to any of claims 1-5.
12. A video server, characterized in that the video server is adapted to perform the steps of the method for securing video data according to any of claims 6-10.
13. An apparatus for securing video data, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is configured to store at least one executable instruction that causes the processor to perform the steps of the method for securing video data according to any one of claims 1-5.
14. An apparatus for securing video data, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is configured to store at least one executable instruction that causes the processor to perform the steps of the method for securing video data according to any one of claims 6-10.
15. A computer storage medium having stored therein at least one executable instruction for causing a processor to perform the steps of the method of securing video data as claimed in any one of claims 1 to 5.
16. A computer storage medium having stored therein at least one executable instruction for causing a processor to perform the steps of the method of securing video data as claimed in any one of claims 6 to 10.
CN201910821103.7A 2019-09-02 2019-09-02 Method, device and computer storage medium for protecting video data security Pending CN110730365A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910821103.7A CN110730365A (en) 2019-09-02 2019-09-02 Method, device and computer storage medium for protecting video data security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910821103.7A CN110730365A (en) 2019-09-02 2019-09-02 Method, device and computer storage medium for protecting video data security

Publications (1)

Publication Number Publication Date
CN110730365A true CN110730365A (en) 2020-01-24

Family

ID=69218809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910821103.7A Pending CN110730365A (en) 2019-09-02 2019-09-02 Method, device and computer storage medium for protecting video data security

Country Status (1)

Country Link
CN (1) CN110730365A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630624A (en) * 2021-08-04 2021-11-09 中图云创智能科技(北京)有限公司 Method, device and system for scrambling and descrambling panoramic video and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282458A (en) * 2008-05-12 2008-10-08 中兴通讯股份有限公司 Method and device for transmitting and receiving program preview data
CN101697511A (en) * 2009-09-22 2010-04-21 南京大学 Method and system for receiving mobile streaming media conditions
CN102202233A (en) * 2010-03-26 2011-09-28 北京视博数字电视科技有限公司 Video push method, system and terminal equipment
US20140304728A1 (en) * 2011-10-31 2014-10-09 Nagravision ,S.A. a corporation Method and multimedia unit for processing a digital broadcast transport stream
CN106658061A (en) * 2016-12-06 2017-05-10 讯美科技股份有限公司 Video data security encryption transmission method and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282458A (en) * 2008-05-12 2008-10-08 中兴通讯股份有限公司 Method and device for transmitting and receiving program preview data
CN101697511A (en) * 2009-09-22 2010-04-21 南京大学 Method and system for receiving mobile streaming media conditions
CN102202233A (en) * 2010-03-26 2011-09-28 北京视博数字电视科技有限公司 Video push method, system and terminal equipment
US20140304728A1 (en) * 2011-10-31 2014-10-09 Nagravision ,S.A. a corporation Method and multimedia unit for processing a digital broadcast transport stream
CN106658061A (en) * 2016-12-06 2017-05-10 讯美科技股份有限公司 Video data security encryption transmission method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630624A (en) * 2021-08-04 2021-11-09 中图云创智能科技(北京)有限公司 Method, device and system for scrambling and descrambling panoramic video and storage medium
CN113630624B (en) * 2021-08-04 2024-01-09 中图云创智能科技(北京)有限公司 Panoramic video scrambling and descrambling method, device, system and storage medium

Similar Documents

Publication Publication Date Title
US20200236408A1 (en) Reducing time to first encrypted frame in a content stream
US10020997B2 (en) Device communication
WO2019158028A1 (en) Communication method and device
US10516903B2 (en) Method and apparatus for transmitting video data
WO2019134303A1 (en) Live stream room popularity processing method and apparatus, server and storage medium
KR100835372B1 (en) Apparatus and method for providing an image photographed by network cameras
CN107959660A (en) A kind of static file access method and device based on Nginx
CN112738117A (en) Data transmission method, device and system, storage medium and electronic device
CN105491073A (en) Data downloading method, device and system
CN104021349A (en) Network evidence beforehand preservation method and preservation device
CN102811426A (en) Method and system for cryptographically sending and receiving messages of mobile device
CN110730365A (en) Method, device and computer storage medium for protecting video data security
CN110290097B (en) Data processing method and device, storage medium and electronic device
CN112565656B (en) Video call method, device, system, electronic equipment and storage medium
KR20140051483A (en) Method and apparatus for selectively providing protection of screen information data
CN108055356A (en) A kind of information processing method, server, client and readable storage medium storing program for executing
CN111600879A (en) Data output/acquisition method and device and electronic equipment
Bialczak et al. Sending hidden data via google suggest
CN110555175A (en) Two-dimensional code analyzing and generating method and equipment
CN111460502B (en) Data sharing method, device, equipment and storage medium
JP2007097110A (en) Network camera-based image delivery method
CN112351422B (en) Method, device, equipment and computer storage medium for encrypting and decrypting data
KR101572805B1 (en) Method for Providing Security in IoT
CN111698534B (en) Video processing method and device, electronic equipment and storage medium
CN114726564B (en) Security detection method, security detection device, electronic device, and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200124