CN113810780B - Video transmission method, device and storage medium - Google Patents

Video transmission method, device and storage medium Download PDF

Info

Publication number
CN113810780B
CN113810780B CN202111357994.9A CN202111357994A CN113810780B CN 113810780 B CN113810780 B CN 113810780B CN 202111357994 A CN202111357994 A CN 202111357994A CN 113810780 B CN113810780 B CN 113810780B
Authority
CN
China
Prior art keywords
slice
data
slice data
video
address
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.)
Active
Application number
CN202111357994.9A
Other languages
Chinese (zh)
Other versions
CN113810780A (en
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.)
Three Class Information Consulting Beijing Co ltd
Original Assignee
Three Class Information Consulting Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Three Class Information Consulting Beijing Co ltd filed Critical Three Class Information Consulting Beijing Co ltd
Priority to CN202111357994.9A priority Critical patent/CN113810780B/en
Publication of CN113810780A publication Critical patent/CN113810780A/en
Application granted granted Critical
Publication of CN113810780B publication Critical patent/CN113810780B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

The application discloses a video transmission method, a video transmission device and a storage medium. Generating a video play list of a target video, wherein the video play list comprises first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identification to M first slice data in the N + M first slice data, and the first slice data is obtained by carrying out slice processing on an original target video; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; sending the slice data stored by the slice address to the user side; the technical problem that the transmission source of the copied video data cannot be tracked can be solved; and tracking the transmission source of the copied video data.

Description

