WO2020103218A1 - 一种WebRTC中的直播流处理方法及推流客户端 - Google Patents

一种WebRTC中的直播流处理方法及推流客户端

Info

Publication number
WO2020103218A1
WO2020103218A1 PCT/CN2018/120099 CN2018120099W WO2020103218A1 WO 2020103218 A1 WO2020103218 A1 WO 2020103218A1 CN 2018120099 W CN2018120099 W CN 2018120099W WO 2020103218 A1 WO2020103218 A1 WO 2020103218A1
Authority
WO
WIPO (PCT)
Prior art keywords
temporary
picture
watermark
video
tag
Prior art date
Application number
PCT/CN2018/120099
Other languages
English (en)
French (fr)
Inventor
林新建
Original Assignee
网宿科技股份有限公司
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 网宿科技股份有限公司 filed Critical 网宿科技股份有限公司
Priority to US17/285,747 priority Critical patent/US20220007083A1/en
Priority to EP18940831.3A priority patent/EP3883256A4/en
Publication of WO2020103218A1 publication Critical patent/WO2020103218A1/zh

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4396Processing of audio elementary streams by muting the audio signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91307Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
    • H04N2005/91335Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being a watermark

Definitions

  • the invention relates to the technical field of the Internet, in particular to a live streaming processing method and a streaming client in WebRTC.
  • WebRTC Web Real-Time Communication, derived from webpage real-time communication
  • the push streaming client can push the live video stream data packet to the resource server through the WebRTC connection, and the subsequent pull stream client can also obtain the live video stream from the resource server based on the WebRTC connection, thus achieving a low Delayed live video streaming.
  • the purpose of this application is to provide a live streaming processing method in WebRTC and a push streaming client, which can add corresponding copyright information to the live video stream in WebRTC communication.
  • the present application provides a method for processing live streaming in WebRTC.
  • the method is applied to a push streaming client.
  • the method includes: collecting an original live streaming, and loading the original live streaming to In the temporary video tag, to play the original live stream through the temporary video tag; create a temporary picture tag, and load a preset watermark picture into the temporary picture tag; create a temporary drawing tag, and add the temporary video
  • the current video frame in the tag and the preset watermark picture in the temporary picture tag are drawn into the temporary drawing tag; the canvas video stream corresponding to the temporary drawing tag is obtained, and based on the canvas video stream and the
  • the original live stream is generated to generate a watermarked live stream to which a watermark is added, and the live watermarked stream is used to be sent to a resource server through a WebRTC connection.
  • the push streaming client includes: an original live streaming collection unit for collecting the original live streaming, and loading the original live streaming to the temporary In the video tag, the original live stream is played through the temporary video tag; the watermark picture loading unit is used to create a temporary picture tag, and the preset watermark picture is loaded into the temporary picture tag; the picture drawing unit is used To create a temporary drawing label, and draw the current video frame in the temporary video label and the preset watermark picture in the temporary picture label to the temporary drawing label; a watermark live stream generation unit for obtaining A canvas video stream corresponding to the temporary drawing label, and based on the canvas video stream and the original live stream, a watermarked live stream added with a watermark is generated, and the live watermarked stream is sent to a resource server through a WebRTC connection.
  • an original live streaming collection unit for collecting the original live streaming, and loading the original live streaming to the temporary In the video tag, the original live stream is played through the temporary video tag
  • the watermark picture loading unit is used to create a temporary picture tag, and the preset
  • another aspect of the present application further provides a streaming client, the streaming client includes a memory and a processor, the memory is used to store a computer program, and the computer program is executed by the processor , The above method is realized.
  • the push streaming client after collecting the original live stream, the push streaming client can load the original live stream into a pre-created temporary video tag, and the temporary video tag can automatically play the original live stream flow.
  • the copyright of the original live stream can be displayed by adding a watermark picture to the original live stream. Specifically, by creating a temporary picture label, a preset watermark picture can be loaded to the temporary picture label, and subsequently, based on the created temporary drawing label, the current current video stream can be obtained from the temporary video label and the temporary picture label, respectively.
  • the video frame and the preset watermark picture, and the current video frame and the preset watermark picture are sequentially drawn on the temporary drawing label, so that for each frame of the video picture, a corresponding preset watermark picture can be added.
  • video frames with watermarked pictures will be continuously generated in the temporary drawing label, and these video frames can constitute a live canvas stream.
  • a watermarked live stream with a watermark added can be generated, and the watermarked live stream can be pushed to a resource server through a WebRTC connection.
  • subsequent live video streams transmitted on the network will carry preset watermark pictures, thus reflecting the copyright information of the live video stream.
  • FIG. 1 is a schematic diagram of an interface of a streaming client in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of steps of a live streaming processing method in an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of the operation of the temporary video tag in the embodiment of the present invention.
  • FIG. 5 is a schematic diagram of pushing a watermark live stream in an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of live stream processing in an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a streaming client in an embodiment of the present invention.
  • the present application provides a live streaming processing method in WebRTC, which can be applied to a streaming client.
  • the streaming client may be an electronic device with image and voice collection functions used by the video anchor.
  • the electronic device may be, for example, a smart phone, a tablet computer, a notebook computer, a personal computer, a smart wearable device (virtual reality glasses, a smart watch), or the like.
  • the streaming client may also be software running in the above electronic device.
  • the push streaming client may be App (Application, application), browser, SDK (Software Development Kit, software development kit), and so on.
  • the interface of the streaming client may include a streaming area and a display area, where common web elements such as buttons or text boxes may be distributed in the streaming area. These Web page elements can interact with the anchor to achieve the collection and push of live video streams.
  • a picture of the live video stream finally pushed to the resource server may be displayed, so that the anchor can pay attention to whether the video picture pushed outward is suitable in real time.
  • the pushed live video stream may be a live video stream to which copyright information has been added.
  • the live stream processing method in WebRTC may include the following steps.
  • S1 Collect the original live stream, and load the original live stream into a temporary video tag to play the original live stream through the temporary video tag.
  • the push client can start the built-in or external camera and microphone of the push client through the getUserMedia interface provided by the browser to collect the live video of the anchor to generate the original live stream.
  • the original live stream may include synchronized video tracks and audio tracks.
  • a temporary video (Video) tag may be created inside the streaming client, and the temporary video tag may be used to play the original live stream.
  • the name of the temporary video tag may be specified.
  • the name of the temporary video tag may be TV.
  • various playback attributes of the temporary video tag can also be set. For example, since the processing of the original video stream is actually performed in the background, the picture and sound should not be displayed at the front of the page, so the playback volume of the temporary video tag can be adjusted to 0, so that the original live stream can be played silently .
  • the temporary video tag can also be set to be invisible (hidden), so that the user cannot directly watch the original live broadcast stream from the outside.
  • the playback mode of the temporary video tag can also be set to auto play, and once the original live stream is loaded on the temporary video tag, it can be automatically played without the need for the host to trigger a button for playback.
  • the size information may be, for example, the width and height of the video picture in the original live stream, and both the width and height may be represented by the number of pixels.
  • S3 Create a temporary picture label, and load a preset watermark picture into the temporary picture label.
  • the copyright information of the anchor can be marked in the original live stream by embedding a preset watermark picture.
  • the preset watermark picture may be set by the anchor, or may be randomly generated by the streaming client according to the information of the anchor.
  • the preset watermark image may have its own loading address, and the loading address may be, for example, a URL (Uniform Resource Locator) of the image, or a storage path of the image in the streaming client.
  • a temporary image (Image) tag can be created in the streaming client, and the temporary image tag can be used to load the preset watermark image.
  • the loading address of the preset watermark picture may be associated with the temporary picture label, so that the temporary picture label loads the preset watermark picture according to the loading address.
  • the name of the temporary picture label may be TIM.
  • the display size of the preset watermark picture and the position information of the preset watermark picture in the video picture may be set in the temporary picture tag.
  • the display size can be expressed by width and height, and both the width and height can be expressed by the number of pixels.
  • the position information may represent the coordinate value corresponding to the vertex at the upper left corner when the preset watermark picture is displayed in the video picture.
  • the coordinate value is determined in the coordinate system of the video picture, and the coordinate value may include an abscissa value and an ordinate value, and both the abscissa value and the ordinate value may be represented by the pixel number.
  • the width and height of the original live stream video picture are TCW and TCH, respectively.
  • the coordinate value of the upper left corner vertex of the original live stream video picture is (0,0), then the coordinate value of the lower right corner vertex can be Yes (TCW-1, TCH-1).
  • the coordinate value corresponding to the top left corner vertex of the preset watermark picture can be identified, so that the coordinate value can be used as the position information of the preset watermark picture in the video screen. In this way, according to the location information and the display size, the area occupied by the preset watermark picture can be uniquely determined in the video picture.
  • S5 Create a temporary drawing label, and draw the current video frame in the temporary video label and the preset watermark picture in the temporary picture label to the temporary drawing label.
  • a corresponding preset watermark picture can be added for each frame of the video image of the original live stream.
  • a temporary drawing (Canvas) label can be created inside the push streaming client, and the role of the temporary drawing label is to sequentially draw the video frame of the original live stream and the preset watermark picture, so that the video frame of the original live stream is located in the temporary drawing
  • the lower layer of the label, and the preset watermark picture is located on the upper layer of the temporary drawing label, so that the visual effect of covering the preset watermark picture on the video frame can be generated.
  • a preset instruction for returning to the drawing environment in the temporary drawing label may be called.
  • the preset instruction may be, for example, a getContext () instruction
  • the The getContext () instruction can return an environment for drawing on the canvas.
  • the type of rendering is a 2d plane image
  • the type of rendering may be expressed by parameters characterizing the plane image.
  • the parameter may be "2d".
  • TCC represents the name of the planar image rendering object
  • TC represents the name of the temporary drawing label
  • 2d may represent the parameter characterizing the planar image.
  • the current video frame and the preset watermark may be obtained from the temporary video label and the temporary image label in sequence through the plane image rendering object Picture, and draw the acquired current video frame and the preset watermark picture into the temporary drawing label.
  • the flat image rendering object may draw the current video frame and the preset watermark picture into the temporary drawing label in sequence through drawing commands of drawImage.
  • picture drawing can be performed by the drawing instruction of the plane image rendering object in the following manner:
  • TCC.drawImage (TIM, WX, WY, WW, WH)
  • TV represents the name of the temporary video tag
  • (0,0) represents the coordinate value of the upper left corner vertex of the current video frame
  • TCW and TCH respectively represent the width and height of the current video frame
  • TIM represents the The name of the temporary picture label
  • (WX, WY) represents the coordinate value of the top left corner vertex of the preset watermark picture in the coordinate system of the current video frame
  • WW and WH represent the width and height of the preset watermark picture, respectively .
  • the temporary video tag TV, the size information (TCW and TCH) of the video frames in the original video stream, and the starting position of the video frames in the original video stream can be marked in the planar image rendering object Information (0, 0), so as to obtain the current video frame from the temporary video tag.
  • the temporary image tag TIM, the size information of the preset watermark picture (WW and WH) and the starting position information of the preset watermark picture (WX, WY) can be marked in the planar image rendering object ), So that the preset watermark picture can be obtained from the temporary picture tag.
  • the acquired current video frame and the preset watermark picture may be sequentially drawn into the temporary drawing label, thereby forming a current video frame covering the preset watermark picture.
  • the above process of adding a preset watermark picture to the current video frame may be completed through a WebWorker provided by the browser.
  • the push client can internally call the page work object WebWorker provided by the browser, and create a multi-thread MT through the page work object WebWorker, and can also prepare a multi-thread script MTJS corresponding to the multi-thread in advance , And write the corresponding preset business logic in the multi-threaded script MTJS.
  • the multi-threaded MT can be used to pass an instruction to add a watermark to the preset script MTJS, which can be expressed in the following manner:
  • postMessage may represent the instruction for characterizing adding a watermark
  • params may represent parameters carried in the instruction
  • the preset script MTJS may execute the pre-written preset business logic in response to the watermarking instruction, and after executing the preset business logic, the Multi-thread feedback notification information.
  • the notification information may indicate that the preset script MTJS has currently executed its own business logic, and the multi-threaded MT may start the process of adding a watermark. In this way, in response to the notification information, the multi-threaded MT may draw the current video frame in the temporary video tag and the preset watermark picture in the temporary picture tag into the temporary drawing tag.
  • S7 Obtain the canvas video stream corresponding to the temporary drawing label, and based on the canvas video stream and the original live stream, generate a watermarked live stream with a watermark added, and the live watermarked stream is sent to a resource through a WebRTC connection server.
  • the temporary drawing label may continuously generate video frames added with preset watermark pictures according to the above-mentioned manner, and these video frames may constitute a canvas video stream. Because the temporary drawing label can only process the video image, the corresponding audio information cannot be added. Therefore, the canvas video stream and the audio information of the original live stream can be combined to form a watermark live stream with sound picture information. Specifically, an audio track can be extracted from the original live stream, and a video track can be extracted from the canvas video stream, and then the audio track and the video track can be merged to generate a watermarked live stream with a watermark added.
  • the audio track of the original live stream can be obtained by the following instruction:
  • AT represents the extracted audio track
  • OS represents the name of the original live stream
  • getAudioTracks () represents the instruction to extract the audio track
  • 0 represents the first available audio track.
  • the video track of the canvas video stream can be extracted by the following instructions:
  • VT represents the extracted video track
  • CS represents the name of the canvas video stream
  • getVudioTracks () represents the instruction to extract the video track
  • 0 represents the first available video track.
  • the audio track and the video track can be combined into a watermark live stream by using the MediaStream instruction provided by the browser as follows:
  • WS MediaStream ([AT, VT])
  • WS represents the name of the merged watermark live stream.
  • the watermark live stream can be pushed to the resource server through a WebRTC connection.
  • the streaming client can use the interface RTCPeerConnection provided by the browser to maintain the WebRTC connection to create a connection object Peer, and add the watermark live stream to the connection object Peer.
  • the connection object Peer can establish a WebRTC connection with the resource server, and push the data packet of the watermark live stream to the resource server through the WebRTC connection.
  • the resource server may open a UDP (User Datagram Protocol) port or a TCP (Transmission Control Protocol) port to wait for the data packets pushed by the streaming client. In this way, the streaming client can send real-time audio and video data packets of the watermark live stream to the UDP port or TCP port of the resource server in real time.
  • UDP User Datagram Protocol
  • TCP Transmission Control Protocol
  • the push streaming client may display the watermark live stream in real time in the display area shown in FIG. 1.
  • the streaming client may create a display video tag and load the watermark live stream into the display video tag.
  • the play attribute of the displayed video tag can be set to be visible, so that the anchor can directly view the watermark live stream picture from the outside.
  • the streaming client may create an internal container (internal div, internal division), and display the watermark live stream loaded in the display video tag in the internal container (internal div).
  • the browser page may display the internal container (internal div) of the watermark live stream through callback, thereby filling the internal container (internal div) displaying the watermark live stream on the browser page in advance
  • the external container (page div) can customize the effect style displayed on the screen in the display area shown in FIG. 1.
  • the content in the temporary video tag cannot be viewed from the outside, and is set to mute playback. Its main function is to capture a frame by a flat image drawing object when playing the original live stream in silent playback One frame of video.
  • the live stream of the watermark in the displayed video tag can be seen in the display area, which can be used to preview the watermarked video.
  • the function of the internal div is to store the watermark live stream, and can be called back to the page end. And the page div preset in the display area at the page end can embed the internal div therein, so that the final watermark live stream video image can be displayed in the display area.
  • This application also provides a streaming client, which includes:
  • An original live stream collection unit configured to collect the original live stream, and load the original live stream into a temporary video tag to play the original live stream through the temporary video tag;
  • the watermark image loading unit is used to create a temporary image label and load a preset watermark image into the temporary image label;
  • a picture drawing unit used to create a temporary drawing label, and draw the current video frame in the temporary video label and the preset watermark picture in the temporary picture label to the temporary drawing label;
  • the watermark live stream generating unit is used to obtain the canvas video stream corresponding to the temporary drawing label, and based on the canvas video stream and the original live stream, to generate a watermarked live watermark stream, the watermark live stream is used to
  • the WebRTC connection is sent to the resource server.
  • the watermark image loading unit includes:
  • the address association module is configured to associate the loading address of the preset watermark picture to the temporary picture label, so that the temporary picture label loads the preset watermark picture according to the loading address.
  • the picture drawing unit includes:
  • a page working object calling module used to call a page working object provided by a browser, and creating a multi-thread through the page working object;
  • An instruction delivery module configured to start the multi-thread to transmit a watermark-adding instruction to a preset script through the multi-thread; wherein, the preset script executes the preset in response to the watermark-adding instruction
  • the notification information is fed back to the multi-threads, so that the multi-threads respond to the notification information to the current video frame in the temporary video tag and the preset watermark in the temporary picture tag The picture is drawn into the temporary drawing label.
  • the picture drawing unit includes:
  • the plane image rendering object acquisition module is used to call a preset instruction in the temporary drawing label for returning to the drawing environment, and pass a parameter characterizing the plane image to the preset instruction to obtain the correspondence of the temporary drawing label Rendering object of the plane image;
  • a drawing module configured to sequentially obtain the current video frame and the preset watermark picture from the temporary video tag and the temporary picture tag through the plane image rendering object, respectively, and store the acquired current video frame And the preset watermark picture is drawn into the temporary drawing label.
  • the rendering module includes:
  • the video information labeling module is used to label the temporary video label, the size information of the video frame in the original video stream and the starting position information of the video frame in the original video stream in the plane image rendering object Obtaining the current video frame from the temporary video tag;
  • a picture information labeling module is used to mark the temporary picture label, the size information of the preset watermark picture and the starting position information of the preset watermark picture in the planar image rendering object, so as to select the temporary picture Obtain the preset watermark picture from the label.
  • the present application further provides a push streaming client.
  • the push streaming client includes a memory and a processor.
  • the memory is used to store a computer program.
  • the streaming client may include a processor, an internal bus, and a memory.
  • the memory may include memory and non-volatile memory.
  • the processor reads the corresponding computer program from the non-volatile memory into the memory and runs it.
  • the push client may further include more or fewer components than those shown in FIG.
  • the processor may include a central processing unit (CPU) or a graphics processor (GPU), of course, it may also include other single-chip computers, logic gate circuits, integrated circuits, etc. with logic processing capabilities, or Appropriate combination.
  • the memory described in this embodiment may be a memory device for storing information.
  • the device that can save binary data can be a memory; in an integrated circuit, a circuit that does not have a physical form with a storage function can also be a memory, such as RAM, FIFO, etc .; in the system, has a physical form of storage
  • the device can also be called a memory, etc.
  • the storage can also be implemented in the form of cloud storage. The specific implementation is well limited in this specification.
  • the push streaming client after collecting the original live stream, the push streaming client can load the original live stream into a pre-created temporary video tag, and the temporary video tag can automatically play the original live flow.
  • the copyright of the original live stream can be displayed by adding a watermark picture to the original live stream. Specifically, by creating a temporary picture label, a preset watermark picture can be loaded to the temporary picture label, and subsequently, based on the created temporary drawing label, the current current video stream can be obtained from the temporary video label and the temporary picture label, respectively.
  • the video frame and the preset watermark picture, and the current video frame and the preset watermark picture are sequentially drawn on the temporary drawing label, so that for each frame of the video picture, a corresponding preset watermark picture can be added.
  • the video frames with watermarked pictures will be continuously generated in the temporary drawing label, and these video frames can constitute a live canvas stream.
  • a watermarked live stream with a watermark added can be generated, and the watermarked live stream can be pushed to a resource server through a WebRTC connection. In this way, subsequent live video streams transmitted on the network will carry preset watermark pictures, thus reflecting the copyright information of the live video stream.
  • each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware.
  • the above-mentioned technical solutions can be embodied in the form of software products in essence or to contribute to the existing technology, and the computer software products can be stored in computer-readable storage media, such as ROM / RAM, magnetic Discs, optical discs, etc., include several instructions to enable a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明公开了一种WebRTC中的直播流处理方法及推流客户端,其中,所述方法包括:采集原始直播流,并将所述原始直播流加载至临时视频标签中,以通过所述临时视频标签播放所述原始直播流;创建临时图片标签,并将预设水印图片加载至所述临时图片标签中;创建临时绘制标签,并将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中;获取所述临时绘制标签对应的画布视频流,并基于所述画布视频流和所述原始直播流,生成添加了水印的水印直播流,所述水印直播流用于通过WebRTC连接被发送至资源服务器。本申请提供的技术方案,能够给WebRTC通信中的直播视频流添加对应的版权信息。

