CN107318045A - The method and device of playing video data stream - Google Patents

The method and device of playing video data stream Download PDF

Info

Publication number
CN107318045A
CN107318045A CN201610269016.1A CN201610269016A CN107318045A CN 107318045 A CN107318045 A CN 107318045A CN 201610269016 A CN201610269016 A CN 201610269016A CN 107318045 A CN107318045 A CN 107318045A
Authority
CN
China
Prior art keywords
data stream
video data
decrypted
video
multiple data
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
CN201610269016.1A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610269016.1A priority Critical patent/CN107318045A/en
Publication of CN107318045A publication Critical patent/CN107318045A/en
Pending legal-status Critical Current

Links

Classifications

    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention discloses a kind of method and device of playing video data stream.Wherein, this method includes:Obtain video data stream to be decrypted;Processing is decrypted to video data stream to be decrypted according to manner of decryption corresponding with the cipher mode that video data stream to be decrypted is used;Video data stream after processing to decoding code corresponding with video format is played out.The present invention, which is solved, to be played playback interface and function that instrument provides and can not support the decoding and broadcasting for encrypted video file in correlation technique, thus easily cause video file because without by encryption so easily by hacker's camouflage and the technical problem distorted.

Description

The method and device of playing video data stream
Technical field
The present invention relates to computer realm, in particular to a kind of method and device of playing video data stream.
Background technology
Prior art can provide a kind of audio and video playing instrument for playing audio-video data, mainly by being regarded to sound The processing such as conversion, decoding of frequency carrys out playing audio-video, wherein, audio and video playing instrument commonly relies on audio/video decoding Storehouse come realize audio, video data conversion decode etc. function, but existing audio and video playing instrument provide playback interface and Function can not support the decoding and broadcasting for encrypted video, so as to cause current audio-video document to be played to there is quilt Hacker pretends and distorted etc. security risk.
For example, with F.F. dynamic image expert group (fast forward moving picture experts group, Referred to as ffmpeg) exemplified by, ffmpeg is a kind of audio/video decoding storehouse increased income, and it can be for record, conversion number Word audio/video.Ffmpeg contains FA audio/video encoding and decoding storehouse, can be in several operation systems ring Compilation run in border.
At present, ffmpeg mainly has following several functions:
(1) video acquisition function
Ffmpeg can not only gather video frequency collection card or USB (Universal Serial Bus, abbreviation For USB) image of camera, screen recording can also be carried out, in addition, also support according to RTP simultaneously (Real-time Transport Protocol, referred to as RTP) mode quickly generates video stream to support The streaming media server of tree protocol (Rapid Spanning Tree Protocol, referred to as RSTP), supports to play Using.
(2) video format translation function
Ffmpeg can realize mutual conversion between various video form (for example:Wma, rmvb, avi, mod).
(3) video interception function
Ffmpeg specifies the thumbnail of time for selected video intercepting, obtained by video interception static map and/ Or Dynamic Graph.
(4) watermark function is added for video.
Ffmpeg can be utilized for video addition watermark (logo).
However, playback interface and function that existing ffmpeg is provided can not support the decoding and broadcasting for encrypted video, Thus easily cause video file because without by encryption so pretended and distorted by hacker easily, to reach pair Operating environment that video player or ffmpeg based on ffmpeg Components Developments are run on carry out malicious attack or Person makes the purpose of the pirate products related to above-mentioned video file.
For it is above-mentioned the problem of, effective solution is not yet proposed at present.
The content of the invention
The embodiments of the invention provide a kind of method and device of playing video data stream, at least to solve in correlation technique The playback interface and function that broadcasting instrument is provided can not support the decoding and broadcasting for encrypted video file, thus easily make Into video file because without by encryption so easily by hacker's camouflage and the technical problem distorted.
One side according to embodiments of the present invention there is provided a kind of method of playing video data stream, including:
Obtain video data stream to be decrypted;According to corresponding with the cipher mode that video data stream to be decrypted is used Processing is decrypted to video data stream to be decrypted in manner of decryption;By the video data stream after processing to and video The corresponding decoding code of form is played out.
Alternatively, obtaining video data stream to be decrypted includes:Register video data stream and read interface;Using video counts Interface is read according to stream to redirect video data stream to be decrypted, obtains video data stream to be decrypted.
Alternatively, the call back function interface provided by decoding code corresponding with video format is to corresponding with video format Decoding code registration video data stream read interface.
Alternatively, when cipher mode is that elder generation is that original video data stream is divided into multiple data by unit according to preset length Block simultaneously multiple data blocks is encrypted one by one using the first AES, then using the second AES to encryption after When multiple data blocks carry out overall encryption, processing, which is decrypted, to video data stream to be decrypted according to manner of decryption includes: By the way that many numbers after encryption are decrypted from video data stream to be decrypted with the decipherment algorithm that the second AES is matched According to block;By decrypting multiple data from multiple data blocks after encryption with the decipherment algorithm that the first AES is matched Block;Multiple data blocks are assembled, the video data stream after being handled.
Alternatively, when cipher mode is that elder generation is that original video data stream is divided into multiple data by unit according to preset length Multiple data blocks are encrypted and add digital watermarking one by one to multiple data blocks by block one by one using the first AES, When carrying out overall encryption to multiple data blocks after encryption using the second AES again, according to manner of decryption to be decrypted Video data stream processing be decrypted include:Regarded by the decipherment algorithm matched with the second AES to be decrypted Multiple data blocks after encryption are decrypted in frequency data stream;By the decipherment algorithm that is matched with the first AES from encryption Multiple data blocks are decrypted in multiple data blocks afterwards;By the number for being one by one each data block addition in multiple data blocks Word watermark carries out data integrity verifying to multiple data blocks;After data integrity verifying success, to multiple data blocks Assembled, the video data stream after being handled.
Alternatively, after video data stream to be decrypted is obtained, in addition to:Request creates memory headroom, wherein, The memory headroom video data stream to be decrypted for storing and storage video data stream to be decrypted are decrypted treated The intermediate data obtained in journey.
Another aspect according to embodiments of the present invention, additionally provides a kind of device of playing video data stream, including:
Acquisition module, the video data stream to be decrypted for obtaining;Processing module, for basis and video to be decrypted Processing is decrypted to video data stream to be decrypted in the corresponding manner of decryption of cipher mode that data flow is used;Send Module, for the video data stream after processing to decoding code corresponding with video format to be played out.
Alternatively, acquisition module includes:Registering unit, interface is read for registering video data stream;Acquiring unit, Video data stream to be decrypted is redirected for reading interface using video data stream, video to be decrypted is obtained Data flow.
Alternatively, registering unit, for the call back function interface that is provided by decoding code corresponding with video format to Decoding code registration video data stream corresponding with video format reads interface.
Alternatively, when cipher mode is that elder generation is that original video data stream is divided into multiple data by unit according to preset length Block simultaneously multiple data blocks is encrypted one by one using the first AES, then using the second AES to encryption after When multiple data blocks carry out overall encryption, processing module includes:First decryption unit, for by being calculated with the second encryption The decipherment algorithm of method matching decrypts multiple data blocks after encryption from video data stream to be decrypted;Second decryption is single Member, for by decrypting many numbers from multiple data blocks after encryption with the decipherment algorithm that the first AES is matched According to block;Module units, for being assembled to multiple data blocks, the video data stream after being handled.
Alternatively, when cipher mode is that elder generation is that original video data stream is divided into multiple data by unit according to preset length Multiple data blocks are encrypted and add digital watermarking one by one to multiple data blocks by block one by one using the first AES, When carrying out overall encryption to multiple data blocks after encryption using the second AES again, processing module includes:First solution Close unit, for being added by being decrypted with the decipherment algorithm that the second AES is matched from video data stream to be decrypted Multiple data blocks after close;Second decryption unit, for the decipherment algorithm by being matched with the first AES from encryption Multiple data blocks are decrypted in multiple data blocks afterwards;Verification unit, for by one by one to be each in multiple data blocks The digital watermarking of data block addition carries out data integrity verifying to multiple data blocks;Module units, for complete in data After whole property is verified successfully, multiple data blocks are assembled, the video data stream after being handled.
Alternatively, said apparatus also includes:Request module, for asking to create memory headroom, wherein, memory headroom For storing, video data stream to be decrypted and storage video data stream to be decrypted are decrypted in processing procedure and obtained Intermediate data.
Another aspect according to embodiments of the present invention, additionally provides a kind of server, the server, is come from for receiving In the video data stream to be decrypted of client, according to corresponding with the cipher mode that video data stream to be decrypted is used Manner of decryption video data stream to be decrypted is decrypted processing and by the video data stream after decryption processing Played out to decoding code corresponding with video format.
In embodiments of the present invention, using after video data stream to be decrypted is got, first regarded according to be decrypted Processing is decrypted to video data stream to be decrypted in the corresponding manner of decryption of cipher mode that frequency data stream is used, so The mode for afterwards again playing out the video data stream after processing to decoding code corresponding with video format, passes through First the encrypted video got is decrypted and encapsulated, the purpose for being decoded and being played to encrypted video has been reached, It is achieved thereby that the encrypted video file for customization is decoded and played, effectively prevent in encrypted video file Video data changed or video file is by pirate technique effect, and then solve and instrument is played in correlation technique carry The playback interface and function of confession can not support the decoding and broadcasting for encrypted video file, thus easily cause video file Because not by encryption so being pretended and the technical problem distorted by hacker easily.
Brief description of the drawings
Accompanying drawing described herein is used for providing a further understanding of the present invention, constitutes the part of the application, this hair Bright schematic description and description is used to explain the present invention, does not constitute inappropriate limitation of the present invention.In accompanying drawing In:
Fig. 1 is a kind of hardware block diagram of the terminal of the method for playing video data stream of the embodiment of the present invention;
Fig. 2 is the flow chart of the method for playing video data stream according to embodiments of the present invention;
Fig. 3 is the flow chart of the method for playing video data stream according to the preferred embodiment of the invention;
Fig. 4 is the structured flowchart of the device of playing video data stream according to embodiments of the present invention;
Fig. 5 is the structured flowchart of the device of playing video data stream according to the preferred embodiment of the invention;
Fig. 6 is that the server for playing video data stream according to embodiments of the present invention carries out information exchange with client Schematic diagram;
Fig. 7 is a kind of structured flowchart of terminal according to embodiments of the present invention.
Embodiment
In order that those skilled in the art more fully understand the present invention program, below in conjunction with the embodiment of the present invention Accompanying drawing, the technical scheme in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment The only embodiment of a present invention part, rather than whole embodiments.Based on the embodiment in the present invention, ability The every other embodiment that domain those of ordinary skill is obtained under the premise of creative work is not made, should all belong to The scope of protection of the invention.
It should be noted that term " first " in description and claims of this specification and above-mentioned accompanying drawing, " Two " etc. be for distinguishing similar object, without for describing specific order or precedence.It should be appreciated that this The data that sample is used can be exchanged in the appropriate case, so as to embodiments of the invention described herein can with except Here the order beyond those for illustrating or describing is implemented.In addition, term " comprising " and " having " and they Any deformation, it is intended that covering is non-exclusive to be included, for example, containing process, the side of series of steps or unit Method, system, product or equipment are not necessarily limited to those steps clearly listed or unit, but may include unclear It is that ground is listed or for the intrinsic other steps of these processes, method, product or equipment or unit.
The explanation of nouns that the present invention relates to is as follows:
(1) F.F. dynamic image expert group (fast forward moving picture experts group, letter Referred to as ffmpeg) it is a kind of audio/video decoding storehouse increased income, it can be for record, converted digital audio/video. Ffmpeg contains FA audio/video encoding and decoding storehouse, can in several operation systems environment compilation run.
(2) call back function refers to a function called by function pointer, if by the pointer (address) of a function Another function is passed to as parameter, when specific event or condition occur, is adjusted by another function With for being responded to the event or condition.
(3) function for referring to that User Defined offer is jumped to from the function that script should be performed is redirected.
(4) read interface to be responsible for reading video data stream to be decrypted, and the video data stream is redirected to set in advance In fixed call back function.
(5) assembling refers to original video data stream is being divided into multiple data blocks and use is being performed to each data block respectively After the sequence of operations of family setting, new video data stream is reassembled into.
Embodiment 1
According to embodiments of the present invention, a kind of embodiment of the method for playing video data stream is additionally provided, it is necessary to illustrate, It can be performed the step of the flow of accompanying drawing is illustrated in the computer system of such as one group computer executable instructions, And, although logical order is shown in flow charts, but in some cases, can be with suitable different from herein Sequence performs shown or described step.
The embodiment of the method that the embodiment of the present application one is provided can be in mobile terminal, terminal or similar fortune Calculate in device and perform.Exemplified by running on computer terminals, Fig. 1 is that a kind of of the embodiment of the present invention plays video counts According to the hardware block diagram of the terminal of the method for stream.As shown in figure 1, terminal 10 can include one Or (processor 102 can include but is not limited to Micro-processor MCV to multiple (one is only shown in figure) processors 102 Or PLD FPGA etc. processing unit), the memory 104 for data storage and for communicating The transmitting device 106 of function.It will appreciated by the skilled person that the structure shown in Fig. 1 is only signal, its The structure to above-mentioned electronic installation does not cause to limit.For example, terminal 10 may also include than shown in Fig. 1 more Many either less components or with the configuration different from shown in Fig. 1.
The broadcasting that memory 104 can be used in the software program and module of storage application software, such as embodiment of the present invention Corresponding programmed instruction/the module of method of video data stream, processor 102 is stored in memory 104 by operation Software program and module, so as to perform various function application and data processing, that is, realize above-mentioned broadcasting video counts According to the method for stream.Memory 104 may include high speed random access memory, may also include nonvolatile memory, such as one Or multiple magnetic storage devices, flash memory or other non-volatile solid state memories.In some instances, store Device 104 can further comprise the memory remotely located relative to processor 102, and these remote memories can pass through Network connection is to terminal 10.The example of above-mentioned network includes but is not limited to internet, intranet, local Net, mobile radio communication and combinations thereof.
Transmitting device 106 is used to data are received or sent via a network.Above-mentioned network instantiation may include The wireless network that the communication providerses of terminal 10 are provided.In an example, transmitting device 106 includes one Network adapter (Network Interface Controller, referred to as NIC), it can pass through base station and other nets Network equipment is connected to be communicated with internet.In an example, transmitting device 106 can be radio frequency (Rad io Frequency, referred to as RF) module, it is used to wirelessly be communicated with internet.
Under above-mentioned running environment, this application provides the method for playing video data stream as shown in Figure 2.Fig. 2 is The flow chart of the method for playing video data stream according to embodiments of the present invention.As shown in Fig. 2 this method can include Following process step:
Step S22:Obtain video data stream to be decrypted;
Step S24:Solution is treated according to manner of decryption corresponding with the cipher mode that video data stream to be decrypted is used Processing is decrypted in close video data stream;
It should be noted that the present invention does not make specific restriction to above-mentioned cipher mode, only enumerate following several herein Suitable for the manner of decryption of the embodiment of the present invention:
Mode one, such a mode are the easiest, i.e., according to preset length be unit (for example:In units of byte, with Frame of video is unit) original video data stream is divided into multiple data blocks, then, then in multiple data blocks Each data block carries out the encryption of unit data block one by one.Encrypted video file by after encryption No longer it is the analysable video file of standard, but is preserved with the data of ciphertext.
Mode two, using symmetric encipherment algorithm whole original video data stream is encrypted, symmetric encipherment algorithm is Using AES earlier, technology maturation.In a symmetric encryption algorithm, data sender can will in plain text it is (original Data) and encryption key together after the processing of special AES, it is become complicated encrypted cipher text and send. Recipient, if wanting to understand original text, needs to use key by encryption and identical after encrypted cipher text is received Ciphertext is decrypted the algorithm for inversion of algorithm, just it can be made to revert to readable plaintext.In a symmetric encryption algorithm, use Key only one of which, sender and recipient be encrypted and decrypted using this data key, and this is required Decryption side must be known by encryption key in advance.The characteristics of symmetric encipherment algorithm is that algorithm is disclosed, amount of calculation is small, encryption is fast Degree is fast, encryption efficiency is high.Encrypted video file is by being no longer that the analysable of standard regards after encryption Frequency file, but preserved with the data of ciphertext.
Mode three, the cipher mode provided with reference to aforesaid way one and mode two, are first according to preset length for unit (for example:In units of byte, in units of frame of video) original video data stream is divided into multiple data blocks; Secondly, the encryption of unit data block one by one is carried out to each data block in multiple data blocks;Then, then use The symmetric encipherment algorithm of high intensity is carried out to the overall video data stream constituted after being encrypted one by one according to unit data block Symmetric cryptography.Encrypted video file by be no longer after encryption standard analysable video file, But preserved with the data of ciphertext.
Mode four, digital watermarking (Digital different to the addition of each unit data block on the basis of mode three Watermarking).Digital watermarking refer to be embedded in digital carrier (including:Multimedia, document, software etc.) in number Word signal, its can be image, word, symbol, numeral etc. it is all can as mark information.Digital watermarking was both Normal use and the existent value of initial carrier are not influenceed, are not easy to be humanly perceptible yet.Digital watermarking is by specifically calculating Some significant information are directly embedded among content of multimedia by method, but do not influence the value of raw content and use, and And can not be perceived by the consciousness system of people or notice that only passing through special detector or reader could extract, its In watermark information can be the sequence number of video file author, the mark of video file provider, have Special Significance Text etc., can be used to recognize the source of file, image or musical-product, version, original author, owner, publisher, Ownership of the legal user to digital product.Digital watermarking in each unit data block is added to come really by detection The integrality and copyright for determining original video data stream are verified.
Step S26:Video data stream after processing to decoding code corresponding with video format is played out.
During being preferable to carry out, above-mentioned decoding code corresponding with video format can include but is not limited to:ffmpeg.
In common video decoding playing process, avi, mkv, rmvb, mov, the video format such as mp4 are referred to as holding Device (Container), the organizational form that different Container Formats defines wherein video/audio data (also includes certainly Other data, for example:Captions).Video and audio track would generally be packaged with container, the video flowing that is otherwise known as (stream) And audio stream, playing video file is firstly the need of the form according to video file, and parsing (demux) goes out what is wherein encapsulated Video flowing, audio stream and captions (option), the data of parsing are read in bag (packet), are preserved in each bag Be frame of video (frame) or audio frame, corresponding decoder (decoder) is then called to frame of video and audio frame respectively Decoded, for example:H.264 the audio encoded using the video and MP3 H.264 encoded, will call accordingly Decoder and MP3 decoding device, what is obtained after decoding is original image (YUV or RGB) and sound (PCM) number According to then image is shown on screen and sound is output into sound card according to time synchronized.
Specific to ffmpeg video data stream decoding and playing flow, video counts of the ffmpeg after processing is got After stream, the video data stream after processing is sent into media formats are removed in media formats decoder (demuxer); Secondly, decoded in the decode for sending into ffmpeg, generate the picture of yuv format to be shown, then send again Enter and rendered in simple straight control Media layer (Simple DirectMedia Layer, referred to as SDL).SDL is one The cross-platform multimedia development storehouse of open source code is covered, is write as using C language.SDL provide various control image, The function of sound, import and export so that as long as developer just can be developed across multiple using same or like code The application software of platform (Linux, Windows, Mac OS X etc.).Current SDL is used for exploitation game, simulation The multimedia application such as device, media player field.SDL render process mainly comprises the following steps:
The first step, use SDL_CreateWindow () create one be used for video playback window.
Second step, using SDL_CreateRenderer () be based on window creation renderer.
3rd step, using SDL_CreateTexture () be based on renderer create a texture.
4th step, the pixel data using SDL_UpdateTexture () setting textures.
5th step, using SDL_RenderCopy () data texturing is copied to post-processing object.Using Before SDL_RenderCopy (), SDL_RenderClear () can be used first to use and empty post-processing object.Actually It is also possible without using SDL_RenderClear () when video playback, because a later frame figure of video data stream As previous frame image can be completely covered.
6th step, use SDL_RenderPresent () display picture.
Wherein, SDL_Window is to use the window ejected when SDL, may only in SDL1.x versions Window one by one is created, in SDL2.0 versions, multiple windows can be created;SDL_Texture is used to show YUV Data;One SDL_Texture one frame yuv data of correspondence;SDL_Renderer is used to render SDL_Texture extremely SDL_Window;SDL_Rect is used to determine the position that SDL_Texture is shown.
In correlation technique, the video player based on ffmpeg Components Developments can not to encrypted video file carry out decoding and Play, be thus easily caused and send that video data into ffmpeg video file is tampered or video file is pirate. Using embodiment of the method as shown in Figure 2, decryption function is expanded on the basis of ffmpeg playback interface, its energy Enough encrypted video files for customizing are decoded and played, so as to effectively prevent from sending to ffmpeg video Video data in file is tampered or video file is pirate, and then realizes original can directly to enter by one , can be to the encrypted video file using the player developed based on ffmpeg after the video file that row is played is encrypted It is decrypted, decodes and render.
Alternatively, in step S22, step performed below can be included by obtaining video data stream to be decrypted:
Step S222:Register video data stream and read interface;
Step S224:Interface is read using video data stream to redirect video data stream to be decrypted, acquisition is treated The video data stream of decryption.
During being preferable to carry out, can by decoding code corresponding with video format provide call back function interface to Decoding code corresponding with video format come complete the registration video data stream in above-mentioned steps S222 read interface behaviour Make.
The decoding and broadcasting to encrypted video file are not supported in view of the player based on ffmpeg Components Developments, therefore, If carrying out encryption to original video data stream, then can not directly by enciphered video data stream send to Ffmpeg is decoded and played.Therefore, realize if desired enciphered video data stream ffmpeg carry out decoding and Play, then need before enciphered video data stream is decoded and played, first passing through the interface of ffmpeg offers will read The action of enciphered video data stream is taken to be redirected in call back function set in advance, and completion pair adds in call back function The read operation of close video data stream and decryption oprerations.
Specifically, ffmpeg provides an interface avio_alloc_context, wherein it is possible to be arranged on ffmpeg Need to call read_packet call back functions when reading video flowing, when ffmpeg needs write-in video flowing Call write_packet call back functions and need broadcasting to render when progress is redirected to call seek in ffmpeg Call back function.
During being preferable to carry out, two call back functions of read_packet and write_packet can be only set, will The two call back functions are set to the video reading of self-defined offer and video progress redirects function, and such ffmpeg is being needed Obtain video flowing and need implementation progress to be changed to call the function of self-defined offer when redirecting, so by In customized call back function, encrypted video flowing is obtained, and pass to ffmpeg progress again after being decrypted in internal memory Broadcasting is rendered, so as to realize in ffmpeg initialization procedures, passes through the call back function for calling ffmpeg to provide Avio_alloc_context interfaces register customized read_packet interfaces, and encrypted video will be read to realize The action of data flow is redirected in call back function set in advance.
Alternatively, when cipher mode be according to preset length be that original video data stream is divided into multiple data blocks by unit And multiple data blocks are encrypted one by one using the first AES, then using the second AES to many after encryption When individual data block carries out overall encryption, in step s 24, video data stream to be decrypted is carried out according to manner of decryption Decryption processing can include performing step:
Step S241:By being decrypted with the decipherment algorithm that the second AES is matched from video data stream to be decrypted Multiple data blocks after encryption;
Step S242:By being decrypted with the decipherment algorithm that the first AES is matched from multiple data blocks after encryption Multiple data blocks;
Step S243:Multiple data blocks are assembled, the video data stream after being handled.
When cipher mode is that to be unit be divided into multiple data blocks by original video data stream and uses the according to preset length Multiple data blocks are encrypted one AES (algorithm is encrypted one by one by dividing unit) one by one, then using When two AESs (high intensity symmetric encipherment algorithm) carry out overall encryption to multiple data blocks after encryption, due to quilt The video file of encryption by be no longer after encryption standard analysable video file, but with ciphertext Data are preserved, therefore, after video data stream to be decrypted is got, firstly, it is necessary to be encrypted using with second The reciprocal decipherment algorithm of algorithm (high intensity symmetric encipherment algorithm) is cracked to above-mentioned overall ciphering process, from waiting to solve Multiple data blocks after the encryption obtained using the first AES are decrypted in close video data stream;Secondly, use Reciprocal decipherment algorithm is carried out to multiple data blocks after encryption with the second AES (high intensity symmetric encipherment algorithm) The decryption oprerations of unit data block one by one, the multiple data blocks not yet encrypted;Then, then by decrypting Multiple data blocks are assembled, and finally give preparation in the original video data stream that ffmpeg is decoded and is played.
Alternatively, when cipher mode is that elder generation is that original video data stream is divided into multiple data by unit according to preset length Multiple data blocks are encrypted and add digital watermarking one by one to multiple data blocks by block one by one using the first AES, When carrying out overall encryption to multiple data blocks after encryption using the second AES again, in step s 24, according to solution Close mode video data stream to be decrypted, which is decrypted, processing can include step performed below:
Step S244:By being decrypted with the decipherment algorithm that the second AES is matched from video data stream to be decrypted Multiple data blocks after encryption;
Step S245:By being decrypted with the decipherment algorithm that the first AES is matched from multiple data blocks after encryption Multiple data blocks;
Step S246:By being that the digital watermarking of each data block addition in multiple data blocks is entered to multiple data blocks one by one Row data integrity verifying;
Step S247:After data integrity verifying success, multiple data blocks are assembled, regarding after being handled Frequency data stream.
It is first that original video data stream is divided into multiple data blocks by unit according to preset length to be when cipher mode, is used First AES (algorithm is encrypted one by one by dividing unit) multiple data blocks is encrypted one by one and to multiple Data block adds digital watermarking one by one, then using the second AES (high intensity symmetric encipherment algorithm) to encryption after When multiple data blocks carry out overall encryption, because encrypted video file is by being no longer standard after encryption Analysable video file, but preserved with the data of ciphertext, therefore, getting video counts to be decrypted After stream, firstly, it is necessary to using the decipherment algorithm pair reciprocal with the second AES (high intensity symmetric encipherment algorithm) Above-mentioned overall ciphering process is cracked, and is decrypted and is obtained using the first AES from video data stream to be decrypted Encryption after multiple data blocks;Secondly, using reciprocal with the second AES (high intensity symmetric encipherment algorithm) Decipherment algorithm carries out the decryption oprerations of unit data block one by one to multiple data blocks after encryption, and that is not yet encrypted is more Individual data block;Then, by being each data block is added in multiple data blocks digital watermarking one by one to multiple data blocks Data integrity verifying is carried out, i.e., the integrality and accuracy of original video data stream are ensured by adding digital watermarking; Finally, then by being assembled to the multiple data blocks decrypted, finally give preparation and decoded and broadcast in ffmpeg The original video data stream put.
Alternatively, in step S22, obtain after video data stream to be decrypted, step performed below can also be included:
Step S23:Request create memory headroom, wherein, memory headroom be used for store video data stream to be decrypted with And the intermediate data obtained in processing procedure is decrypted in storage video data stream to be decrypted.
After video data stream to be decrypted is got, firstly, it is necessary to which one piece of memory space is opened up in request in internal memory Video data stream to be decrypted is stored;Secondly, based on above-mentioned analysis, when cipher mode is according to preset length Original video data stream is divided into multiple data blocks for unit and (entered one by one by dividing unit using the first AES Row AES) multiple data blocks are encrypted one by one, then (high intensity symmetric cryptography is calculated using the second AES Method) when carrying out overall encryption to multiple data blocks after encryption, using (high intensity symmetrically adds with the second AES Close algorithm) reciprocal decipherment algorithm cracks to above-mentioned overall ciphering process, solved from video data stream to be decrypted It is close go out the encryption that is obtained using the first AES after multiple data blocks and using and the second AES (high intensity Symmetric encipherment algorithm) reciprocal decipherment algorithm carries out the decryption of unit data block one by one to multiple data blocks after encryption and grasps Make, the multiple data blocks not yet encrypted can serve as intermediate data and be temporarily stored into the memory space newly opened up;So Afterwards, by being assembled to the multiple data blocks decrypted in the memory space, finally giving can be by ffmpeg The correct original video data stream for parsing and performing;Or, it is first unit by original according to preset length to be when cipher mode Beginning video data stream is divided into multiple data blocks, using the first AES (algorithm is encrypted one by one by dividing unit) Multiple data blocks are encrypted one by one and multiple data blocks are added with digital watermarking one by one, then using the second AES When (high intensity symmetric encipherment algorithm) carries out overall encryption to multiple data blocks after encryption, calculated using with the second encryption The reciprocal decipherment algorithm of method (high intensity symmetric encipherment algorithm) is cracked to above-mentioned overall ciphering process, to be decrypted Video data stream in decrypt multiple data blocks after the encryption obtained using the first AES and using and second The reciprocal decipherment algorithm of AES (high intensity symmetric encipherment algorithm) carries out single one by one to multiple data blocks after encryption The decryption oprerations of bit data block, the multiple data blocks not yet encrypted can serve as intermediate data and be temporarily stored into newly to open up Memory space in;Then, by being each data block is added in multiple data blocks digital watermarking one by one to many numbers Data integrity verifying is carried out according to block, i.e., the integrality and standard of original video data stream are ensured by adding digital watermarking True property;Finally, then by being assembled to the multiple data blocks decrypted, finally giving can correctly be solved by ffmpeg Analysis and the original video data stream performed.
It should be noted that in whole video display process, except needing of short duration in internal memory to generate what is be divided (these data blocks are no longer the video data streams of standard to multiple data blocks of original video data stream, but with internal memory number According to the mode presence of block) outside, will not Anywhere occur the data related to original video data stream at other, i.e., Will not occur complete original video data stream in internal memory or in disk file, thus ensure that enciphered video data stream Security.
The above-mentioned process that is preferable to carry out is further described through below in conjunction with the preferred embodiment shown in Fig. 3.
Fig. 3 is the flow chart of the method for playing video data stream according to the preferred embodiment of the invention.As shown in figure 3, The flow can include following process step:
Step S32:Due to needing to realize that enciphered video data stream is decoded and played in ffmpeg, then need right Before enciphered video data stream is decoded and played, enciphered video data stream will be read by first passing through the interface of ffmpeg offers Action be redirected in call back function set in advance, and complete in call back function the reading to enciphered video data stream Extract operation and decryption oprerations.
During being preferable to carry out, the readjustment for calling ffmpeg to provide can be passed through in ffmpeg initialization procedures Function avio_alloc_context interfaces register customized read_packet interfaces, and encryption will be read to realize The action of video data stream is redirected in call back function set in advance.
Step S34:After video data stream to be decrypted is got, firstly, it is necessary to which request opens up one in internal memory Block memory space is stored to video data stream to be decrypted;Secondly, used according to video data stream to be decrypted Cipher mode determine the mediant that produces during being decrypted using the manner of decryption reciprocal with the cipher mode According to also will be stored in the memory space.
For example:It according to preset length is that original video data stream is divided into multiple data blocks simultaneously by unit to be when cipher mode Multiple data blocks are encrypted one by one using the first AES (algorithm is encrypted one by one by dividing unit), then When carrying out overall encryption to multiple data blocks after encryption using the second AES (high intensity symmetric encipherment algorithm), The decipherment algorithm reciprocal with the second AES (high intensity symmetric encipherment algorithm) is being used to above-mentioned overall ciphering process Cracked, many numbers after the encryption obtained using the first AES are decrypted from video data stream to be decrypted According to block and using the decipherment algorithm reciprocal with the second AES (high intensity symmetric encipherment algorithm) to many after encryption Individual data block carries out the decryption oprerations of unit data block one by one, during the multiple data blocks not yet encrypted can serve as Between data be temporarily stored into the memory space newly opened up;Then, multiple data to decrypting are passed through in the memory space Block is assembled, and finally gives the original video data stream that correctly can be parsed and be performed by ffmpeg;
Or, it is first that original video data stream is divided into multiple data blocks by unit according to preset length to be when cipher mode, Multiple data blocks are encrypted one by one and right using the first AES (algorithm is encrypted one by one by dividing unit) Multiple data blocks add digital watermarking one by one, then using the second AES (high intensity symmetric encipherment algorithm) to encryption When multiple data blocks afterwards carry out overall encryption, using reciprocal with the second AES (high intensity symmetric encipherment algorithm) Decipherment algorithm above-mentioned overall ciphering process is cracked, decrypted from video data stream to be decrypted and use first Multiple data blocks and use and the second AES (high intensity symmetric encipherment algorithm) after the encryption that AES is obtained Reciprocal decipherment algorithm carries out the decryption oprerations of unit data block one by one to multiple data blocks after encryption, obtains not yet adding Close multiple data blocks can serve as intermediate data and be temporarily stored into the memory space newly opened up;Then, by being one by one The digital watermarking of each data block addition carries out data integrity verifying to multiple data blocks in multiple data blocks, that is, passes through Digital watermarking is added to ensure the integrality and accuracy of original video data stream;Finally, then by many to what is decrypted Individual data block is assembled, and finally gives the original video data stream that correctly can be parsed and be performed by ffmpeg.
Step S36:Solution is treated using the reciprocal manner of decryption of the cipher mode used with video data stream to be decrypted Processing is decrypted in close video data stream.
Specifically, when cipher mode be according to preset length be that original video data stream is divided into multiple data blocks by unit And multiple data blocks are encrypted one by one using the first AES (algorithm is encrypted one by one by dividing unit), When carrying out overall encryption to multiple data blocks after encryption using the second AES (high intensity symmetric encipherment algorithm) again, Due to encrypted video file by be no longer after encryption standard analysable video file, but with The data of ciphertext are preserved, therefore, after video data stream to be decrypted is got, firstly, it is necessary to using with The reciprocal decipherment algorithm of two AESs (high intensity symmetric encipherment algorithm) is cracked to above-mentioned overall ciphering process, Multiple data blocks after the encryption obtained using the first AES are decrypted from video data stream to be decrypted;Secondly, Using the decipherment algorithm reciprocal with the second AES (high intensity symmetric encipherment algorithm) to multiple data blocks after encryption Carry out the decryption oprerations of unit data block one by one, the multiple data blocks not yet encrypted;Then, then by decryption The multiple data blocks gone out are assembled, and finally give preparation in the original video data stream that ffmpeg is decoded and is played.
Specifically, when cipher mode is that elder generation is that original video data stream is divided into multiple data by unit according to preset length Multiple data blocks are encrypted by block one by one using the first AES (algorithm is encrypted one by one by dividing unit) And multiple data blocks are added with digital watermarking one by one, then it is right using the second AES (high intensity symmetric encipherment algorithm) When multiple data blocks after encryption carry out overall encryption, due to encrypted video file by after encryption not It is again the analysable video file of standard, but is preserved with the data of ciphertext, it is therefore, to be decrypted getting Video data stream after, firstly, it is necessary to using the solution reciprocal with the second AES (high intensity symmetric encipherment algorithm) Close algorithm is cracked to above-mentioned overall ciphering process, is decrypted from video data stream to be decrypted using the first encryption Multiple data blocks after the encryption that algorithm is obtained;Secondly, using with the second AES (high intensity symmetric encipherment algorithm) Reciprocal decipherment algorithm carries out the decryption oprerations of unit data block one by one to multiple data blocks after encryption, obtains not yet adding Close multiple data blocks;Then, by being each data block is added in multiple data blocks digital watermarking one by one to multiple Data block carry out data integrity verifying, i.e., ensured by adding digital watermarking original video data stream integrality and Accuracy;Finally, then by being assembled to the multiple data blocks decrypted, finally give preparation and carried out in ffmpeg Decoding and the original video data stream played.
Step S38:After the video data stream for obtaining correctly to be parsed and being performed by ffmpeg, after completing to processing Video data stream playing process.
Specifically, ffmpeg sends into the video data stream after processing after the video data stream after getting processing Media formats are removed in media formats decoder (demuxer);Secondly, solved in the decode for sending into ffmpeg Code, generates the picture of yuv format to be shown, is then re-fed into simple straight control Media layer (Simple DirectMedia Layer, referred to as SDL) in rendered.
It should be noted that for foregoing each method embodiment, in order to be briefly described, therefore it is all expressed as to one it is The combination of actions of row, but those skilled in the art should know, the present invention is not limited by described sequence of movement System, because according to the present invention, some steps can be carried out sequentially or simultaneously using other.Secondly, art technology Personnel should also know that embodiment described in this description belongs to preferred embodiment, involved action and module Not necessarily necessary to the present invention.
Through the above description of the embodiments, those skilled in the art can be understood that according to above-mentioned implementation The method of the playing video data stream of example can add the mode of required general hardware platform to realize by software, certainly Can the former be more preferably embodiment by hardware, but in many cases.Understood based on such, skill of the invention The part that art scheme substantially contributes to prior art in other words can be embodied in the form of software product, should Computer software product is stored in a storage medium (such as ROM/RAM, magnetic disc, CD), including some instructions To cause a station terminal equipment (can be mobile phone, computer, server, or network equipment etc.) to perform this hair Method described in each bright embodiment.
Embodiment 2
According to embodiments of the present invention, a kind of device embodiment for being used to implement above-mentioned playing video data stream is additionally provided, Fig. 4 is the structured flowchart of the device of playing video data stream according to embodiments of the present invention.As shown in figure 4, the device Including:Acquisition module 10, the video data stream to be decrypted for obtaining;Processing module 20, for according to it is to be decrypted The cipher mode corresponding manner of decryption that is used of video data stream processing is decrypted to video data stream to be decrypted; Sending module 30, for the video data stream after processing to decoding code corresponding with video format to be played out.
During being preferable to carry out, above-mentioned decoding code corresponding with video format can include but is not limited to:ffmpeg.
It should be noted that the present invention does not make specific restriction to above-mentioned cipher mode, only enumerate following several herein Suitable for the manner of decryption of the embodiment of the present invention:
Mode one, such a mode are the easiest, i.e., according to preset length be unit (for example:In units of byte, with Frame of video is unit) original video data stream is divided into multiple data blocks, then, then in multiple data blocks Each data block carries out the encryption of unit data block one by one.Encrypted video file by after encryption No longer it is the analysable video file of standard, but is preserved with the data of ciphertext.
Mode two, using symmetric encipherment algorithm whole original video data stream is encrypted, symmetric encipherment algorithm is Using AES earlier, technology maturation.In a symmetric encryption algorithm, data sender can will in plain text it is (original Data) and encryption key together after the processing of special AES, it is become complicated encrypted cipher text and send. Recipient, if wanting to understand original text, needs to use key by encryption and identical after encrypted cipher text is received Ciphertext is decrypted the algorithm for inversion of algorithm, just it can be made to revert to readable plaintext.In a symmetric encryption algorithm, use Key only one of which, sender and recipient be encrypted and decrypted using this data key, and this is required Decryption side must be known by encryption key in advance.The characteristics of symmetric encipherment algorithm is that algorithm is disclosed, amount of calculation is small, encryption is fast Degree is fast, encryption efficiency is high.Encrypted video file is by being no longer that the analysable of standard regards after encryption Frequency file, but preserved with the data of ciphertext.
Mode three, the cipher mode provided with reference to aforesaid way one and mode two, are first according to preset length for unit (for example:In units of byte, in units of frame of video) original video data stream is divided into multiple data blocks; Secondly, the encryption of unit data block one by one is carried out to each data block in multiple data blocks;Then, then use The symmetric encipherment algorithm of high intensity is carried out to the overall video data stream constituted after being encrypted one by one according to unit data block Symmetric cryptography.Encrypted video file by be no longer after encryption standard analysable video file, But preserved with the data of ciphertext.
Mode four, digital watermarking (Digital different to the addition of each unit data block on the basis of mode three Watermarking).Digital watermarking refer to be embedded in digital carrier (including:Multimedia, document, software etc.) in number Word signal, its can be image, word, symbol, numeral etc. it is all can as mark information.Digital watermarking was both Normal use and the existent value of initial carrier are not influenceed, are not easy to be humanly perceptible yet.Digital watermarking is by specifically calculating Some significant information are directly embedded among content of multimedia by method, but do not influence the value of raw content and use, and And can not be perceived by the consciousness system of people or notice that only passing through special detector or reader could extract, its In watermark information can be the sequence number of video file author, the mark of video file provider, have Special Significance Text etc., can be used to recognize the source of file, image or musical-product, version, original author, owner, publisher, Ownership of the legal user to digital product.Digital watermarking in each unit data block is added to come really by detection The integrality and copyright for determining original video data stream are verified.
In correlation technique, the video player based on ffmpeg Components Developments can not to encrypted video file carry out decoding and Play, be thus easily caused and send that video data into ffmpeg video file is tampered or video file is pirate. Using device embodiment as shown in Figure 4, decryption function is expanded on the basis of playback interface, it can be for fixed The encrypted video file of inhibition and generation is decoded and played, so as to effectively prevent from sending to decoding corresponding with video format Video data in the video file of code is tampered or video file is pirate, and then is realized original by one The video file that can directly play out be encrypted after so that player can be solved to the encrypted video file It is close, decode and render.
Alternatively, Fig. 5 is the structured flowchart of the device of playing video data stream according to the preferred embodiment of the invention.Such as Shown in Fig. 5, acquisition module 10 can include:Registering unit 100, interface is read for registering video data stream;Obtain Unit 102 is taken, video data stream to be decrypted is redirected for reading interface using video data stream, obtained Video data stream to be decrypted.
During being preferable to carry out, above-mentioned registering unit 100, for being carried by decoding code corresponding with video format The call back function interface of confession reads interface to decoding code corresponding with video format registration video data stream.
The decoding and broadcasting to encrypted video file are not supported in view of the player based on ffmpeg Components Developments, therefore, If carrying out encryption to original video data stream, then can not directly by enciphered video data stream send to Ffmpeg is decoded and played.Therefore, realize if desired enciphered video data stream ffmpeg carry out decoding and Play, then need before enciphered video data stream is decoded and played, first passing through the interface of ffmpeg offers will read The action of enciphered video data stream is taken to be redirected in call back function set in advance, and completion pair adds in call back function The read operation of close video data stream and decryption oprerations.Specifically, in ffmpeg initialization procedures, by calling The call back function avio_alloc_context interfaces that ffmpeg is provided register customized read_packet interfaces, The action for reading enciphered video data stream is redirected in call back function set in advance with realizing.
Alternatively, as shown in figure 5, when cipher mode is that elder generation is that unit draws original video data stream according to preset length It is divided into multiple data blocks and multiple data blocks is encrypted one by one using the first AES, then is calculated using the second encryption When method carries out overall encryption to multiple data blocks after encryption, processing module 20 can include:First decryption unit 200, For many after encryption by being decrypted with the decipherment algorithm that the second AES is matched from video data stream to be decrypted Individual data block;Second decryption unit 202, for the decipherment algorithm by being matched with the first AES after encryption Multiple data blocks are decrypted in multiple data blocks;Module units 204, for being assembled to multiple data blocks, is obtained Video data stream after processing.
When cipher mode is that to be unit be divided into multiple data blocks by original video data stream and uses the according to preset length Multiple data blocks are encrypted one AES (algorithm is encrypted one by one by dividing unit) one by one, then using When two AESs (high intensity symmetric encipherment algorithm) carry out overall encryption to multiple data blocks after encryption, due to quilt The video file of encryption by be no longer after encryption standard analysable video file, but with ciphertext Data are preserved, therefore, after video data stream to be decrypted is got, firstly, it is necessary to be encrypted using with second The reciprocal decipherment algorithm of algorithm (high intensity symmetric encipherment algorithm) is cracked to above-mentioned overall ciphering process, from waiting to solve Multiple data blocks after the encryption obtained using the first AES are decrypted in close video data stream;Secondly, use Reciprocal decipherment algorithm is carried out to multiple data blocks after encryption with the second AES (high intensity symmetric encipherment algorithm) The decryption oprerations of unit data block one by one, the multiple data blocks not yet encrypted;Then, then by decrypting Multiple data blocks are assembled, and finally give preparation in the original video data stream that ffmpeg is decoded and is played.
Alternatively, as shown in figure 5, when cipher mode is that elder generation is that unit draws original video data stream according to preset length Be divided into multiple data blocks, multiple data blocks are encrypted one by one using the first AES and to multiple data blocks one by one Digital watermarking is added, then when carrying out overall encryption to multiple data blocks after encryption using the second AES, handles mould Block 20 can include:First decryption unit 200, for the decipherment algorithm by being matched with the second AES from waiting to solve Multiple data blocks after encryption are decrypted in close video data stream;Second decryption unit 202, for by with first The decipherment algorithm of AES matching decrypts multiple data blocks from multiple data blocks after encryption;Verification unit 206, For by being that the digital watermarking of each data block addition in multiple data blocks is complete to multiple data blocks progress data one by one Property verification;Module units 204, for after data integrity verifying success, assembling, obtaining to multiple data blocks Video data stream after to processing.
It is first that original video data stream is divided into multiple data blocks by unit according to preset length to be when cipher mode, is used First AES (algorithm is encrypted one by one by dividing unit) multiple data blocks is encrypted one by one and to multiple Data block adds digital watermarking one by one, then using the second AES (high intensity symmetric encipherment algorithm) to encryption after When multiple data blocks carry out overall encryption, because encrypted video file is by being no longer standard after encryption Analysable video file, but preserved with the data of ciphertext, therefore, getting video counts to be decrypted After stream, firstly, it is necessary to using the decipherment algorithm pair reciprocal with the second AES (high intensity symmetric encipherment algorithm) Above-mentioned overall ciphering process is cracked, and is decrypted and is obtained using the first AES from video data stream to be decrypted Encryption after multiple data blocks;Secondly, using reciprocal with the second AES (high intensity symmetric encipherment algorithm) Decipherment algorithm carries out the decryption oprerations of unit data block one by one to multiple data blocks after encryption, and that is not yet encrypted is more Individual data block;Then, by being each data block is added in multiple data blocks digital watermarking one by one to multiple data blocks Data integrity verifying is carried out, i.e., the integrality and accuracy of original video data stream are ensured by adding digital watermarking; Finally, then by being assembled to the multiple data blocks decrypted, finally give preparation and decoded and broadcast in ffmpeg The original video data stream put.
Alternatively, as shown in figure 5, said apparatus can also include:Request module 40, for asking to create internal memory sky Between, wherein, the memory headroom video data stream to be decrypted for storing and storage video data stream to be decrypted are carried out The intermediate data obtained in decryption processes.
After video data stream to be decrypted is got, firstly, it is necessary to which one piece of memory space is opened up in request in internal memory Video data stream to be decrypted is stored;Secondly, based on above-mentioned analysis, when cipher mode is according to preset length Original video data stream is divided into multiple data blocks for unit and (entered one by one by dividing unit using the first AES Row AES) multiple data blocks are encrypted one by one, then (high intensity symmetric cryptography is calculated using the second AES Method) when carrying out overall encryption to multiple data blocks after encryption, using (high intensity symmetrically adds with the second AES Close algorithm) reciprocal decipherment algorithm cracks to above-mentioned overall ciphering process, solved from video data stream to be decrypted It is close go out the encryption that is obtained using the first AES after multiple data blocks and using and the second AES (high intensity Symmetric encipherment algorithm) reciprocal decipherment algorithm carries out the decryption of unit data block one by one to multiple data blocks after encryption and grasps Make, the multiple data blocks not yet encrypted can serve as intermediate data and be temporarily stored into the memory space newly opened up;So Afterwards, by being assembled to the multiple data blocks decrypted in the memory space, finally giving can be by ffmpeg The correct original video data stream for parsing and performing;Or, it is first unit by original according to preset length to be when cipher mode Beginning video data stream is divided into multiple data blocks, using the first AES (algorithm is encrypted one by one by dividing unit) Multiple data blocks are encrypted one by one and multiple data blocks are added with digital watermarking one by one, then using the second AES When (high intensity symmetric encipherment algorithm) carries out overall encryption to multiple data blocks after encryption, calculated using with the second encryption The reciprocal decipherment algorithm of method (high intensity symmetric encipherment algorithm) is cracked to above-mentioned overall ciphering process, to be decrypted Video data stream in decrypt multiple data blocks after the encryption obtained using the first AES and using and second The reciprocal decipherment algorithm of AES (high intensity symmetric encipherment algorithm) carries out single one by one to multiple data blocks after encryption The decryption oprerations of bit data block, the multiple data blocks not yet encrypted can serve as intermediate data and be temporarily stored into newly to open up Memory space in;Then, by being each data block is added in multiple data blocks digital watermarking one by one to many numbers Data integrity verifying is carried out according to block, i.e., the integrality and standard of original video data stream are ensured by adding digital watermarking True property;Finally, then by being assembled to the multiple data blocks decrypted, finally giving can correctly be solved by ffmpeg Analysis and the original video data stream performed.
In addition, additionally providing a kind of server in this embodiment.Fig. 6 is according to embodiments of the present invention for playing The server of video data stream carries out the schematic diagram of information exchange with client.As shown in fig. 6, server, for connecing The video data stream to be decrypted for coming from client is received, according to the encryption side used with video data stream to be decrypted The corresponding manner of decryption of formula video data stream to be decrypted is decrypted processing and by the video data after decryption processing Stream sends to decoding code corresponding with video format and played out.
Embodiment 3
Embodiments of the invention can provide a kind of terminal, the terminal can be terminal group in Any one computer terminal.Alternatively, in the present embodiment, above computer terminal can also be replaced with The terminal devices such as mobile terminal.
Alternatively, in the present embodiment, above computer terminal can be located in multiple network equipments of computer network At least one network equipment.
Alternatively, Fig. 7 is a kind of structured flowchart of terminal according to embodiments of the present invention.As shown in fig. 7, The terminal can include:One or more (one is only shown in figure) processors and memory.
Wherein, the playing video data that memory can be used in storage software program and module, such as embodiment of the present invention Corresponding programmed instruction/the module of method and apparatus of stream, processor by operation be stored in the software program in memory with And module, so that perform various function application and data processing, that is, the method for realizing above-mentioned playing video data stream. Memory may include high speed random access memory, can also include nonvolatile memory, and such as one or more magnetic is deposited Storage device, flash memory or other non-volatile solid state memories.In some instances, memory can further comprise The memory remotely located relative to processor, these remote memories can pass through network connection to terminal.Above-mentioned net The example of network includes but is not limited to internet, intranet, LAN, mobile radio communication and combinations thereof.
Processor can call the information and application program of memory storage by transmitting device, to perform following step:
S1:Obtain video data stream to be decrypted;
S2:To be decrypted is regarded according to manner of decryption corresponding with the cipher mode that video data stream to be decrypted is used Processing is decrypted in frequency data stream;
S3:Video data stream after processing to decoding code corresponding with video format is played out.
Optionally, above-mentioned processor can also carry out the program code of following steps:Register video data stream and read interface; Interface is read using video data stream to redirect video data stream to be decrypted, obtains video data to be decrypted Stream.
Optionally, above-mentioned processor can also carry out the program code of following steps:Pass through solution corresponding with video format The call back function interface that code code is provided reads interface to decoding code corresponding with video format registration video data stream.
Optionally, above-mentioned processor can also carry out the program code of following steps:When cipher mode is first according to default Length be unit by original video data stream be divided into multiple data blocks and using the first AES to multiple data blocks by One is encrypted, then when carrying out overall encryption to multiple data blocks after encryption using the second AES, by with the The decipherment algorithm of two AESs matching decrypts multiple data blocks after encryption from video data stream to be decrypted;It is logical Cross and multiple data blocks are decrypted from multiple data blocks after encryption with the decipherment algorithm that the first AES is matched;To many Individual data block is assembled, the video data stream after being handled.
Optionally, above-mentioned processor can also carry out the program code of following steps:When cipher mode is first according to default Length be unit original video data stream is divided into multiple data blocks, using the first AES to multiple data blocks by One is encrypted and multiple data blocks is added with digital watermarking one by one, then using the second AES to multiple after encryption When data block carries out overall encryption, by the decipherment algorithm that is matched with the second AES from video data stream to be decrypted In decrypt encryption after multiple data blocks;By the decipherment algorithm that is matched with the first AES from multiple after encryption Multiple data blocks are decrypted in data block;By the digital watermarking pair for being one by one each data block addition in multiple data blocks Multiple data blocks carry out data integrity verifying;After data integrity verifying success, multiple data blocks are assembled, Video data stream after being handled.
Optionally, above-mentioned processor can also carry out the program code of following steps:Request creates memory headroom, wherein, The memory headroom video data stream to be decrypted for storing and storage video data stream to be decrypted are decrypted treated The intermediate data obtained in journey.
Using the embodiment of the present invention, after video data stream to be decrypted is got, first according to video counts to be decrypted Processing, Ran Houzai are decrypted to video data stream to be decrypted according to the cipher mode corresponding manner of decryption for flowing used The mode that video data stream after processing to decoding code corresponding with video format is played out, by first right The encrypted video got is decrypted and encapsulated, and has reached the purpose for being decoded and being played to encrypted video, so that Realize and decoded and played for the encrypted video file customized, effectively prevent regarding in encrypted video file Frequency is solved and plays what instrument was provided in correlation technique according to being changed or video file is by pirate technique effect Playback interface and function can not support the decoding and broadcasting for encrypted video file, thus easily cause video file because Not by encryption so being pretended and the technical problem distorted by hacker easily.
It will appreciated by the skilled person that the structure shown in Fig. 7 is only signal, terminal can also be Smart mobile phone (such as Android phone, iOS mobile phones), tablet personal computer, applause computer and mobile internet device The terminal device such as (Mobile Internet Devices, MID), PAD.Fig. 7 its not to above-mentioned electronic installation Structure causes to limit.For example, terminal may also include component (such as net more or less than shown in Fig. 7 Network interface, display device etc.), or with the configuration different from shown in Fig. 7.
One of ordinary skill in the art will appreciate that all or part of step in the various methods of above-described embodiment is can be with Completed by program come the device-dependent hardware of command terminal, the program can be stored in a computer-readable storage medium In matter, storage medium can include:Flash disk, read-only storage (Read-Only Memory, referred to as ROM), Random access device (Random Access Memory, referred to as RAM), disk or CD etc..
Embodiment 4
Embodiments of the invention additionally provide a kind of storage medium.Alternatively, in the present embodiment, above-mentioned storage medium It can be used for preserving the program code performed by the method for the playing video data stream that above-described embodiment one is provided.
Alternatively, in the present embodiment, above-mentioned storage medium can be located in computer network Computer terminal group In any one terminal, or in any one mobile terminal in mobile terminal group.
Alternatively, in the present embodiment, storage medium is arranged to the program code that storage is used to perform following steps:
S1:Obtain video data stream to be decrypted;
S2:To be decrypted is regarded according to manner of decryption corresponding with the cipher mode that video data stream to be decrypted is used Processing is decrypted in frequency data stream;
S3:Video data stream after processing to decoding code corresponding with video format is played out.
Optionally, above-mentioned storage medium is also configured to the program code that storage is used to perform following steps:Register video Data flow reads interface;Interface is read using video data stream to redirect video data stream to be decrypted, is obtained Video data stream to be decrypted.
Optionally, above-mentioned storage medium is also configured to the program code that storage is used to perform following steps:By with regarding The call back function interface that the corresponding decoding code of frequency form is provided registers video counts to decoding code corresponding with video format Interface is read according to stream.
Optionally, above-mentioned storage medium is also configured to the program code that storage is used to perform following steps:When encryption side It is first that original video data stream is divided into multiple data blocks and using the first AES by unit according to preset length that formula, which is, Multiple data blocks are encrypted one by one, then overall add is carried out to multiple data blocks after encryption using the second AES When close, by being decrypted with the decipherment algorithm that the second AES is matched from video data stream to be decrypted after encryption Multiple data blocks;It is many by being decrypted with the decipherment algorithm that the first AES is matched from multiple data blocks after encryption Individual data block;Multiple data blocks are assembled, the video data stream after being handled.
Optionally, above-mentioned storage medium is also configured to the program code that storage is used to perform following steps:When encryption side It is first that original video data stream is divided into multiple data blocks by unit according to preset length that formula, which is, using the first AES Multiple data blocks are encrypted one by one and multiple data blocks are added with digital watermarking one by one, then using the second AES When carrying out overall encryption to multiple data blocks after encryption, by the decipherment algorithm that is matched with the second AES from waiting to solve Multiple data blocks after encryption are decrypted in close video data stream;Pass through the decipherment algorithm matched with the first AES Multiple data blocks are decrypted from multiple data blocks after encryption;By adding one by one for each data block in multiple data blocks Plus digital watermarking to multiple data blocks carry out data integrity verifying;After data integrity verifying success, to multiple Data block is assembled, the video data stream after being handled.
Optionally, above-mentioned storage medium is also configured to the program code that storage is used to perform following steps:Request is created Memory headroom, wherein, the memory headroom video data stream to be decrypted for storing and storage video data to be decrypted Stream carries out the intermediate data obtained in decryption processes.
The embodiments of the present invention are for illustration only, and the quality of embodiment is not represented.
In the above embodiment of the present invention, the description to each embodiment all emphasizes particularly on different fields, and does not have in some embodiment The part of detailed description, may refer to the associated description of other embodiment.
, can be by other in several embodiments provided herein, it should be understood that disclosed technology contents Mode realize.Wherein, device embodiment described above is only schematical, such as division of described unit, It is only a kind of division of logic function, there can be other dividing mode when actually realizing, such as multiple units or component Another system can be combined or be desirably integrated into, or some features can be ignored, or do not perform.It is another, institute Display or the coupling each other discussed or direct-coupling or communication connection can be by some interfaces, unit or mould The INDIRECT COUPLING of block or communication connection, can be electrical or other forms.
The unit illustrated as separating component can be or may not be it is physically separate, it is aobvious as unit The part shown can be or may not be physical location, you can with positioned at a place, or can also be distributed to On multiple NEs.Some or all of unit therein can be selected to realize the present embodiment according to the actual needs The purpose of scheme.
In addition, each functional unit in each embodiment of the invention can be integrated in a processing unit, can also That unit is individually physically present, can also two or more units it is integrated in a unit.It is above-mentioned integrated Unit can both be realized in the form of hardware, it would however also be possible to employ the form of SFU software functional unit is realized.
If the integrated unit realized using in the form of SFU software functional unit and as independent production marketing or in use, It can be stored in a computer read/write memory medium.Understood based on such, technical scheme essence On all or part of the part that is contributed in other words to prior art or the technical scheme can be with software product Form is embodied, and the computer software product is stored in a storage medium, including some instructions are to cause one Platform computer equipment (can be personal computer, server or network equipment etc.) performs each embodiment institute of the invention State all or part of step of method.And foregoing storage medium includes:USB flash disk, read-only storage (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disc or CD Etc. it is various can be with the medium of store program codes.
Described above is only the preferred embodiment of the present invention, it is noted that for the ordinary skill people of the art For member, under the premise without departing from the principles of the invention, some improvements and modifications can also be made, these improve and moistened Decorations also should be regarded as protection scope of the present invention.

Claims (13)

1. a kind of method of playing video data stream, it is characterised in that including:
Obtain video data stream to be decrypted;
Treated according to manner of decryption corresponding with the cipher mode that the video data stream to be decrypted is used to described Processing is decrypted in the video data stream of decryption;
Video data stream after decryption processing to decoding code corresponding with video format is played out.
2. according to the method described in claim 1, it is characterised in that obtaining the video data stream to be decrypted includes:
Register video data stream and read interface;
Interface is read using the video data stream to redirect the video data stream to be decrypted, is obtained The video data stream to be decrypted.
3. method according to claim 2, it is characterised in that pass through the decoding code corresponding with video format The call back function interface of offer reads interface to the decoding code registration video data stream corresponding with video format.
4. according to the method described in claim 1, it is characterised in that when the cipher mode is to be first according to preset length Original video data stream is divided into multiple data blocks and using the first AES to the multiple data block by unit When being encrypted one by one, then overall encryption carried out to multiple data blocks after encryption using the second AES, root Processing, which is decrypted, to the video data stream to be decrypted according to the manner of decryption includes:
By being decrypted with the decipherment algorithm that second AES is matched from the video data stream to be decrypted The multiple data blocks gone out after the encryption;
Decrypted by the decipherment algorithm matched with first AES from multiple data blocks after the encryption Go out the multiple data block;
The multiple data block is assembled, the video data stream after the processing is obtained.
5. according to the method described in claim 1, it is characterised in that when the cipher mode is to be first according to preset length Original video data stream is divided into multiple data blocks by unit, using the first AES to the multiple data block It is encrypted one by one and adds digital watermarking one by one to the multiple data block, then is added using the second AES pair When multiple data blocks after close carry out overall encryption, according to the manner of decryption to the video data to be decrypted Stream, which carries out decryption processing, to be included:
By being decrypted with the decipherment algorithm that second AES is matched from the video data stream to be decrypted The multiple data blocks gone out after the encryption;
Decrypted by the decipherment algorithm matched with first AES from multiple data blocks after the encryption Go out the multiple data block;
By being each data block is added in the multiple data block the digital watermarking one by one to the multiple number Data integrity verifying is carried out according to block;
After data integrity verifying success, the multiple data block is assembled, the processing is obtained Video data stream afterwards.
6. method according to any one of claim 1 to 5, it is characterised in that obtaining described to be decrypted regard After frequency data stream, in addition to:
Request creates memory headroom, wherein, the memory headroom is used to store the video data stream to be decrypted And the intermediate data obtained in processing procedure is decrypted in the storage video data stream to be decrypted.
7. a kind of device of playing video data stream, it is characterised in that including:
Acquisition module, the video data stream to be decrypted for obtaining;
Processing module, for according to solution corresponding with the cipher mode that the video data stream to be decrypted is used Processing is decrypted to the video data stream to be decrypted in close mode;
Sending module, for the video data stream after processing to decoding code corresponding with video format to be entered Row is played.
8. device according to claim 7, it is characterised in that the acquisition module includes:
Registering unit, interface is read for registering video data stream;
Acquiring unit, is flowed into for reading interface using the video data stream to the video data to be decrypted Row is redirected, and obtains the video data stream to be decrypted.
9. device according to claim 8, it is characterised in that the registering unit, for passing through described and video The call back function interface that the corresponding decoding code of form is provided is registered to the decoding code corresponding with video format Video data stream reads interface.
10. device according to claim 7, it is characterised in that when the cipher mode is to be first according to preset length Original video data stream is divided into multiple data blocks and using the first AES to the multiple data block by unit When being encrypted one by one, then overall encryption carried out to multiple data blocks after encryption using the second AES, institute Stating processing module includes:
First decryption unit, for the decipherment algorithm by being matched with second AES from described to be decrypted Video data stream in decrypt multiple data blocks after the encryption;
Second decryption unit, for the decipherment algorithm by being matched with first AES after the encryption Multiple data blocks in decrypt the multiple data block;
Module units, for being assembled to the multiple data block, obtains the video data stream after the processing.
11. device according to claim 7, it is characterised in that when the cipher mode is to be first according to preset length Original video data stream is divided into multiple data blocks by unit, using the first AES to the multiple data block It is encrypted one by one and adds digital watermarking one by one to the multiple data block, then is added using the second AES pair When multiple data blocks after close carry out overall encryption, the processing module includes:
First decryption unit, for the decipherment algorithm by being matched with second AES from described to be decrypted Video data stream in decrypt multiple data blocks after the encryption;
Second decryption unit, for the decipherment algorithm by being matched with first AES after the encryption Multiple data blocks in decrypt the multiple data block;
Verification unit, for by being one by one the digital water of each data block addition in the multiple data block Print carries out data integrity verifying to the multiple data block;
Module units, for after data integrity verifying success, being assembled to the multiple data block, Obtain the video data stream after the processing.
12. the device according to any one of claim 7 to 11, it is characterised in that described device also includes:
Request module, for asking to create memory headroom, wherein, the memory headroom, which is used to storing, described to be waited to solve Close video data stream and the storage video data stream to be decrypted is decrypted in being obtained in processing procedure Between data.
13. a kind of server, it is characterised in that the server, the video to be decrypted of client is come from for receiving Data flow, according to manner of decryption corresponding with the cipher mode that the video data stream to be decrypted is used to institute State video data stream to be decrypted be decrypted processing and by the video data stream after decryption processing to regarding The corresponding decoding code of frequency form is played out.
CN201610269016.1A 2016-04-27 2016-04-27 The method and device of playing video data stream Pending CN107318045A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610269016.1A CN107318045A (en) 2016-04-27 2016-04-27 The method and device of playing video data stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610269016.1A CN107318045A (en) 2016-04-27 2016-04-27 The method and device of playing video data stream

Publications (1)

Publication Number Publication Date
CN107318045A true CN107318045A (en) 2017-11-03

Family

ID=60184538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610269016.1A Pending CN107318045A (en) 2016-04-27 2016-04-27 The method and device of playing video data stream

Country Status (1)

Country Link
CN (1) CN107318045A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052915A (en) * 2017-12-22 2018-05-18 深圳英飞拓科技股份有限公司 A kind of method and device that Face datection is carried out to video and is identified
CN108494732A (en) * 2018-02-09 2018-09-04 浙江新再灵科技股份有限公司 A kind of intelligence screen video playing tamper resistant systems based on digital finger-print
CN109005427A (en) * 2018-08-20 2018-12-14 全球播科技(北京)有限公司 Encrypted video playback method, device and equipment, storage medium and processor
CN113613044A (en) * 2021-07-20 2021-11-05 深圳Tcl新技术有限公司 Video playing method and device, storage medium and electronic equipment

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710505A (en) * 2005-07-08 2005-12-21 北京影立驰技术有限公司 Digital copyright protection method and system
CN101185122A (en) * 2005-06-03 2008-05-21 皇家飞利浦电子股份有限公司 Homomorphic encryption for secure watermarking
CN102622541A (en) * 2010-12-29 2012-08-01 奥多比公司 System and method for encrypting and deciphering
CN102624708A (en) * 2012-02-23 2012-08-01 浙江工商大学 Efficient data encryption, updating and access control method for cloud storage
CN102760221A (en) * 2011-04-27 2012-10-31 航天信息股份有限公司 IPTV (Internet Protocol Television) digital rights management (DRM) method and device based on digital watermarking and encryption
CN102905133A (en) * 2012-10-15 2013-01-30 南京邮电大学 Video stream-oriented hybrid encoding and encrypting method
CN103024449A (en) * 2011-09-28 2013-04-03 ***通信集团公司 Method for processing video frame stream, video server and terminal equipment
CN103647971A (en) * 2013-12-24 2014-03-19 广州鸿根信息科技有限公司 Video transmission based encryption and decryption method and system
US8804953B2 (en) * 2008-11-18 2014-08-12 Red Hat, Inc. Extensive ciphertext feedback
CN104537600A (en) * 2014-12-16 2015-04-22 陕西科技大学 Secondary image encrypting and decrypting methods and watermark information tamper area positioning method
CN104837035A (en) * 2015-04-30 2015-08-12 华为软件技术有限公司 Video playing method and terminal
CN105163190A (en) * 2015-09-08 2015-12-16 深圳市九洲电器有限公司 Method and system for implementing video-on-demand function of set top box
CN105187912A (en) * 2015-07-14 2015-12-23 中国科学院信息工程研究所 Ciphertext video player and playing method

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101185122A (en) * 2005-06-03 2008-05-21 皇家飞利浦电子股份有限公司 Homomorphic encryption for secure watermarking
CN1710505A (en) * 2005-07-08 2005-12-21 北京影立驰技术有限公司 Digital copyright protection method and system
US8804953B2 (en) * 2008-11-18 2014-08-12 Red Hat, Inc. Extensive ciphertext feedback
CN102622541A (en) * 2010-12-29 2012-08-01 奥多比公司 System and method for encrypting and deciphering
CN102760221A (en) * 2011-04-27 2012-10-31 航天信息股份有限公司 IPTV (Internet Protocol Television) digital rights management (DRM) method and device based on digital watermarking and encryption
CN103024449A (en) * 2011-09-28 2013-04-03 ***通信集团公司 Method for processing video frame stream, video server and terminal equipment
CN102624708A (en) * 2012-02-23 2012-08-01 浙江工商大学 Efficient data encryption, updating and access control method for cloud storage
CN102905133A (en) * 2012-10-15 2013-01-30 南京邮电大学 Video stream-oriented hybrid encoding and encrypting method
CN103647971A (en) * 2013-12-24 2014-03-19 广州鸿根信息科技有限公司 Video transmission based encryption and decryption method and system
CN104537600A (en) * 2014-12-16 2015-04-22 陕西科技大学 Secondary image encrypting and decrypting methods and watermark information tamper area positioning method
CN104837035A (en) * 2015-04-30 2015-08-12 华为软件技术有限公司 Video playing method and terminal
CN105187912A (en) * 2015-07-14 2015-12-23 中国科学院信息工程研究所 Ciphertext video player and playing method
CN105163190A (en) * 2015-09-08 2015-12-16 深圳市九洲电器有限公司 Method and system for implementing video-on-demand function of set top box

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052915A (en) * 2017-12-22 2018-05-18 深圳英飞拓科技股份有限公司 A kind of method and device that Face datection is carried out to video and is identified
CN108494732A (en) * 2018-02-09 2018-09-04 浙江新再灵科技股份有限公司 A kind of intelligence screen video playing tamper resistant systems based on digital finger-print
CN108494732B (en) * 2018-02-09 2021-07-06 浙江新再灵科技股份有限公司 Intelligent screen video playing tamper-proof system based on digital fingerprints
CN109005427A (en) * 2018-08-20 2018-12-14 全球播科技(北京)有限公司 Encrypted video playback method, device and equipment, storage medium and processor
CN109005427B (en) * 2018-08-20 2021-06-08 全球播科技(北京)有限公司 Encrypted video playing method, device and equipment and storage medium
CN113613044A (en) * 2021-07-20 2021-11-05 深圳Tcl新技术有限公司 Video playing method and device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
CN106331751B (en) A kind of online encrypted slice video broadcasting method based on iOS operating system
JP5605146B2 (en) Information processing apparatus, information processing method, and program
US8094876B2 (en) Personalized marking for protecting digital audiovisual streams
CN102292931B (en) Method and device for multiple content protection systems in a file
CN107318045A (en) The method and device of playing video data stream
JP5154830B2 (en) Content distribution system
JP2002330126A (en) Method and device for distribution and protection of content
JP2003529874A (en) Digital data reading / recording / reproducing device in digital data copy / protection system
CN106657110B (en) Encryption transmission method and device for streaming data
EP2420952A2 (en) System and method for protecting digital media content
WO2013111174A1 (en) Recording apparatus, terminal apparatus, and content transfer system
US9502003B2 (en) Apparatus and methods to display a modified image
CN106375834A (en) Offline playing method and apparatus of online encrypted slice videos based on iOS operating system
CN103888475B (en) A kind of guard method and device to multi-medium data
CN105162588A (en) Media file encryption/decryption methods and device
CN106096334A (en) The encryption method of hypermedia data and encryption device, decryption method and deciphering device
CN108141615A (en) MPEG transports frame synchronization
CN103765909A (en) Thwarting unauthorized content copying using media tracking code
CN102158768B (en) MP4 file encapsulation format-based video authentication watermark embedding and extraction method
US8532332B2 (en) Information processor, information processing method, and program for content delivery
EP2487619A2 (en) Information processing apparatus, information processing method and program
CN101980238B (en) Method for encrypting RM/RMVB file
US10820002B2 (en) Image encoding apparatus and image decoding apparatus and method of operating the same
US20050005104A1 (en) Method and apparatus for playing content
CN114143576B (en) Video-audio encryption protection on-demand method and device and electronic equipment

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1246055

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171103