Video transmission method, device and storage medium
Technical Field
The present application relates to the field of image processing technologies, and in particular, to a video transmission method, an apparatus, and a storage medium.
Background
With the development of network communication, video data played on the user equipment side may be widely spread to other user equipment. For video data that is only visible to a portion of the users, the video data needs to be processed to prevent the video data from being captured by any user.
Patent document 1 (CN 111526388A) which has already been published discloses a video playback method and apparatus, and a video playback control method and apparatus. The video playing method is applied to terminal equipment, the terminal equipment is in communication connection with a data server, and the video playing method comprises the following steps: sending a playing request for playing a target video to the data server; receiving video data and a unique traceable watermark sent by the data server in response to the playing request, wherein the traceable watermark comprises a plurality of watermark images arranged in a specific sequence; embedding the plurality of watermark images into the target video, wherein each frame of image in the target video comprises at most one watermark image; and playing the target video embedded with the tracing watermark. The invention is helpful to improve the tracking of the recording path and source of the video.
Patent document 2 (CN 109982157A), which has been published, discloses a method, a system and a storage medium for embedding an implicit fingerprint on a digital video, which relate to the technical field of digital video, the method comprising the steps of: segmenting a target video into a plurality of video segments; generating a corresponding implicit watermark value coding combination according to the identity of the target user, wherein the implicit watermark value coding combination comprises a plurality of implicit watermark values which are arranged in sequence; embedding the plurality of sequentially arranged implicit watermark values into the plurality of video segments. The invention has the following beneficial effects: when a user watches a target video, the user cannot perceive that the target video is embedded with the implicit fingerprint comprising the user identity, and if the target user steals and records the video and issues the video, the user embedded with the implicit fingerprint can determine that the user steals and issues the video according to the implicit fingerprint in the issued target video.
Patent document 3 (CN 111741377A) which has been published discloses a method of video processing. The method comprises the following steps: cutting an original video file into a plurality of slices according to a preset time length to form an original slice set; respectively generating N watermark slice sets according to an original slice set and N preset different watermarks; when a user needs to play a video, acquiring a unique identifier of the user, and converting the unique identifier into a numerical sequence in a preset format; extracting corresponding slices from the N watermark slice sets respectively according to the extraction strategy and the sequence and value of each numerical value of the numerical value sequence, and sequentially combining the extracted slices into a slice sequence; and playing the corresponding slices in sequence according to the sequence of the slice sequence to form a video stream. The invention can identify pirated screen recording users, effectively protect the video copyright and is an effective means for fighting against pirated video users.
Patent document 4 (CN 110062291A) already published discloses a digital watermark adding and extracting method, device and system, which obtains two video streams by adding digital watermarks including different watermark images to a video fragment list generated by splitting a digital video, sequentially selects video fragments in the two video streams using binary numbers of a user ID to generate a video fragment play list bound with the user ID, obtains arrangement information by identifying the watermark images in illegally recorded or copied videos to obtain a group of binary data according to the correspondence between the watermark images and the binary numbers, obtains the user ID after conversion, realizes protection and tracking of video copyright to a user level, ensures smooth playing of videos at a mobile terminal, does not have the problem of playing cards, and does not affect viewing quality, information association to billions of user IDs can be achieved.
Patent document 5 (CN 112040336A) which has been published discloses a method, an apparatus, a device, and a computer-readable storage medium for video watermarking and extracting, wherein the method for video watermarking includes: acquiring watermark information, and generating a watermark transparent picture carrying the watermark information according to the watermark information; and mixing the watermark transparent picture into a video playing picture. The embodiment of the invention can realize that the player at the terminal side independently completes the real-time embedding of the transparent watermark information without the participation of a broadcast control platform or a special chip, and has the characteristics of high speed, real-time performance, high visibility, safety, robustness and the like.
Patent document 6 (CN 110933464A) which has been published discloses a method and system for adding a digital watermark to a multimedia file, the method including: receiving a file acquisition request from a requesting device for a selected one of a plurality of segments of a multimedia file; decrypting the encrypted file segment link to obtain identification information of the selected segment; obtaining the selected fragment according to the identifier of the selected fragment; extracting a user identifier and a channel identifier in the identification information, and adding the user identifier and the channel identifier to the selected segment as digital watermarks to generate a watermarked selected segment; returning the watermarked selected segment to a requesting device such that a multimedia file including the watermarked selected segment has a digital watermark. The invention solves the contradiction between the distribution efficiency and the audio watermark flexibility in the large-scale online audio on demand scene by the method and the mechanism for adding the watermark in the online on demand process.
Patent document 7 (CN 111935547A) which has already been published discloses a traceable encrypted live broadcast method and system, the method including: after the player is initialized, whether the playing address and the watermark code acquired by the interface are successfully authenticated is judged, if so, the following steps are carried out: generating a watermark through the returned watermark coding; judging whether the request for playing the address is successful, if so, then: judging whether a decryption key exists or not, judging whether the ts slicing request is successful or not, if so, then: judging whether decryption is needed, if so, then: judging whether a decryption key exists in the key storage, if so, then: judging whether decryption based on the decryption key is successful, if so, then: and filling the ts slicing result after the decryption is successful into a player for playing. The invention can add watermark coding to the video picture played by each user under the condition of only providing one path of live video source stream, so that the pictures watched by each user are different, the transcoding cost and the storage cost of the live stream are saved, and the video can be effectively prevented from being illegally played.
Patent document 8 (CN 103168478A) which has been published discloses a method for preventing bypassing of embedding a watermark in a bit stream (Co) representing audio/video data. The method is remarkable in that it comprises: a step of corrupting (E100) the bitstream, wherein the original blocks in the bitstream are replaced by corrupted blocks, to produce a non-compliant bitstream (Cc); and a step of repairing (E101) the corrupted bit-stream by replacing each corrupted block, wherein at least one corrupted block is replaced by a watermarked block and at least one corrupted block is replaced by an original block, to produce a consistent repaired and watermarked bit-stream (Cw). The invention also relates to a device for watermarking and repairing (400) a corrupted bit-stream and a device for preparing (500) a corrupted bit-stream, wherein the original bit-stream represents audio/video data.
Patent document 9 (CN 108781302B), which has been published, discloses a method and system for a framework for embedding data in encoded video. In one embodiment, a video stream is received and a spatially distinct region of a frame in the received video stream to be modified is identified, the spatially distinct region of the frame being encoded separately from any other region in the frame. Sections of spatially different regions of the frame to be modified are extracted. Modifying the extracted sections of the spatially distinct regions. Encoding the extracted sections of the spatially distinct region into a single-section spatially distinct region. A Network Abstraction Layer (NAL) header is associated with a spatially distinct region of the encoded single segment. The encoded single-segment spatially distinct region and its associated NAL header are inserted after the spatially distinct region of the frame to be modified identified in the received video stream. Related methods, systems, and apparatus are also described.
Patent document 10 (CN 110944228A) has disclosed a video stream protection method, apparatus and storage medium to improve the security of video playback. The video stream protection method comprises the following steps: receiving a video playing request, wherein the video playing request carries an equipment identifier, and the video playing request is sent by a requesting party according to a preset video playing period when the starting time of each video playing period is reached; generating an index file storage address of the current video playing period according to the equipment identifier and the current timestamp, and filling a transport stream slice file address contained in the index file; generating a playing address of the current video playing period according to the storage address of the index file; and returning the generated playing address to the requester.
Patent document 11 (CN 110213669B) which has been published discloses a video content theft prevention system and method based on TS slices. The server is internally provided with a data encryption module and a data storage and distribution module, the client terminal is internally provided with a data receiving module, a data decryption module, a data forwarding module and a player, and the data encryption module, the data storage and distribution module, the data receiving module, the data decryption module, the data forwarding module and the player are sequentially connected. The invention has the beneficial effects that: the encryption key is not fixed, and the client characteristic unique identifier and the video unique identifier are used as encryption generation factors to jointly determine the encryption key, so that the difficulty of key cracking is increased; interaction between a terminal playing program and a server is reduced, and the content anti-theft capability of the video stream is improved; the method not only greatly simplifies the support difficulty, but also can be flexibly applied to various third-party players.
Patent document 12 (CN 105898376A) which has already been published discloses an online playing method, apparatus and system of a video stream, the method comprising the steps of: acquiring slice data which is encrypted piece by piece from a server according to the time parameter of the video slice, and decrypting the acquired slice data to obtain the video slice; and adding the video slices to a buffer area for online playing. The invention uses the slicing principle to slice the original video, and then carries out the encryption processing of the slices, thereby realizing the encryption and playing operation of the online video stream and meeting the requirements of the video data on the aspects of real-time performance, controllability and the like.
The conventional video transmission method includes: using a Digital Rights Management (DRM) system to verify the authority of a user side requesting video data; when the authority verification passes, sending the video data to the user side; when the authority verification fails, the video data is not sent to the user side, so that the controllable access to the video data is realized.
However, after the user finishes downloading the video data, there may exist other devices that record the video data played by the user, and the transmission source of the recorded video data cannot be tracked.
In view of the above technical problem in the prior art that the propagation source of the copied video data cannot be tracked, no effective solution has been proposed at present.
Disclosure of Invention
Embodiments of the present disclosure provide a video transmission method, an apparatus, and a storage medium, so as to at least solve the technical problem in the prior art that a propagation source of copied video data cannot be tracked.
According to an aspect of an embodiment of the present disclosure, there is provided a video transmission method including:
generating a video playlist of a target video, the video playlist including first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identifiers to M first slice data in N + M first slice data, and the N + M first slice data is obtained by slicing the original target video; the N pieces of first slice data are N pieces of first slice data without adding coding identifications in the N + M pieces of first slice data; the N and the M are positive integers, and the coding identifier is used for indicating a user identifier of a user side so as to perform video tracking on the user side;
sending the video play list to the user side;
receiving a data request sent by the user side based on the video playlist, wherein the data request carries a slice address, and the slice address comprises the first slice address and/or the second slice address; and
and sending the slice data stored by the slice address to the user side.
According to another aspect of the embodiments of the present disclosure, there is also provided a storage medium including a stored program, wherein the method of any one of the above is performed by a processor when the program is executed.
According to another aspect of the embodiments of the present disclosure, there is also provided a video transmission apparatus including:
a list generation module, configured to generate a video playlist of a target video, where the video playlist includes first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identifiers to M first slice data in N + M first slice data, and the N + M first slice data is obtained by slicing the original target video; the N pieces of first slice data are N pieces of first slice data without adding coding identifications in the N + M pieces of first slice data; the N and the M are positive integers, and the coding identifier is used for indicating a user identifier of a user side so as to perform video tracking on the user side;
the list sending module is used for sending the video play list to the user side;
a request receiving module, configured to receive a data request sent by the user side based on the video playlist, where the data request carries a slice address, and the slice address includes the first slice address and/or the second slice address; and
and the data sending module is used for sending the slice data stored in the slice address to the user side.
According to another aspect of the embodiments of the present disclosure, there is also provided a video transmission apparatus including: a processor; and a memory coupled to the processor for providing instructions to the processor for processing the following processing steps:
generating a video playlist of a target video, the video playlist including first slice addresses of N first slice data and second slice addresses of M second slice data; the N + M pieces of first slice data are obtained by slicing the original target video, the second slice data are obtained by adding coding identifiers to M pieces of first slice data in the N + M pieces of first slice data, and the N + M pieces of first slice data are obtained by slicing the original target video; the N pieces of first slice data are N pieces of first slice data without adding coding identifications in the N + M pieces of first slice data; the N and the M are positive integers, and the coding identifier is used for indicating a user identifier of a user side so as to perform video tracking on the user side;
sending the video play list to the user side;
receiving a data request sent by the user side based on the video playlist, wherein the data request carries a slice address, and the slice address comprises the first slice address and/or the second slice address; and
and sending the slice data stored by the slice address to the user side.
In the embodiment of the present disclosure, by generating a video playlist of a target video, the video playlist includes first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding a coding identifier to M first slice data in the N + M first slice data, and the N + M first slice data is obtained by slicing an original target video; the N pieces of first slice data are N pieces of first slice data without added coding identification in the N + M pieces of first slice data; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; sending the slice data stored by the slice address to the user side; the technical problem that the transmission source of the copied video data cannot be tracked can be solved; because the coding identification is used for indicating the user identification of the user side, the user side playing the target video can be identified through the second slice data, and the tracking of the transmission source of the recorded video data is realized. Meanwhile, coding identifiers do not need to be added to all the first slice data, and the processing quantity of the slice data can be reduced.
In addition, the first slice address in the initial playlist is replaced, and a video playlist does not need to be generated again, so that the generation efficiency of the video playlist can be improved.
In addition, by determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; under the condition that second slice data requested by the data request are generated, second slice data stored by a second slice address are sent to the user side; the server can be ensured to be able to send the second sliced data to the client.
In addition, the slice address provided for the user terminal through the video playlist service, so that the middle process of adding the coding identifier is invisible to the user terminal, and the user terminal only has perception on the waiting time during downloading. In a general situation, due to the existence of play and buffering delay caused by original downloading of the internet, the processing time of the superimposed watermark is less perceived by a user.
In addition, the video played by the user side is the video superimposed with the personalized coding identifier, and the watermark information is difficult to be hidden or damaged by attacking the player or copying, blurring, covering and the like the video picture from the user side.
Drawings
The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the disclosure and together with the description serve to explain the disclosure and not to limit the disclosure. In the drawings:
fig. 1 is a hardware block diagram of a computing device for implementing the method according to embodiment 1 of the present disclosure;
fig. 2 is a schematic diagram of a system of a video transmission system according to embodiment 1 of the present disclosure;
fig. 3 is a schematic flowchart of the standard video transmission method according to embodiment 1 of the present disclosure;
fig. 4 is a schematic flow chart of a video transmission method according to the first aspect of embodiment 1 of the present disclosure;
fig. 5 is a flowchart illustrating a method for generating a video playlist according to the first aspect of embodiment 1 of the present disclosure;
fig. 6 is a schematic diagram of a video transmission method according to a first aspect of embodiment 1 of the present disclosure;
fig. 7 is a schematic diagram of a video transmission apparatus according to a first aspect of embodiment 2 of the present disclosure;
and
fig. 8 is a schematic diagram of a video transmission apparatus according to the first aspect of embodiment 3 of the present disclosure.
Detailed Description
In order to make those skilled in the art better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure. It is to be understood that the described embodiments are merely exemplary of some, and not all, of the present disclosure. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without making any creative effort, shall fall within the protection scope of the present disclosure.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
First, some of the nouns or terms appearing in the description of the embodiments of the present disclosure are applicable to the following explanations:
HTTP-based adaptive bitrate Streaming protocol (HTTP Live Streaming, HLS): the system is used for cutting the file or the media stream into TS slices according to different code rates at a server side for transmission, and generating an index file M3U 8; when playing the code stream, the client can select the code stream with proper code rate to download and play in the standby sources with different code rates of the same video content according to the bandwidth and performance limit of the client. When a transmission session starts, a client first downloads an M3U8 index file describing metadata of different code streams, and then searches for a corresponding TS slice according to the M3U8 index file for playing.
The HLS is compatible with an HTTP protocol, Video coding is well compatible with a browser, Video On Demand (VOD) and Live broadcast (Live) are supported, Digital Rights Management (DRM) is supported, and the like.
Example 1
According to the present embodiment, there is provided a method embodiment of a video transmission method, it being noted that the steps illustrated in the flowchart of the drawings may be performed in a computer system such as a set of computer executable instructions, and that while a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than here.
The method embodiments provided by the present embodiment may be executed in a mobile terminal, a computer terminal, a server or a similar computing device. Fig. 1 shows a hardware configuration block diagram of a computing device for implementing a video transmission method. As shown in fig. 1, the computing device may include one or more processors (which may include, but are not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory for storing data, and a transmission device for communication functions. Besides, the method can also comprise the following steps: a display, an input/output interface (I/O interface), a Universal Serial Bus (USB) port (which may be included as one of the ports of the I/O interface), a network interface, a power source, and/or a camera. It will be understood by those skilled in the art that the structure shown in fig. 1 is only an illustration and is not intended to limit the structure of the electronic device. For example, the computing device may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
It should be noted that the one or more processors and/or other data processing circuitry described above may be referred to generally herein as "data processing circuitry". The data processing circuitry may be embodied in whole or in part in software, hardware, firmware, or any combination thereof. Further, the data processing circuitry may be a single, stand-alone processing module, or incorporated in whole or in part into any of the other elements in the computing device. As referred to in the disclosed embodiments, the data processing circuit acts as a processor control (e.g., selection of a variable resistance termination path connected to the interface).
The memory may be used to store software programs and modules of application software, such as program instructions/data storage devices corresponding to the video transmission method in the embodiments of the present disclosure, and the processor executes various functional applications and data processing by running the software programs and modules stored in the memory, so as to implement the video transmission method of the application program. The memory may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory located remotely from the processor, which may be connected to the computing device over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device is used for receiving or transmitting data via a network. Specific examples of such networks may include wireless networks provided by communication providers of the computing devices. In one example, the transmission device includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
The display may be, for example, a touch screen type Liquid Crystal Display (LCD) that may enable a user to interact with a user interface of the computing device.
It should be noted here that in some alternative embodiments, the computing device shown in fig. 1 described above may include hardware elements (including circuitry), software elements (including computer code stored on a computer-readable medium), or a combination of both hardware and software elements. It should be noted that FIG. 1 is only one example of a particular specific example and is intended to illustrate the types of components that may be present in a computing device as described above.
Fig. 2 is a schematic diagram of a system of the video transmission system according to the present embodiment. Referring to fig. 2, the system includes: a server 210 and a client 220.
The user end 220 refers to a user device requesting to obtain video data, and the user device may be a computer, a mobile phone, or a tablet computer, and the present embodiment does not limit the device type of the user end 220.
Optionally, the number of the user terminals 220 is one or at least two, and the number of the user terminals 220 is not limited in this embodiment.
The client 220 establishes a communication connection with the server 210. The client 220 is configured to request video data of a target video from the server 210 based on a communication connection with the server 210.
Optionally, the target video data may be video data on demand, live video data, and the like, and the present embodiment does not limit the type of the target video data.
The server 210 is configured to provide video data of a target video to the client 220. The server 210 may be composed of a single server host, or may be composed of a plurality of server hosts, and the implementation manner of the server 210 is not limited in this embodiment.
In an example, the process of the server 210 providing the client 220 with video data of a target video, as shown in fig. 3, a standard process of video data transmission includes the following steps:
s31, the client 220 sends a video request for the target video to the server 210;
s32, after receiving the video request, the server 210 generates a video playlist of the target video, and sends the video playlist to the client 220;
illustratively, the server 210 stores slice data of the target video, which is obtained by slicing the target video. The video playlist includes a set of slice addresses for respective slice data. The slice address is used to indicate a storage location of the slice data, and may be a Uniform Resource Locator (URL).
Optionally, the video playlist further carries duration information of the slice data, and the duration information is used for the user end 220 to perform time offset according to the duration information to perform fast positioning of the slice data. The duration information may be in units of milliseconds, in other embodiments, the duration information may also be in other unit lengths, and the implementation manner of the duration information is not limited in this embodiment.
S33, the client 220 sends a data request to the server 210 according to the video playlist, so as to download the slice data in time sequence.
Alternatively, the client 220 may locate the to-be-requested slicing data according to the time offset, and generate the data request according to the slicing address of the to-be-requested slicing data.
The slice data to be requested may be slice data corresponding to the current playing time and/or slice data within a preset time length in the future of the current playing time.
S34, the server 210 receives the data request, reads the slice data from the slice address in the data request, and sends the slice data to the client 220.
S35, the user terminal 220 receives the slice data and plays the slice data.
Based on the above video transmission process, in order to track the user, in this embodiment, the step of generating the video playlist and the step of sending the slice data by the server 210 are improved, and the method includes:
at the stage of the server 210 generating the video playlist, the video playlist includes first slice addresses of the N first slice data and second slice addresses of the M second slice data. N and M are positive integers.
The second slice data is obtained by adding coding identifiers to the M first slice data in the N + M first slice data. The N + M pieces of first slice data are obtained by performing slice processing on the original target video, that is, the second slice data is obtained by adding a coding identifier to part of the first slice data. In other words, the first slice data is original slice data of the target video, and the second slice data is slice data obtained by adding the coding flag to the original slice data.
Specifically, the complete original slice data (i.e., the complete first slice data) of the target video includes N + M first slice data, and the M second slice data is obtained by adding the coding identifier to M first slice data of the N + M first slice data. The N first slice data are N first slice data without added coding identification in the N + M first slice data.
Optionally, the coded identifier is used to indicate a user identifier of the user terminal 220, so as to perform video tracking on the user terminal 220. The encoding identifier may be a preset watermark, a two-dimensional code, or a label, and the implementation manner of the encoding identifier is not limited in this embodiment.
At the stage of sending the slicing data by the server 210, the first slicing data is sent to the client 220 according to the first slicing address, and the second slicing data is sent to the client 220 according to the second slicing address.
Through the improvement, the server 210 does not need to add coding identifiers to all the first slice data, so that the processing quantity of the slice data can be reduced; meanwhile, the user terminal 220 playing the target video can be identified through the second slice data, so that the user terminal 220 can be tracked.
Specifically, in this embodiment, the server 210 is configured to: generating a video playlist of the target video, wherein the video playlist comprises first slice addresses of the N first slice data and second slice addresses of the M second slice data; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; and sending the slice data stored by the slice address to the user side.
It should be noted that both the server 210 and the client 220 in the system can be applied to the above hardware structure.
In the above operating environment, according to the first aspect of the present embodiment, a video transmission method is provided, and the method is implemented by the server 210 shown in fig. 2. Fig. 4 shows a flow diagram of the method, which, with reference to fig. 4, comprises:
s402: generating a video playlist of the target video, wherein the video playlist comprises first slice addresses of the N first slice data and second slice addresses of the M second slice data; the second slice data is obtained by adding coding identification to M first slice data in the N + M first slice data, and the N + M first slice data is obtained by slicing an original target video; the N pieces of first slice data are N pieces of first slice data without added coding identification in the N + M pieces of first slice data; the coding identification is used for indicating a user identification of a user side so as to perform video tracking on the user side;
wherein N and M are positive integers;
s404: sending the video play list to a user side;
s406: receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; and
s408: and sending the slice data stored by the slice address to the user side.
Specifically, a complete first slice of target video data includes N + M first slice data arranged from front to back in the time playback order, and the M second slice data is obtained by adding an encoding flag to M first slice data of the N + M first slice data. In other words, the N first slice data and the M second slice data constitute one complete target video.
Optionally, the playing time lengths of different slice data are the same or different.
Optionally, the server may generate a video playlist based on a video request from the user side, where the video request includes a video identifier of the target video, and after receiving the video request, the server generates the video playlist of the target video based on the video identifier in the video request.
In summary, in the video transmission method provided in this embodiment, a video playlist of a target video is generated, where the video playlist includes first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identifiers to M first slice data in the N + M first slice data, the N + M first slice data is obtained by slicing an original target video, and the N first slice data is N first slice data which is not added with the coding identifiers in the N + M first slice data; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; sending the slice data stored by the slice address to the user side; the technical problem that the transmission source of the copied video data cannot be tracked can be solved; because the coding identification is used for indicating the user identification of the user side, the user side playing the target video can be identified through the second slice data, and the tracking of the transmission source of the recorded video data is realized. Meanwhile, coding identifiers do not need to be added to all the first slice data, and the processing quantity of the slice data can be reduced.
Optionally, generating a video playlist of the target video includes: acquiring an initial play list of a target video, wherein the initial play list comprises first slice addresses of N + M first slice data of the target video; selecting M first slice data to be added with a coding identifier from the N + M first slice data, and generating M first slice data copies corresponding to the M first slice data and second slice addresses of the M first slice data copies; and for each first slice data in the M first slice data, replacing the first slice address of the first slice data in the initial playlist with the second slice address of the corresponding first slice data copy to obtain a video playlist.
The initial playlist is generated in advance by the server, and each target video corresponds to one initial playlist. Specifically, after a server acquires a target video, slicing the target video to obtain N + M first slice data, and generating a first slice address of each first slice data; an initial playlist is generated based on the first slice address.
Optionally, the initial playlist further includes duration information of each first slice data, so that the user terminal can determine an interval duration for requesting the next first slice data based on the duration information.
Optionally, the manner of selecting M first slice data to be added with the coding identifier from the N + M first slice data includes, but is not limited to: randomly selecting M pieces of first slice data; or selecting a first slice data at intervals of x slice data; alternatively, consecutive M pieces of first slice data are selected, and the embodiment does not limit the manner in which the M pieces of first slice data are selected.
Generating M first slice data copies, further comprising: for each first slice data copy in the M first slice data copies, adding a coding identifier to the first slice data copy to obtain second slice data corresponding to the first slice data copy; and storing the second slice data corresponding to the first slice data copy to a second slice address corresponding to the first slice data copy.
To facilitate understanding of the generation process of the video playlist provided in the present embodiment, the generation process is described below as an example. In this embodiment, a playlist generating service and an identifier adding service are run on a server, where the playlist generating service and the identifier adding service may be two processes in the server. At this time, referring to fig. 5, the generation process of the video playlist of this embodiment at least includes the following steps:
s51, the playlist generating service reads a pre-generated initial playlist;
s52, the playlist generation service selecting M first slice data from the N + M first slice data;
s53, the playlist generation service submits M encoding identification adding tasks of the first slice data to the identification adding service;
s54, generating an identifier adding service, returning second slice addresses corresponding to M pieces of first slice data to a playlist generating service, generating M pieces of first slice data copies corresponding to the M pieces of first slice data, and adding coding identifiers to the M pieces of first slice data copies to obtain M pieces of second slice data; when a second slice data is obtained, the second slice data is stored to a second slice address corresponding to the first slice data copy;
s55, after receiving the second slice address, the playlist generation service replaces the corresponding first slice address in the initial playlist with the second slice address to obtain a final video playlist.
In this embodiment, the first slice address in the initial playlist is replaced without regenerating a video playlist, so that the generation efficiency of the video playlist can be improved.
Optionally, sending the slice data stored by the slice address to the user side includes: determining whether the slice data requested by the data request is second slice data; determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; and sending the second slicing data stored by the second slicing address to the user side under the condition that the second slicing data requested by the data request is generated.
When the slice data requested by the data request is the first slice data, the first slice data does not need to be added with a coding identifier, and therefore the first slice data is stored in the corresponding first slice address, and at this time, the server side directly reads the first slice data from the first slice address and sends the first slice data to the client side.
Optionally, in a case that the second sliced data requested by the data request is not generated, the step of determining whether the second sliced data requested by the data request is generated is performed again until the second sliced data stored by the second sliced address is sent to the user terminal when the second sliced data requested by the data request is generated.
In one example, determining whether the slice data requested by the data request is second slice data comprises: determining whether the slice address in the data request is a second slice address; and determining that the slice data requested by the data request is the second slice data in a case where the slice address in the data request is the second slice address. In the case where the slice address in the data request is not the second slice address, it is determined that the slice data requested by the data request is not the second slice data.
The server side stores the second slice address separately. At this time, after receiving the slice address in the data request, the server compares the slice address with a second slice address stored separately one by one; if there is a second slice address that matches the slice address in the data request, then the slice data is determined to be second slice data.
In another example, the data request also carries a slice identification that uniquely indicates the slice data (including the first slice data and the second slice data). At this time, determining whether the slice data requested by the data request is second slice data includes: determining whether the slice identifier in the data request is a slice identifier of the second slice data; and determining that the slice data requested by the data request is the second slice data in a case where the slice identification in the data request is a slice identification of the second slice data.
The slice identifier may be a data summary of the slice data or a data number of the slice data, and the implementation manner of the slice identifier is not limited in this embodiment.
The server side stores the slice identification of the second slice data separately. At this time, after receiving the slice identifier in the data request, the server compares the slice identifier with the slice identifiers of the second slice data which are stored separately one by one; if there is a slice identification of the second slice data that matches the slice identification in the data request, then the slice data is determined to be the second slice data.
In practical implementation, the manner of determining whether the slice data requested by the data request is the second slice data may be other manners, and this embodiment is not listed here.
In one example, determining whether the second slice of data requested by the data request has been generated comprises: and under the condition that the processing completion feedback of the second slice data requested by the data request is acquired, determining that the second slice data requested by the data request is generated, wherein the processing completion feedback is generated after the coding identifier is added to the first slice data.
Such as: in the generation process of the playlist shown in fig. 5, each time the first slice data is processed by the identifier adding service, the second slice data corresponding to the first slice data is obtained, and a processing completion feedback of the second slice data is returned to the playlist generating service. At this time, if the playlist generation service receives the processing completion feedback of the second slice data requested by the data request, it indicates that the second slice data has been processed.
In another example, determining whether the second slice of data requested by the data request has been generated comprises: determining whether the second slice address stores second slice data; in a case where the second slice address stores second slice data, it is determined that the second slice data requested by the data request has been generated.
Such as: the server detects each second slice address every other preset time length to determine whether each second slice address stores second slice data or not; and storing second slice data at a second slice address corresponding to the second slice data requested by the data request, wherein the second slice data indicates that the second slice data is generated.
In practical implementation, the manner of determining whether the second slice data requested by the data request has been generated may be other manners, and this embodiment is not listed here.
In the present embodiment, by determining whether or not the second sliced data requested by the data request has been generated in the case where the sliced data requested by the data request is the second sliced data; under the condition that second slice data requested by the data request are generated, second slice data stored by a second slice address are sent to the user side; the server can be ensured to be able to send the second sliced data to the client.
To facilitate understanding of the video transmission process provided in this embodiment, the following describes an example of the video transmission process after the video playlist is transmitted to the user terminal. Referring to fig. 6, the video transmission process of the present embodiment at least includes the following steps:
s61, the user end determines the playing start position of the target video;
s62, the user end determines the slice data to be downloaded according to the time length information in the video play list;
s63, the user side sends a data request to the server side, and the data request carries the slice address of the slice data to be downloaded;
s64, the server receives the data request, and determines whether the data request is used for requesting second slice data; if yes, go to step 65; if not, go to step 67;
s65, the server determines whether the second slice data requested by the data request is generated; if so, go to step 66; if not, S65 is executed again;
s66, the server reads the second slice data from the second slice address carried by the data request, and executes S68;
s67, the server reads the first slice data from the first slice address carried by the data request;
s68, the server side sends the read slice data to the user side;
and S69, the user side receives and plays the slice data sent by the server side.
In this embodiment, the user identifier is N-ary coded, so that each code under the N-ary coding has a corresponding slice sequence, and thus, each bit of code of the user identifier can find a corresponding slice sequence, and the code is indicated by the image position of the code identifier of the slice data in the slice sequence, so that different user identifiers can be indicated.
Thus according to the second aspect of the present embodiment, by generating a video playlist of a target video, the video playlist includes first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identification to M first slice data in the N + M first slice data, and the N + M first slice data is obtained by slicing an original target video; the N pieces of first slice data are N pieces of first slice data without added coding identification in the N + M pieces of first slice data; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; sending the slice data stored by the slice address to the user side; the technical problem that the transmission source of the copied video data cannot be tracked can be solved; because the coding identifier is used for indicating the user identifier of the user terminal to perform video tracking on the user terminal, the user terminal playing the target video can be further identified through the second slice data, and tracking of the transmission source of the copied video data is realized. Meanwhile, coding identifiers do not need to be added to all the first slice data, and the processing quantity of the slice data can be reduced.
In addition, the first slice address in the initial playlist is replaced, and a video playlist does not need to be generated again, so that the generation efficiency of the video playlist can be improved.
In addition, by determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; under the condition that second slice data requested by the data request are generated, second slice data stored by a second slice address are sent to the user side; the server can be ensured to be able to send the second sliced data to the client.
In addition, the slice address provided for the user terminal through the video playlist service, so that the middle process of adding the coding identifier is invisible to the user terminal, and the user terminal only has perception on the waiting time during downloading. In a general situation, due to the existence of play and buffering delay caused by original downloading of the internet, the processing time of the superimposed watermark is less perceived by a user.
In addition, the video played by the user side is the video superimposed with the personalized coding identifier, and the watermark information is difficult to be hidden or damaged by attacking the player or copying, blurring, covering and the like the video picture from the user side.
Further, referring to fig. 1, according to a third aspect of the present embodiment, there is provided a storage medium. The storage medium comprises a stored program, wherein the method of any of the above is performed by a processor when the program is run.
Thus, according to the present embodiment, by generating a video playlist of a target video, the video playlist includes first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identification to M first slice data in the N + M first slice data, and the N + M first slice data is obtained by slicing an original target video; n pieces of first slice data which are not added with coding marks in the N + M pieces of first slice data; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; sending the slice data stored by the slice address to the user side; the technical problem that the transmission source of the copied video data cannot be tracked can be solved; because the coding identification is used for indicating the user identification of the user side, the user side playing the target video can be identified through the second slice data, and the tracking of the transmission source of the recorded video data is realized. Meanwhile, coding identifiers do not need to be added to all the first slice data, and the processing quantity of the slice data can be reduced.
In addition, the first slice address in the initial playlist is replaced, and a video playlist does not need to be generated again, so that the generation efficiency of the video playlist can be improved.
In addition, by determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; under the condition that second slice data requested by the data request are generated, second slice data stored by a second slice address are sent to the user side; the server can be ensured to be able to send the second sliced data to the client.
In addition, the slice address provided for the user terminal through the video playlist service, so that the middle process of adding the coding identifier is invisible to the user terminal, and the user terminal only has perception on the waiting time during downloading. In a general situation, due to the existence of play and buffering delay caused by original downloading of the internet, the processing time of the superimposed watermark is less perceived by a user.
In addition, the video played by the user side is the video superimposed with the personalized coding identifier, and the watermark information is difficult to be hidden or damaged by attacking the player or copying, blurring, covering and the like the video picture from the user side.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
Example 2
Fig. 7 shows a video transmission apparatus 700 according to the first aspect of the present embodiment, the apparatus 700 corresponding to the method according to the first aspect of embodiment 1. Referring to fig. 7, the apparatus 700 includes:
a list generating module 710 for generating a video playlist of the target video, the video playlist including first slice addresses of the N first slice data and second slice addresses of the M second slice data; the second slice data is obtained by adding coding identifiers to M first slice data in the N + M first slice data, and the N + M first slice data is obtained by slicing the original target video; the N pieces of first slice data are N pieces of first slice data without adding coding identifications in the N + M pieces of first slice data; the N and the M are positive integers;
a list sending module 720, configured to send the video playlist to a user side;
a request receiving module 730, configured to receive a data request sent by the user side based on the video playlist, where the data request carries a slice address, and the slice address includes the first slice address and/or the second slice address; and
a data sending module 740, configured to send the slice data stored in the slice address to the user side.
Optionally, the list generating module 710 is configured to:
acquiring an initial play list of the target video, wherein the initial play list comprises first slice addresses of the N + M pieces of first slice data of the target video;
selecting M first slice data to be added with the coding identifier from the N + M first slice data, and generating M first slice data copies corresponding to the M first slice data and second slice addresses of the M first slice data copies; and
for each first slice data in the M first slice data, replacing a first slice address of the first slice data in the initial playlist with a second slice address of the corresponding first slice data copy to obtain the video playlist.
Optionally, the apparatus further comprises:
the identifier adding module is configured to, after the M first slice data copies are generated, add the coding identifier to each of the M first slice data copies to obtain second slice data corresponding to the first slice data copy; and
and the data storage module is used for storing the second slice data corresponding to the first slice data copy to a second slice address corresponding to the first slice data copy.
Optionally, the data sending module 740 is configured to:
determining whether the slice data requested by the data request is the second slice data;
determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; and
and sending the second slicing data stored by the second slicing address to the user terminal under the condition that the second slicing data requested by the data request is generated.
Optionally, the data sending module 740 is configured to:
determining whether a slice address in the data request is the second slice address; and
determining that the slice data requested by the data request is the second slice data if the slice address in the data request is the second slice address.
Optionally, the data sending module 740 is configured to:
determining whether a slice identifier in the data request is a slice identifier of the second slice data; and
determining that the slice data requested by the data request is the second slice data if the slice identification in the data request is a slice identification of the second slice data.
Optionally, the data sending module 740 is configured to:
under the condition that processing completion feedback of second slice data requested by the data request is acquired, determining that the second slice data requested by the data request is generated, wherein the processing completion feedback is generated after the coding identifier is added to the first slice data;
alternatively, the first and second electrodes may be,
determining whether the second slice address stores the second slice data; determining that second slice data requested by the data request has been generated in a case where the second slice address stores the second slice data.
Thus, according to the present embodiment, by generating a video playlist of a target video, the video playlist includes first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identification to M first slice data in the N + M first slice data, and the N + M first slice data is obtained by slicing an original target video; the N pieces of first slice data are N pieces of first slice data without added coding identification in the N + M pieces of first slice data; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; sending the slice data stored by the slice address to the user side; the technical problem that the transmission source of the copied video data cannot be tracked can be solved; the coding identification is used for indicating the user identification of the user side so as to track the video of the user side, so that the user side playing the target video can be identified through the second slice data, and the tracking of the transmission source of the copied video data is realized. Meanwhile, coding identifiers do not need to be added to all the first slice data, and the processing quantity of the slice data can be reduced.
In addition, the first slice address in the initial playlist is replaced, and a video playlist does not need to be generated again, so that the generation efficiency of the video playlist can be improved.
In addition, by determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; under the condition that second slice data requested by the data request is generated, sending the second slice data stored by the slice address to the user side; the server can be ensured to be able to send the second sliced data to the client.
In addition, the slice address provided for the user terminal through the video playlist service, so that the middle process of adding the coding identifier is invisible to the user terminal, and the user terminal only has perception on the waiting time during downloading. In a general situation, due to the existence of play and buffering delay caused by original downloading of the internet, the processing time of the superimposed watermark is less perceived by a user.
In addition, the video played by the user side is the video superimposed with the personalized coding identifier, and the watermark information is difficult to be hidden or damaged by attacking the player or copying, blurring, covering and the like the video picture from the user side.
Example 3
Fig. 8 shows a video transmission apparatus 800 according to the first aspect of the present embodiment, the apparatus 800 corresponding to the method according to the first aspect of embodiment 1. Referring to fig. 8, the apparatus 800 includes: a processor 810; and
a memory 820, connected to the processor 810, for providing the processor 810 with instructions to process the following processing steps:
generating a video playlist of a target video, the video playlist including first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identifiers to M first slice data in N + M first slice data, and the N + M first slice data is obtained by slicing the original target video; the N pieces of first slice data are N pieces of first slice data without adding coding identifications in the N + M pieces of first slice data; the N and the M are positive integers, and the coding identifier is used for indicating a user identifier of a user side so as to perform video tracking on the user side;
sending the video play list to the user side;
receiving a data request sent by the user side based on the video playlist, wherein the data request carries a slice address, and the slice address comprises the first slice address and/or the second slice address; and
and sending the slice data stored by the slice address to the user side.
Optionally, the generating a video playlist of the target video includes:
acquiring an initial play list of the target video, wherein the initial play list comprises first slice addresses of the N + M pieces of first slice data of the target video;
selecting M first slice data to be added with the coding identifier from the N + M first slice data, and generating M first slice data copies corresponding to the M first slice data and second slice addresses of the M first slice data copies; and
for each first slice data in the M first slice data, replacing a first slice address of the first slice data in the initial playlist with a second slice address of the corresponding first slice data copy to obtain the video playlist.
Optionally, after the generating the M first slice data copies, the method further includes:
for each first slice data copy in the M first slice data copies, adding the coding identifier to the first slice data copy to obtain second slice data corresponding to the first slice data copy; and
and storing second slice data corresponding to the first slice data copy to a second slice address corresponding to the first slice data copy.
Optionally, the sending, to the user side, the slice data stored in the slice address includes:
determining whether the slice data requested by the data request is the second slice data;
determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; and
and sending the second slicing data stored by the second slicing address to the user terminal under the condition that the second slicing data requested by the data request is generated.
Optionally, the determining whether the slice data requested by the data request is the second slice data includes:
determining whether a slice address in the data request is the second slice address; and
determining that the slice data requested by the data request is the second slice data if the slice address in the data request is the second slice address.
Optionally, the determining whether the slice data requested by the data request is the second slice data further includes:
determining whether a slice identifier in the data request is a slice identifier of the second slice data; and
determining that the slice data requested by the data request is the second slice data if the slice identification in the data request is a slice identification of the second slice data.
Optionally, the determining whether the second slice data requested by the data request has been generated includes:
under the condition that processing completion feedback of second slice data requested by the data request is acquired, determining that the second slice data requested by the data request is generated, wherein the processing completion feedback is generated after the coding identifier is added to the first slice data;
alternatively, the first and second electrodes may be,
determining whether the second slice address stores the second slice data; determining that second slice data requested by the data request has been generated in a case where the second slice address stores the second slice data.
Thus, according to the present embodiment, by generating a video playlist of a target video, the video playlist includes first slice addresses of N first slice data and second slice addresses of M second slice data; the second slice data is obtained by adding coding identifiers to M first slice data in the N + M first slice data, the N + M first slice data is obtained by slicing an original target video, and the N first slice data is N first slice data which is not added with the coding identifiers in the N + M first slice data; sending the video play list to a user side; receiving a data request sent by a user side based on a video play list, wherein the data request carries a slice address, and the slice address comprises a first slice address and/or a second slice address; sending the slice data stored by the slice address to the user side; the technical problem that the transmission source of the copied video data cannot be tracked can be solved; the coding identifier is used for indicating the user identifier of the user side so as to track the video of the user side, so that the user side playing the target video can be identified through the second slice data, and the tracking of the transmission source of the copied video data is realized. Meanwhile, coding identifiers do not need to be added to all the first slice data, and the processing quantity of the slice data can be reduced.
In addition, the first slice address in the initial playlist is replaced, and a video playlist does not need to be generated again, so that the generation efficiency of the video playlist can be improved.
In addition, by determining whether the second slice data requested by the data request has been generated in a case where the slice data requested by the data request is the second slice data; under the condition that second slice data requested by the data request are generated, second slice data stored by a second slice address are sent to the user side; the server can be ensured to be able to send the second sliced data to the client.
In addition, the slice address provided for the user terminal through the video playlist service, so that the middle process of adding the coding identifier is invisible to the user terminal, and the user terminal only has perception on the waiting time during downloading. In a general situation, due to the existence of play and buffering delay caused by original downloading of the internet, the processing time of the superimposed watermark is less perceived by a user.
In addition, the video played by the user side is the video superimposed with the personalized coding identifier, and the watermark information is difficult to be hidden or damaged by attacking the player or copying, blurring, covering and the like the video picture from the user side.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one type of division of logical functions, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (6)

1. A video transmission method, comprising:
after a video request of a user end for a target video is received, slicing the original target video to obtain N + M first slice data, wherein N and M are positive integers;
acquiring an initial play list of the target video, wherein the initial play list comprises first slice addresses of the N + M pieces of first slice data of the target video;
selecting M first slice data to be added with coding identification from the N + M first slice data, and generating M first slice data copies corresponding to the M first slice data and second slice addresses of the M first slice data copies;
for each first slice data copy in the M first slice data copies, adding the coding identifier to the first slice data copy to obtain second slice data corresponding to the first slice data copy, where an image position of the coding identifier in the second slice data indicates each bit of coding of a user identifier of the user terminal, so as to perform video tracking on the user terminal;
storing second slice data corresponding to the first slice data copy to a second slice address corresponding to the first slice data copy;
for each first slice data in the M first slice data, replacing a first slice address of the first slice data in the initial playlist with a second slice address of a corresponding first slice data copy to obtain a video playlist of a target video, wherein the video playlist includes first slice addresses of the N first slice data and second slice addresses of the M second slice data;
sending the video play list to a user side;
receiving a data request sent by the user side based on the video playlist, wherein the data request carries a second slice address under the condition that the slice data requested by the data request is second slice data; and
and sending the second slice data stored by the second slice address to the user side.
2. The method of claim 1, wherein the sending the second slicing data stored in the second slicing address to the user side comprises:
determining whether second slice data requested by the data request has been generated; and
and sending the second slicing data stored by the slicing address to the user terminal under the condition that the second slicing data requested by the data request is generated.
3. The method of claim 2, wherein the determining whether the second slice of data requested by the data request has been generated comprises:
under the condition that processing completion feedback of second slice data requested by the data request is acquired, determining that the second slice data requested by the data request is generated, wherein the processing completion feedback is generated after the coding identifier is added to the first slice data;
alternatively, the first and second electrodes may be,
determining whether the slice address stores the second slice data; in a case where the slice address stores the second slice data, it is determined that the second slice data requested by the data request has been generated.
4. A storage medium comprising a stored program, wherein the method of any one of claims 1 to 3 is performed by a processor when the program is run.
5. A video transmission apparatus, comprising:
the slicing processing module is used for slicing an original target video to obtain N + M first slice data after receiving a video request of a user end to the target video, wherein N and M are positive integers;
an initial list obtaining module, configured to obtain an initial playlist of the target video, where the initial playlist includes first slice addresses of the N + M first slice data of the target video;
a first slice data copy generating module, configured to select M first slice data to be added with a coding identifier from the N + M first slice data, and generate M first slice data copies corresponding to the M first slice data and second slice addresses of the M first slice data copies;
the encoding identifier adding module is configured to add, to each first slice data copy of the M first slice data copies, the encoding identifier to the first slice data copy to obtain second slice data corresponding to the first slice data copy, where an image position of the encoding identifier in the second slice data indicates each bit of encoding of a user identifier of the user terminal, so as to perform video tracking on the user terminal;
a second slice data storage module, configured to store second slice data corresponding to the first slice data copy to a second slice address corresponding to the first slice data copy;
a slice address replacing module, configured to, for each of M pieces of first slice data, replace a first slice address of the first slice data in the initial playlist with a second slice address of a corresponding first slice data copy to obtain a video playlist of a target video, where the video playlist includes the first slice addresses of the N pieces of first slice data and the second slice addresses of the M pieces of second slice data;
the list sending module is used for sending the video play list to a user side;
a request receiving module, configured to receive a data request sent by the user side based on the video playlist, where the data request carries a second slice address when the slice data requested by the data request is the second slice data; and
and the data sending module is used for sending the second slice data stored in the second slice address to the user side.
6. A video transmission apparatus, comprising:
a processor; and
a memory coupled to the processor for providing instructions to the processor for processing the following processing steps:
after a video request of a user end for a target video is received, slicing the original target video to obtain N + M first slice data, wherein N and M are positive integers;
acquiring an initial play list of the target video, wherein the initial play list comprises first slice addresses of the N + M pieces of first slice data of the target video;
selecting M first slice data to be added with coding identification from the N + M first slice data, and generating M first slice data copies corresponding to the M first slice data and second slice addresses of the M first slice data copies;
for each first slice data copy in the M first slice data copies, adding the coding identifier to the first slice data copy to obtain second slice data corresponding to the first slice data copy, where an image position of the coding identifier in the second slice data indicates each bit of coding of a user identifier of the user terminal, so as to perform video tracking on the user terminal;
storing second slice data corresponding to the first slice data copy to a second slice address corresponding to the first slice data copy;
for each first slice data in the M first slice data, replacing a first slice address of the first slice data in the initial playlist with a second slice address of a corresponding first slice data copy to obtain a video playlist of a target video, wherein the video playlist includes first slice addresses of the N first slice data and second slice addresses of the M second slice data;
sending the video play list to a user side;
receiving a data request sent by the user side based on the video playlist, wherein the data request carries a second slice address under the condition that the slice data requested by the data request is second slice data; and
and sending the second slice data stored by the second slice address to the user side.
CN202111357994.9A 2021-11-17 2021-11-17 Video transmission method, device and storage medium Active CN113810780B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111357994.9A CN113810780B (en) 2021-11-17 2021-11-17 Video transmission method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111357994.9A CN113810780B (en) 2021-11-17 2021-11-17 Video transmission method, device and storage medium

Publications (2)

Publication Number Publication Date
CN113810780A CN113810780A (en) 2021-12-17
CN113810780B true CN113810780B (en) 2022-04-26

Family

ID=78898658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111357994.9A Active CN113810780B (en) 2021-11-17 2021-11-17 Video transmission method, device and storage medium

Country Status (1)

Country Link
CN (1) CN113810780B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932555B (en) * 2023-08-14 2024-04-30 合芯科技有限公司 Target object slice position determining method, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516828A (en) * 2015-12-14 2016-04-20 成都易瞳科技有限公司 Method and device for downloading video
CN108664532A (en) * 2017-04-02 2018-10-16 田雪松 Based on position encoded data processing method and system
CN111741377A (en) * 2020-05-19 2020-10-02 北京奥鹏远程教育中心有限公司 Video processing method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644755A (en) * 1992-07-24 1994-02-18 Sony Corp Method for transmitting video signal and recorder therefor
JP2005020356A (en) * 2003-06-26 2005-01-20 Matsushita Electric Ind Co Ltd Video recording and reproducing device
JP2012039437A (en) * 2010-08-09 2012-02-23 Sony Corp Information processing apparatus, information processing method, and program
CN110944228B (en) * 2018-09-21 2022-04-01 中国移动通信有限公司研究院 Video stream protection method, device, computing device and readable medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516828A (en) * 2015-12-14 2016-04-20 成都易瞳科技有限公司 Method and device for downloading video
CN108664532A (en) * 2017-04-02 2018-10-16 田雪松 Based on position encoded data processing method and system
CN111741377A (en) * 2020-05-19 2020-10-02 北京奥鹏远程教育中心有限公司 Video processing method

Also Published As

Publication number Publication date
CN113810780A (en) 2021-12-17

Similar Documents

Publication Publication Date Title
KR101617340B1 (en) System and method for signaling segment encryption and key derivation for adaptive streaming
KR101529082B1 (en) Apparatus for watermarking by dividing off tracking information and method therefor
US20070003102A1 (en) Electronic watermark-containing moving picture transmission system, electronic watermark-containing moving picture transmission method, information processing device, communication control device, electronic watermark-containing moving picture processing program, and storage medium containing electronic watermark-containing
KR20160003783A (en) Real-time anti-piracy for broadcast streams
US20170118537A1 (en) Adaptive watermarking for streaming data
US20140086445A1 (en) Watermarking of digital video
US20040199771A1 (en) Method for tracing a security breach in highly distributed content
US20180249190A1 (en) Method and apparatus for cloud storage and cloud download of multimedia data
US8782688B2 (en) Process and system for the secure broadcasting of protected audiovisual streams to a dynamic group of receivers
US20080010653A1 (en) Method and Apparatus for Controlling Access to and Usage of a Digital Media Object
US20050193205A1 (en) Method and system for session based watermarking of encrypted content
CN103686333B (en) A kind of audio and video guard method and audio-video terminal
US9066157B2 (en) Method and system for dynamically watermarking media
US10834158B1 (en) Encoding identifiers into customized manifest data
EP2391126B1 (en) Security method for preventing the unauthorized use of multimedia contents
CN104221392A (en) Controlling access to IP streaming content
EP2835947B1 (en) Method, terminal, and server for generating media information and ahs system thereof
CN113810780B (en) Video transmission method, device and storage medium
EP2659613B1 (en) Method of transmitting and receiving a multimedia content
US20240137624A1 (en) Watermarking multimedia fragments into two or more variants
CN105580386A (en) Receiver device, broadcast device, server device and reception method
CN113810781B (en) Video processing method, video processing device, video tracking method, video tracking device and storage medium
CN114501069B (en) HLS-based multimedia playing method, system, equipment and storage medium
CN107810503B (en) Method for providing protected multimedia content
US11284139B1 (en) Stateless re-discovery of identity using watermarking of a video stream

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
GR01 Patent grant
GR01 Patent grant