Description

一种WebRTC中的直播流处理方法及推流客户端 技术领域
本发明涉及互联网技术领域,特别涉及一种WebRTC中的直播流处理方法及推流客户端。
背景技术
随着互联网技术和终端设备的不断发展,实时的视频通信越来越受到人们的青睐。WebRTC(Web Real-Time Communication,源自网页实时通信)协议由于具有跨平台、高实时性的特点,被广泛用于基于网络的视频会议、视频通话等应用场景,并且WebRTC的出现使得在页面端实现一套直播互动的解决方案变得极其简单。推流客户端在录制直播视频流之后,可以通过WebRTC连接将直播视频流的数据包推送至资源服务器,后续拉流客户端同样可以基于WebRTC连接从资源服务器处获取直播视频流,从而实现具备低延时的视频直播功能。
然而,WebRTC在给用户带来便利的同时,直播视频流的版权问题也日益凸显。很多直播视频流在传输过程中,可能会被不法分子盗取,并在其它平台上播放。因此,目前亟需一种能够体现直播视频流版权的方法。
发明内容
本申请的目的在于提供一种WebRTC中的直播流处理方法及推流客户端,能够给WebRTC通信中的直播视频流添加对应的版权信息。
为实现上述目的,本申请一方面提供一种WebRTC中的直播流处理方法,所述方法应用于推流客户端中,所述方法包括:采集原始直播流,并将所述原始直播流加载至临时视频标签中,以通过所述临时视频标签播放所述原始直播流;创建临时图片标签,并将预设水印图片加载至所述临时图片标签中;创建临时绘制标签,并将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中;获取所述临时绘制标签对应的画布视频流,并基于所述画布视频流和所述原始直播流,生成添加了水印的水 印直播流,所述水印直播流用于通过WebRTC连接被发送至资源服务器。
为实现上述目的,本申请另一方面还提供一种推流客户端,所述推流客户端包括:原始直播流采集单元,用于采集原始直播流,并将所述原始直播流加载至临时视频标签中,以通过所述临时视频标签播放所述原始直播流;水印图片加载单元,用于创建临时图片标签,并将预设水印图片加载至所述临时图片标签中;图片绘制单元,用于创建临时绘制标签,并将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中;水印直播流生成单元,用于获取所述临时绘制标签对应的画布视频流,并基于所述画布视频流和所述原始直播流,生成添加了水印的水印直播流,所述水印直播流用于通过WebRTC连接被发送至资源服务器。
为实现上述目的,本申请另一方面还提供一种推流客户端,所述推流客户端包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
由上可见,本申请提供的技术方案,推流客户端在采集到原始直播流后,可以将该原始直播流加载于预先创建的临时视频标签中,该临时视频标签可以自动播放所述原始直播流。在本申请中,可以通过向原始直播流中添加水印图片的方式,来显示该原始直播流的版权。具体地,通过创建临时图片标签,可以将预设水印图片加载至该临时图片标签处,后续,可以基于创建的临时绘制标签,依次从临时视频标签和临时图片标签中分别获取原始视频流的当前视频帧和预设水印图片,并将当前视频帧和预设水印图片依次绘制于该临时绘制标签中,从而针对每一帧视频画面,都可以添加对应的预设水印图片。这样,临时绘制标签中会不断产生添加了水印图片的视频帧,这些视频帧便可以构成画布直播流。最终,基于所述画布视频流和所述原始直播流,便可以生成添加了水印的水印直播流,该水印直播流可以通过WebRTC连接推送至资源服务器。这样,后续在网络中传输的直播视频流都会带有预设水印图片,从而体现了直播视频流的版权信息。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中推流客户端的界面示意图;
图2是本发明实施方式中直播流处理方法的步骤示意图;
图3是本发明实施方式中临时视频标签的工作示意图;
图4是本发明实施方式中WebWorker的工作示意图;
图5是本发明实施方式中水印直播流的推送示意图;
图6是本发明实施方式中直播流处理的流程示意图;
图7是本发明实施方式中推流客户端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种WebRTC中的直播流处理方法,所述方法可以被应用于推流客户端中。所述推流客户端可以是视频主播所使用的具备图像和语音采集功能的电子设备。所述电子设备例如可以是智能手机、平板电脑、笔记本电脑、个人计算机、智能可穿戴设备(虚拟现实眼镜、智能手表)等。当然,所述推流客户端还可以是运行于上述电子设备中的软件。例如,所述推流客户端可以是App(Application,应用程序)、浏览器、SDK(Software Development Kit,软件开发工具包)等。
请参阅图1,在一个实施方式中,所述推流客户端的界面中可以包括推流区域和显示区域,其中,所述推流区域中可以分布一些按键或者文本框等常见的网页元素,这些网页元素可以与主播进行交互,从而实现直播视频流的采集和推送。所述显示区域中则可以展示最终向资源服务器推送的直播视频流的画面,以便主播实时关注向外推送的视频画面是否合适。该推送的直播视频流可以是已经添加了版权信息的直播视频流。
请参阅图2,本申请提供的WebRTC中的直播流处理方法,可以包括以下步骤。
S1:采集原始直播流,并将所述原始直播流加载至临时视频标签中,以通过所述临时视频标签播放所述原始直播流。
请结合图3,在本实施方式中,推流客户端可以通过浏览器提供的getUserMedia接口,启动推流客户端内置或者外接的摄像头和麦克风,采集主播的实时视频画面,从而生成原始直播流,该原始直播流中可以包括同步的视频轨道和音频轨道。
在采集到所述原始直播流后,推流客户端内部可以创建临时视频(Video)标签,该临时视频标签可以用于播放所述原始直播流。具体地,在创建临时视频标签时,可以指定该临时视频标签的名称。例如,所述临时视频标签的名称可以是TV。此外,还可以设置该临时视频标签的各项播放属性。例如,由于对原始视频流的处理实际是在后台进行的,因此不应当在页面前端显示画面和声音,因此可以将该临时视频标签的播放音量调为0,从而可以静音播放所述原始直播流。同时,还可以将该临时视频标签设置为不可见(隐藏),这样,用户无法从外部直接观看到播放的原始直播流。此外,还可以将该临时视频标签的播放模式设置为自动播放,一旦该临时视频标签加载了原始直播流,便可以自动播放,无需主播再去触发播放的按键。当然,在实际应用中,为了使得临时视频标签在播放原始直播流时不会出现显示异常,还可以读取原始视频流的尺寸信息,并将读取的尺寸信息同步地配置到临时视频标签上。该尺寸信息例如可以是原始直播流中视频画面的宽和高,宽和高均可以通过像素点的数量来表示。经过上述的设置,采集的原始直播流便可以同步在临时视频标签内进行静音播放。
S3:创建临时图片标签,并将预设水印图片加载至所述临时图片标签中。
在本实施方式中,可以通过嵌入预设水印图片的方式,在原始直播流中标注主播的版权信息。所述预设水印图片可以是主播设置的,也可以是推流客户端按照主播的信息随机生成的。所述预设水印图片可以具备自身的加载地址,所述加载地址例如可以是图片的URL(Uniform Resource Locator,统一资源定位符),也可以是图片在推流客户端中的存储路径。这样,在推流客户端中可以创建临时图片(Image)标签,该临时图片标签可以用于加载所述预设水印图片。具体地,可以将所述预设水印图片的加载地址关联至所述临时图片标签中,从而使得所述临时图片标签按照所述加载地址加载所述预设水印图片。
在创建临时图片标签时,可以指定该临时图片标签的名称。例如,所述临时图片标签的名称可以是TIM。此外,还可以设置该临时图片标签的图片展示属 性。例如,可以在所述临时图片标签中设置所述预设水印图片的展示尺寸以及所述预设水印图片在视频画面中所处的位置信息。其中,所述展示尺寸可以通过宽和高来表示,该宽和高均可以通过像素点的数量来表示。所述位置信息则可以表征所述预设水印图片在视频画面中展示时,左上角顶点对应的坐标值。所述坐标值是在视频画面的坐标系中确定的,并且该坐标值可以包括横坐标值和纵坐标值,所述横坐标值和纵坐标值均可以通过像素点的序号来表示。举例来说,原始直播流的视频画面的宽和高分别为TCW和TCH,该原始直播流的视频画面的左上角顶点的坐标值为(0,0),那么右下角顶点的坐标值便可以是(TCW-1,TCH-1)。在这样的坐标系中,可以识别所述预设水印图片的左上角顶点对应的坐标值,从而可以将该坐标值作为预设水印图片在视频画面中所处的位置信息。这样,根据所述位置信息和所述展示尺寸,便可以在视频画面中唯一确定出预设水印图片所占的区域。
S5:创建临时绘制标签,并将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中。
在本实施方式中,在将原始直播流和预设水印图片都通过各自的标签进行播放和展示后,便可以针对原始直播流的每一帧视频画面,添加对应的预设水印图片。具体地,在推流客户端内部可以创建临时绘制(Canvas)标签,该临时绘制标签的作用是依次绘制原始直播流的视频帧和预设水印图片,这样,原始直播流的视频帧位于临时绘制标签的下层,而预设水印图片位于临时绘制标签的上层,从而可以产生在视频帧上覆盖了预设水印图片的视觉效果。
在本实施方式中,为了依次绘制视频帧和预设水印图片,可以调用所述临时绘制标签中用于返回绘图环境的预设指令,所述预设指令例如可以是getContext()指令,所述getContext()指令可以返回一个用于在画布上绘图的环境。若要正常使用该指令,需要指定在画布上绘制的类型。具体地,在本实施方式中,绘制的类型为2d平面图像,那么该绘制的类型可以通过表征平面图像的参数来表示。例如,所述参数可以是“2d”。这样,在向所述预设指令传递用于表征平面图像的参数后,便可以获取所述临时视频标签对应的平面图像渲染对象CanvasRenderingContext2D。在一个应用示例中,所述平面图像渲染对象可以通过以下方式来表示:
TCC=TC.getContext(“2d”)
其中,TCC表示所述平面图像渲染对象的名称,TC表示所述临时绘制标签的名称,2d则可以表示所述表征平面图像的参数。
在本实施方式中,获取所述平面图像渲染对象后,可以通过所述平面图像渲染对象依次从所述临时视频标签和所述临时图片标签中分别获取所述当前视频帧和所述预设水印图片,并将获取的所述当前视频帧和所述预设水印图片绘制到所述临时绘制标签中。在一个应用示例中,所述平面图像渲染对象可以通过drawImage的绘图指令,依次向临时绘制标签中绘制所述当前视频帧和所述预设水印图片。具体地,可以按照以下方式通过平面图像渲染对象的绘图指令进行图片绘制:
TCC.drawImage(TV,0,0,TCW,TCH)
TCC.drawImage(TIM,WX,WY,WW,WH)
其中,TV表示所述临时视频标签的名称,(0,0)则表示当前视频帧的左上角顶点的坐标值,TCW和TCH分别表示所述当前视频帧的宽和高;TIM则表示所述临时图片标签的名称,(WX,WY)则表示所述预设水印图片的左上角顶点在当前视频帧的坐标系中的坐标值,WW和WH分别表示所述预设水印图片的宽和高。
由此可见,可以在所述平面图像渲染对象中标注所述临时视频标签TV、所述原始视频流中视频帧的尺寸信息(TCW和TCH)以及所述原始视频流中视频帧的起始位置信息(0,0),从而从所述临时视频标签中获取所述当前视频帧。同理,可以在所述平面图像渲染对象中标注所述临时图片标签TIM、所述预设水印图片的尺寸信息(WW和WH)以及所述预设水印图片的起始位置信息(WX,WY),从而可以从所述临时图片标签中获取所述预设水印图片。最终,可以将获取的所述当前视频帧和所述预设水印图片依次绘制到所述临时绘制标签中,从而形成覆盖了预设水印图片的当前视频帧。
请参阅图4,在一个实施方式中,上述对当前视频帧添加预设水印图片的过程,可以通过浏览器提供的页面工作对象WebWorker完成。具体地,推流客户端可以在内部调用浏览器提供的页面工作对象WebWorker,并通过所述页面工作对象WebWorker创建一个多线程MT,此外还可以预先准备与该多线程相对应的多线程脚本MTJS,并且在多线程脚本MTJS中编写好对应的预设业务逻辑。这样,在启动所述多线程MT后,可以通过所述多线程MT向预设脚本MTJS传递表征添加水印的指令,该指令中可以通过以下方式表示:
MT.postMessage(params)
其中,postMessage则可以表示所述表征添加水印的指令,params则可以表示该指令中携带的参数。
所述预设脚本MTJS接收到该指令后,可以响应于所述表征添加水印的指令,执行预先编写的所述预设业务逻辑,在执行完所述预设业务逻辑之后,便可以向所述多线程反馈通知信息。该通知信息可以表示预设脚本MTJS当前已经执行完成自身的业务逻辑,多线程MT可以开始进行添加水印的流程。这样,所述多线程MT响应于所述通知信息,可以将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中。
S7:获取所述临时绘制标签对应的画布视频流,并基于所述画布视频流和所述原始直播流,生成添加了水印的水印直播流,所述水印直播流用于通过WebRTC连接被发送至资源服务器。
在本实施方式中,所述临时绘制标签中可以按照上述的方式,不断产生添加了预设水印图片的视频帧,这些视频帧便可以构成画布视频流。由于临时绘制标签中只能进行视频画面的处理,而无法添加对应的音频信息。因此,可以将所述画布视频流与原始直播流的音频信息进行结合,从而形成具备声画信息的水印直播流。具体地,可以从所述原始直播流中提取音频轨道,并从所述画布视频流中提取视频轨道,然后将所述音频轨道和所述视频轨道合并,从而生成添加了水印的水印直播流。在一个应用示例中,可以通过以下指令获取原始直播流的音频轨道:
AT=OS.getAudioTracks()[0]
其中,AT表示提取的音频轨道,OS表示原始直播流的名称,getAudioTracks()表示提取音频轨道的指令,0表示首个可用的音频轨道。
此外,可以通过以下指令提取画布视频流的视频轨道:
VT=CS.getVideoTracks()[0]
其中,VT表示提取的视频轨道,CS表示画布视频流的名称,getVudioTracks()表示提取视频轨道的指令,0表示首个可用的视频轨道。
在提取到视频轨道和音频轨道后,可以按照以下方式,利用浏览器提供的MediaStream指令,将所述音频轨道和所述视频轨道合并为水印直播流:
WS=MediaStream([AT,VT])
其中,WS表示合并后的水印直播流的名称。
在本实施方式中,在生成所述水印直播流之后,便可以将所述水印直播流 通过WebRTC连接推送至资源服务器。具体地,请参阅图5,推流客户端可以利用浏览器提供的用于维护WebRTC连接的接口RTCPeerConnection创建连接对象Peer,并将所述水印直播流加入所述连接对象Peer中。然后,所述连接对象Peer便可以与资源服务器建立WebRTC连接,并通过所述WebRTC连接向所述资源服务器推送所述水印直播流的数据包。具体地,资源服务器可以开启UDP(User Datagram Protocol,用户数据报协议)端口或TCP(Transmission Control Protocol,传输控制协议)端口等待推流客户端推送的数据包。这样,推流客户端便可以实时向资源服务器的UDP端口或TCP端口发送水印直播流的音视频数据包。
在一个实施方式中,推流客户端在生成水印直播流之后,可以将该水印直播流实时展示在如图1所示的显示区域中。具体地,请结合图6,在生成所述水印直播流后,推流客户端可以创建显示视频标签,并将所述水印直播流加载至所述显示视频标签中。其中,该显示视频标签的播放属性可以设置为可见,这样,主播在外部便可以直接观看到水印直播流的画面。然后,推流客户端可以创建内部容器(内部div,内部division),并将所述显示视频标签中加载的水印直播流展示于所述内部容器(内部div)中。然后,浏览器页面可以通过回调展示所述水印直播流的所述内部容器(内部div),从而将展示所述水印直播流的所述内部容器(内部div)填充于预先在所述浏览器页面中设置的外部容器(页面div)内。所述外部容器(页面div)可以在图1所示的显示区域中自定义画面展示的效果样式。由上可见,在图6中,临时视频标签中的内容是无法从外部观看到的,并且设置的是静音播放,其主要作用是在静音播放原始直播流时,由平面图像绘制对象捕捉一帧一帧的视频画面。而显示视频标签中的水印直播流可以在显示区域中被看到,从而可以用于预览添加了水印的视频画面。所述内部div的作用是用于存放水印直播流,并且可以被回调至页面端。而在页面端的显示区域中预先设置的页面div,则可以将内部div嵌入其中,从而可以在显示区域中展示出最终的水印直播流的视频画面。
本申请还提供一种推流客户端,所述推流客户端包括:
原始直播流采集单元,用于采集原始直播流,并将所述原始直播流加载至临时视频标签中,以通过所述临时视频标签播放所述原始直播流;
水印图片加载单元,用于创建临时图片标签,并将预设水印图片加载至所 述临时图片标签中;
图片绘制单元,用于创建临时绘制标签,并将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中;
水印直播流生成单元,用于获取所述临时绘制标签对应的画布视频流,并基于所述画布视频流和所述原始直播流,生成添加了水印的水印直播流,所述水印直播流用于通过WebRTC连接被发送至资源服务器。
在一个实施方式中,所述水印图片加载单元包括:
地址关联模块,用于将所述预设水印图片的加载地址关联至所述临时图片标签中,以使得所述临时图片标签按照所述加载地址加载所述预设水印图片。
在一个实施方式中,所述图片绘制单元包括:
页面工作对象调用模块,用于调用浏览器提供的页面工作对象,并通过所述页面工作对象创建多线程;
指令传递模块,用于启动所述多线程,以通过所述多线程向预设脚本传递表征添加水印的指令;其中,所述预设脚本响应于所述表征添加水印的指令,执行完预设业务逻辑后,向所述多线程反馈通知信息,以使得所述多线程响应于所述通知信息,将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中。
在一个实施方式中,所述图片绘制单元包括:
平面图像渲染对象获取模块,用于调用所述临时绘制标签中用于返回绘图环境的预设指令,并向所述预设指令传递用于表征平面图像的参数,以获取所述临时绘制标签对应的平面图像渲染对象;
绘制模块,用于通过所述平面图像渲染对象依次从所述临时视频标签和所述临时图片标签中分别获取所述当前视频帧和所述预设水印图片,并将获取的所述当前视频帧和所述预设水印图片绘制到所述临时绘制标签中。
在一个实施方式中,所述绘制模块包括:
视频信息标注模块,用于在所述平面图像渲染对象中标注所述临时视频标签、所述原始视频流中视频帧的尺寸信息以及所述原始视频流中视频帧的起始位置信息,以从所述临时视频标签中获取所述当前视频帧;
图片信息标注模块,用于在所述平面图像渲染对象中标注所述临时图片标 签、所述预设水印图片的尺寸信息以及所述预设水印图片的起始位置信息,以从所述临时图片标签中获取所述预设水印图片。
请参阅图7,本申请还提供一种推流客户端,所述推流客户端包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的WebRTC中的直播流处理方法。具体地,如图7所示,在硬件层面,该推流客户端可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述识别装置的结构造成限定。例如,所述推流客户端还可包括比图7中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(Graphics Processing Unit,图像处理器),或者具有与图7所示不同的配置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。
在本实施方式中,所述的处理器可以包括中央处理器(CPU)或图形处理器(GPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不错限定。
需要说明的是,本说明书中的推流客户端,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。
由上可见,本申请提供的技术方案,推流客户端在采集到原始直播流后,可以将该原始直播流加载于预先创建的临时视频标签中,该临时视频标签可以自动播放所述原始直播流。在本申请中,可以通过向原始直播流中添加水印图片的方式,来显示该原始直播流的版权。具体地,通过创建临时图片标签,可以将预设水印图片加载至该临时图片标签处,后续,可以基于创建的临时绘制标签,依次从临时视频标签和临时图片标签中分别获取原始视频流的当前视频帧和预设水印图片,并将当前视频帧和预设水印图片依次绘制于该临时绘制标签中,从而针对每一帧视频画面,都可以添加对应的预设水印图片。这样,临 时绘制标签中会不断产生添加了水印图片的视频帧,这些视频帧便可以构成画布直播流。最终,基于所述画布视频流和所述原始直播流,便可以生成添加了水印的水印直播流,该水印直播流可以通过WebRTC连接推送至资源服务器。这样,后续在网络中传输的直播视频流都会带有预设水印图片,从而体现了直播视频流的版权信息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

  1. 一种WebRTC中的直播流处理方法,其特征在于,所述方法应用于推流客户端中,所述方法包括:
    采集原始直播流,并将所述原始直播流加载至临时视频标签中,以通过所述临时视频标签播放所述原始直播流;
    创建临时图片标签,并将预设水印图片加载至所述临时图片标签中;
    创建临时绘制标签,并将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中;
    获取所述临时绘制标签对应的画布视频流,并基于所述画布视频流和所述原始直播流,生成添加了水印的水印直播流,所述水印直播流用于通过WebRTC连接被发送至资源服务器。
  2. 根据权利要求1所述的方法,其特征在于,通过所述临时视频标签播放所述原始直播流包括:
    将所述临时视频标签设置为不可见,并通过所述临时视频标签静音播放所述原始直播流。
  3. 根据权利要求1所述的方法,其特征在于,将预设水印图片加载至所述临时图片标签中包括:
    将所述预设水印图片的加载地址关联至所述临时图片标签中,以使得所述临时图片标签按照所述加载地址加载所述预设水印图片。
  4. 根据权利要求1或3所述的方法,其特征在于,将预设水印图片加载至所述临时图片标签中时,所述方法还包括:
    在所述临时图片标签中设置所述预设水印图片的展示尺寸以及所述预设水印图片在视频画面中所处的位置信息。
  5. 根据权利要求1所述的方法,其特征在于,将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标 签中包括:
    调用浏览器提供的页面工作对象,并通过所述页面工作对象创建多线程;
    启动所述多线程,以通过所述多线程向预设脚本传递表征添加水印的指令;其中,所述预设脚本响应于所述表征添加水印的指令,执行完预设业务逻辑后,向所述多线程反馈通知信息;
    所述多线程响应于所述通知信息,将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中。
  6. 根据权利要求1或5所述的方法,其特征在于,将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中包括:
    调用所述临时绘制标签中用于返回绘图环境的预设指令,并向所述预设指令传递用于表征平面图像的参数,以获取所述临时绘制标签对应的平面图像渲染对象;
    通过所述平面图像渲染对象依次从所述临时视频标签和所述临时图片标签中分别获取所述当前视频帧和所述预设水印图片,并将获取的所述当前视频帧和所述预设水印图片绘制到所述临时绘制标签中。
  7. 根据权利要求6所述的方法,其特征在于,通过所述平面图像渲染对象依次从所述临时视频标签和所述临时图片标签中分别获取所述当前视频帧和所述预设水印图片包括:
    在所述平面图像渲染对象中标注所述临时视频标签、所述原始视频流中视频帧的尺寸信息以及所述原始视频流中视频帧的起始位置信息,以从所述临时视频标签中获取所述当前视频帧;
    在所述平面图像渲染对象中标注所述临时图片标签、所述预设水印图片的尺寸信息以及所述预设水印图片的起始位置信息,以从所述临时图片标签中获取所述预设水印图片。
  8. 根据权利要求1所述的方法,其特征在于,基于所述画布视频流和所述原始直播流,生成添加了水印的水印直播流包括:
    从所述原始直播流中提取音频轨道,并从所述画布视频流中提取视频轨道;
    将所述音频轨道和所述视频轨道合并,以生成添加了水印的水印直播流。
  9. 根据权利要求1所述的方法,其特征在于,在生成添加了水印的水印直播流之后,所述方法还包括:
    利用浏览器提供的用于维护WebRTC连接的接口创建连接对象,并将所述水印直播流加入所述连接对象中;
    所述连接对象与资源服务器建立WebRTC连接,并通过所述WebRTC连接向所述资源服务器推送所述水印直播流的数据包。
  10. 根据权利要求1所述的方法,其特征在于,在生成添加了水印的水印直播流之后,所述方法还包括:
    创建显示视频标签,并将所述水印直播流加载至所述显示视频标签中;
    创建内部容器,并将所述显示视频标签中加载的水印直播流展示于所述内部容器中;
    浏览器页面回调展示所述水印直播流的所述内部容器,以将展示所述水印直播流的所述内部容器填充于预先在所述浏览器页面中设置的外部容器内。
  11. 一种推流客户端,其特征在于,所述推流客户端包括:
    原始直播流采集单元,用于采集原始直播流,并将所述原始直播流加载至临时视频标签中,以通过所述临时视频标签播放所述原始直播流;
    水印图片加载单元,用于创建临时图片标签,并将预设水印图片加载至所述临时图片标签中;
    图片绘制单元,用于创建临时绘制标签,并将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中;
    水印直播流生成单元,用于获取所述临时绘制标签对应的画布视频流,并基于所述画布视频流和所述原始直播流,生成添加了水印的水印直播流,所述水印直播流用于通过WebRTC连接被发送至资源服务器。
  12. 根据权利要求11所述的推流客户端,其特征在于,所述水印图片加载单元包括:
    地址关联模块,用于将所述预设水印图片的加载地址关联至所述临时图片标签中,以使得所述临时图片标签按照所述加载地址加载所述预设水印图片。
  13. 根据权利要求11所述的推流客户端,其特征在于,所述图片绘制单元包括:
    页面工作对象调用模块,用于调用浏览器提供的页面工作对象,并通过所述页面工作对象创建多线程;
    指令传递模块,用于启动所述多线程,以通过所述多线程向预设脚本传递表征添加水印的指令;其中,所述预设脚本响应于所述表征添加水印的指令,执行完预设业务逻辑后,向所述多线程反馈通知信息,以使得所述多线程响应于所述通知信息,将所述临时视频标签中的当前视频帧以及所述临时图片标签中的所述预设水印图片绘制到所述临时绘制标签中。
  14. 根据权利要求11或13所述的推流客户端,其特征在于,所述图片绘制单元包括:
    平面图像渲染对象获取模块,用于调用所述临时绘制标签中用于返回绘图环境的预设指令,并向所述预设指令传递用于表征平面图像的参数,以获取所述临时绘制标签对应的平面图像渲染对象;
    绘制模块,用于通过所述平面图像渲染对象依次从所述临时视频标签和所述临时图片标签中分别获取所述当前视频帧和所述预设水印图片,并将获取的所述当前视频帧和所述预设水印图片绘制到所述临时绘制标签中。
  15. 根据权利要求14所述的推流客户端,其特征在于,所述绘制模块包括:
    视频信息标注模块,用于在所述平面图像渲染对象中标注所述临时视频标签、所述原始视频流中视频帧的尺寸信息以及所述原始视频流中视频帧的起始位置信息,以从所述临时视频标签中获取所述当前视频帧;
    图片信息标注模块,用于在所述平面图像渲染对象中标注所述临时图片标签、所述预设水印图片的尺寸信息以及所述预设水印图片的起始位置信息,以 从所述临时图片标签中获取所述预设水印图片。
  16. 一种推流客户端,其特征在于,所述推流客户端包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至10中任一所述的方法。
PCT/CN2018/120099 2018-11-20 2018-12-10 一种WebRTC中的直播流处理方法及推流客户端 WO2020103218A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/285,747 US20220007083A1 (en) 2018-11-20 2018-12-10 Method and stream-pushing client for processing live stream in webrtc
EP18940831.3A EP3883256A4 (en) 2018-11-20 2018-12-10 METHOD OF PROCESSING A LIVE STREAM AT A WEBRTC AND STREAM PUSHING CLIENT

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811385153.7 2018-11-20
CN201811385153.7A CN109327727B (zh) 2018-11-20 2018-11-20 一种WebRTC中的直播流处理方法及推流客户端

Publications (1)

Publication Number Publication Date
WO2020103218A1 true WO2020103218A1 (zh) 2020-05-28

Family

ID=65258411

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/120099 WO2020103218A1 (zh) 2018-11-20 2018-12-10 一种WebRTC中的直播流处理方法及推流客户端

Country Status (4)

Country Link
US (1) US20220007083A1 (zh)
EP (1) EP3883256A4 (zh)
CN (1) CN109327727B (zh)
WO (1) WO2020103218A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109982132A (zh) * 2019-04-23 2019-07-05 姚耀 一种音视频远程双录系统
CN110457624A (zh) * 2019-06-26 2019-11-15 网宿科技股份有限公司 视频生成方法、装置、服务器及存储介质
US10984067B2 (en) 2019-06-26 2021-04-20 Wangsu Science & Technology Co., Ltd. Video generating method, apparatus, server, and storage medium
CN110536143A (zh) * 2019-07-11 2019-12-03 网宿科技股份有限公司 推流方法与电子设备
CN111796818B (zh) * 2019-10-16 2022-11-29 厦门雅基软件有限公司 多媒体文件的制作方法、装置、电子设备及可读存储介质
US11734784B2 (en) * 2019-11-14 2023-08-22 Sony Interactive Entertainment Inc. Metadata watermarking for ‘nested spectating’
CN111031331A (zh) * 2019-11-25 2020-04-17 深圳智播科技有限公司 一种直播内容被多方控制的方法
CN111343477B (zh) * 2020-03-09 2022-05-06 北京达佳互联信息技术有限公司 数据传输方法、装置、电子设备及存储介质
CN111935443B (zh) * 2020-10-12 2021-01-22 融智通科技(北京)股份有限公司 一种视频会议实时直播分享到即时通讯工具的方法和装置
CN112333558B (zh) * 2020-10-27 2022-06-10 江苏税软软件科技有限公司 视频文件的水印处理方法
CN112616093A (zh) * 2020-12-14 2021-04-06 重庆紫光华山智安科技有限公司 一种视频水印添加方法、系统、介质及电子终端
CN112839192A (zh) * 2021-01-20 2021-05-25 青岛以萨数据技术有限公司 基于浏览器的音视频通讯系统及方法
EP4352951A1 (en) * 2021-05-21 2024-04-17 Technologies Crewdle Inc. Peer-to-peer conferencing system and method
CN114222149A (zh) * 2021-11-17 2022-03-22 武汉斗鱼鱼乐网络科技有限公司 一种推流方法、装置、介质及计算机设备
CN114584798A (zh) * 2022-03-02 2022-06-03 深圳禾苗通信科技有限公司 私人订制直播方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379325A (zh) * 2012-04-19 2013-10-30 常熟南师大发展研究院有限公司 一种面向版权保护服务的视频地理数据数字水印方法
CN105451035A (zh) * 2015-11-13 2016-03-30 北京光慧鸿途科技股份有限公司 防止视频版权保护图标删、改的视频显示方法及系统
US20180285537A1 (en) * 2017-03-30 2018-10-04 Cisco Technology, Inc. Difference attack protection
CN108810654A (zh) * 2018-07-12 2018-11-13 武汉斗鱼网络科技有限公司 一种水印添加方法、装置及电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9380356B2 (en) * 2011-04-12 2016-06-28 The Nielsen Company (Us), Llc Methods and apparatus to generate a tag for media content
US20130101115A1 (en) * 2011-10-19 2013-04-25 Playnsite, Llc Method, apparatus, and system for processing and delivering media content
US8818021B2 (en) * 2012-09-24 2014-08-26 Mobitv, Inc. Watermarking of digital video
CN103873954A (zh) * 2012-12-13 2014-06-18 航天信息股份有限公司 将不见数字水印嵌入到流媒体的方法、装置和系统
EP2797333A1 (en) * 2013-04-26 2014-10-29 Nagravision S.A. Method for watermarking media content and system for implementing this method
US9426336B2 (en) * 2013-10-02 2016-08-23 Fansmit, LLC System and method for tying audio and video watermarks of live and recorded events for simulcasting alternative audio commentary to an audio channel or second screen
CN103763578A (zh) * 2014-01-10 2014-04-30 北京酷云互动科技有限公司 一种节目关联信息推送方法和装置
US9299119B2 (en) * 2014-02-24 2016-03-29 Disney Enterprises, Inc. Overlay-based watermarking for video synchronization with contextual data
US20180091860A1 (en) * 2015-04-24 2018-03-29 Koninklijke Kpn N.V. Enhancing A Media Recording Comprising A Camera Recording
CN105898622A (zh) * 2015-10-29 2016-08-24 乐视致新电子科技(天津)有限公司 一种视频数字版权保护方法及系统
CN105848009A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种视频直播方法及装置
US20170334234A1 (en) * 2016-05-19 2017-11-23 Atlanta DTH, Inc. System and Method for Identifying the Source of Counterfeit Copies of Multimedia Works Using Layered Simple Digital Watermarks
CN105933724A (zh) * 2016-05-23 2016-09-07 福建星网视易信息系统有限公司 视频制作方法、装置及系统
GB2551113A (en) * 2016-05-27 2017-12-13 Grypp Corp Ltd Interactive display synchronisation
KR101860129B1 (ko) * 2016-06-10 2018-05-21 비비엠씨 (주) 플레이어의 보안 장치 및 이를 포함하는 스트리밍 보안 시스템
CN106911936B (zh) * 2017-03-01 2020-04-28 北京牡丹电子集团有限责任公司数字电视技术中心 动态静态视频流图片覆盖方法
WO2018200705A1 (en) * 2017-04-25 2018-11-01 Crawford Terry Method and system for watermarking video media to trace video distribution
US20220417617A1 (en) * 2017-06-21 2022-12-29 Verance Corporation Watermark-based metadata acquisition and processing
CN107317815A (zh) * 2017-07-04 2017-11-03 上海鋆创信息技术有限公司 一种视频叠加的方法及装置、存储介质和终端
CN107360160A (zh) * 2017-07-12 2017-11-17 广州华多网络科技有限公司 直播视频与动画融合方法、装置及终端设备
CN107464206A (zh) * 2017-07-26 2017-12-12 维沃移动通信有限公司 一种水印添加方法及移动终端
CN107610036B (zh) * 2017-09-26 2021-09-07 武汉斗鱼网络科技有限公司 一种输出直播标识图片的方法、装置及计算机设备
CN107885848B (zh) * 2017-11-10 2020-10-16 杭州美创科技有限公司 基于web技术的网页截屏方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379325A (zh) * 2012-04-19 2013-10-30 常熟南师大发展研究院有限公司 一种面向版权保护服务的视频地理数据数字水印方法
CN105451035A (zh) * 2015-11-13 2016-03-30 北京光慧鸿途科技股份有限公司 防止视频版权保护图标删、改的视频显示方法及系统
US20180285537A1 (en) * 2017-03-30 2018-10-04 Cisco Technology, Inc. Difference attack protection
CN108810654A (zh) * 2018-07-12 2018-11-13 武汉斗鱼网络科技有限公司 一种水印添加方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3883256A4 *

Also Published As

Publication number Publication date
EP3883256A1 (en) 2021-09-22
US20220007083A1 (en) 2022-01-06
CN109327727A (zh) 2019-02-12
CN109327727B (zh) 2020-11-27
EP3883256A4 (en) 2022-03-23

Similar Documents

Publication Publication Date Title
WO2020103218A1 (zh) 一种WebRTC中的直播流处理方法及推流客户端
US11218739B2 (en) Live video broadcast method, live broadcast device and storage medium
RU2711591C1 (ru) Способ, устройство и компьютерная программа для адаптивной потоковой передачи мультимедийного контента виртуальной реальности
WO2017084281A1 (zh) 全景视频的显示方法和装置
WO2019192351A1 (zh) 短视频拍摄方法、装置及电子终端
US11418832B2 (en) Video processing method, electronic device and computer-readable storage medium
CN108989830A (zh) 一种直播方法、装置、电子设备及存储介质
CN111414225B (zh) 三维模型远程展示方法、第一终端、电子设备及存储介质
TWI784942B (zh) 播放中影片的擷取方法及裝置
US20140087877A1 (en) Compositing interactive video game graphics with pre-recorded background video content
CN110505511B (zh) 一种在网页中播放视频的方法、装置、系统及计算设备
CN109829964B (zh) Web增强现实的渲染方法和装置
WO2018000619A1 (zh) 一种数据展示方法、装置、电子设备与虚拟现实设备
CN111541930A (zh) 直播画面的显示方法、装置、终端及存储介质
WO2019227429A1 (zh) 多媒体内容生成方法、装置和设备/终端/服务器
US20170142389A1 (en) Method and device for displaying panoramic videos
CN113535063A (zh) 直播页面切换方法、视频页面切换方法、电子设备及存储介质
CN114245228B (zh) 页面链接投放方法、装置及电子设备
CA3001474A1 (en) Video-production system with metadata-based dve feature
US11438731B2 (en) Method and apparatus for incorporating location awareness in media content
CN114339363B (zh) 画面切换处理方法、装置、计算机设备和存储介质
KR101915792B1 (ko) 얼굴인식을 이용한 광고 삽입 시스템 및 방법
CN113315982A (zh) 一种直播方法、计算机存储介质及设备
WO2021088973A1 (zh) 直播流显示方法、装置、电子设备及可读存储介质
CN113038225B (zh) 视频播放方法、装置、计算设备以及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18940831

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018940831

Country of ref document: EP

Effective date: 20210618