WO2019007027A1 - Video playing method and system, electronic device and readable storage medium - Google Patents

Video playing method and system, electronic device and readable storage medium Download PDF

Info

Publication number
WO2019007027A1
WO2019007027A1 PCT/CN2018/072552 CN2018072552W WO2019007027A1 WO 2019007027 A1 WO2019007027 A1 WO 2019007027A1 CN 2018072552 W CN2018072552 W CN 2018072552W WO 2019007027 A1 WO2019007027 A1 WO 2019007027A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
video
service
encoding
messaging server
Prior art date
Application number
PCT/CN2018/072552
Other languages
French (fr)
Chinese (zh)
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 武汉斗鱼网络科技有限公司
Publication of WO2019007027A1 publication Critical patent/WO2019007027A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440236Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally

Definitions

  • the present invention relates to the field of data communication technologies, and in particular, to a video broadcast method, system, electronic device, and readable storage medium.
  • the video broadcast system generally includes a display module for displaying the multi-channel video for the user and encoding the video selected by the user. Out of the broadcast module.
  • both the display module and the playout module work in the same computer device.
  • both modules need to consume a large amount of computer resources, and the computer device has performance. Bottlenecks may not be able to do so, which can affect the quality of video broadcasts.
  • an object of the present invention is to provide a video broadcast method, system, electronic device, and readable storage medium, which are applied to a video playout system including a broadcast terminal and an encoding terminal, Methods include:
  • the navigation terminal provides a video display interface configured to display at least one video source
  • the encoding terminal encodes and broadcasts the received video stream data.
  • the step of sending the video stream data corresponding to the video source selected by the user to the encoding terminal includes:
  • the navigation terminal invokes a video receiving service of the encoding terminal through a remote procedure call protocol, and sends the video stream data to an interface of a video receiving service of the encoding terminal.
  • the video playout system further includes a message delivery server that communicates with the coding terminal and the coding terminal respectively; the navigation terminal invokes a video of the coding terminal by using a remote procedure call protocol.
  • the steps to receive the service include:
  • the navigation terminal acquires video stream data corresponding to the selected video source
  • the broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server through a remote procedure call protocol, where the remote call function includes a video receiving service in the encoding terminal that needs to be called;
  • the message delivery server forwards the call request to the encoding terminal, and invokes the video receiving service, so that the encoding terminal receives the video stream data sent by the guiding terminal.
  • the remote procedure call protocol service is established in the message delivery server in advance; the method further includes:
  • the navigation terminal establishes a communication connection with the messaging server, so that the navigation terminal acts as a client of the remote procedure call protocol in the messaging server;
  • the encoding terminal establishes a communication connection with the message delivery server such that the navigation terminal acts as another client of the remote procedure call protocol in the messaging server.
  • the step of establishing a remote procedure call protocol service in the messaging server in advance comprises:
  • the step of the communication terminal establishing a communication connection with the messaging server includes:
  • the step of the encoding terminal establishing a communication connection with the message delivery server includes:
  • the method further includes:
  • the registration function is executed in the messaging server to register the video receiving service into a list of the remote procedure call protocol service functions.
  • the step of the broadcast terminal transmitting the video stream data corresponding to the video source selected by the user to the encoding terminal in response to the user selection operation comprises:
  • the video stream data corresponding to the video source selected by the user is obtained by the observer interface of the decoding process to obtain video stream data corresponding to the video source selected by the user.
  • the method further includes:
  • the navigation terminal invokes the start broadcast service of the encoding terminal or stops the broadcast service through a remote procedure call protocol, so that the encoding terminal starts or stops encoding and broadcasting the received video stream data.
  • the step of the broadcast terminal calling the start broadcast service or the stop play service of the encoding terminal by using a remote procedure call protocol includes:
  • the broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server by using a remote procedure call protocol, where the remote call function includes a start broadcast service or a stop broadcast service in the coding terminal that needs to be called. ;
  • the messaging server forwards the call request to the encoding terminal, invokes the start broadcast service or stops the broadcast service, so that the encoding terminal starts or stops encoding and broadcasting the received video stream data.
  • the method further includes:
  • Another object of the present invention is to provide a video broadcast system, including a broadcast terminal and an encoding terminal.
  • the navigation terminal is configured to provide a video display interface to display at least one video source; and, in response to the user selection operation, send video stream data corresponding to the video source selected by the user to the encoding terminal;
  • the encoding terminal is configured to encode and play the received video stream data.
  • the manner in which the video stream data of the broadcast terminal is sent to the encoding terminal includes:
  • the video receiving service of the encoding terminal is invoked by a remote procedure call protocol, and the video stream data is transmitted to an interface of a video receiving service of the encoding terminal.
  • the broadcast terminal is further configured to invoke the start broadcast service or stop the broadcast service of the encoding terminal by using a remote procedure call protocol, so that the encoding terminal starts or stops the received video.
  • the stream data is encoded and broadcast.
  • system further includes a message delivery server that separately communicates with the navigation terminal and the encoding terminal;
  • the broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server by using a remote procedure call protocol, where the remote call function includes a video receiving service in the encoding terminal that needs to be called, starts a broadcast service, or Stop the broadcast service;
  • the messaging server forwards the call request to the encoding terminal, invokes the video receiving service, starts a playout service, or stops the playout service.
  • a remote procedure call protocol service is established in the message delivery server in advance; the method further includes:
  • the navigation terminal establishes a communication connection with the messaging server, so that the navigation terminal acts as a client of the messaging server;
  • the encoding terminal establishes a communication connection with the message delivery server, so that the navigation terminal acts as another client of the message delivery server;
  • the step of establishing a remote procedure call protocol service in the messaging server in advance comprises:
  • the step of the communication terminal establishing a communication connection with the messaging server includes:
  • the step of the encoding terminal establishing a communication connection with the message delivery server includes:
  • the method further includes:
  • the registration function is executed in the messaging server to register the video receiving service into a list of the remote procedure call protocol service functions.
  • the step of the broadcast terminal transmitting the video stream data corresponding to the video source selected by the user to the encoding terminal in response to the user selection operation comprises:
  • the video stream data corresponding to the video source selected by the user is obtained by the decoding process observer interface, so as to obtain data before the video stream corresponding to the video source selected by the user is not decoded.
  • Another object of the present invention is to provide an electronic device including a memory and a processor for storing executable program code, the processor for reading executables stored in the memory
  • the program code causes the electronic device to perform the above-described video playout method as the above-described broadcast terminal and/or decoding terminal.
  • Another object of the present invention is to provide a readable storage medium having instructions stored therein that, when executed on a computer, cause the computer to perform the above operation as the navigation terminal and/or the decoding terminal Video broadcast method.
  • the present invention has the following beneficial effects:
  • the video broadcast method, system, electronic device and readable storage medium provided by the invention separate the display and encoding broadcast work of the multi-channel video into different execution terminals during the video broadcast process through distributed design, In this way, the video playout system can coordinately run on different terminals, and the performance bottleneck problem when the broadcast system runs on the same terminal.
  • FIG. 1 is a schematic diagram of a video playout system according to an embodiment of the present invention
  • FIG. 2 is a flow chart of steps of a video playing method according to an embodiment of the present invention.
  • FIG. 3 is a second schematic diagram of a video playout system according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic flowchart showing the steps of a video playing method according to an embodiment of the present invention.
  • Icons 10-video broadcast system; 100-guided terminal; 200-encoded terminal; 300-message delivery server; 400-network.
  • the terms “set”, “install”, “connected”, and “connected” are to be understood broadly, and may be fixed connections, for example, unless otherwise specifically defined and defined. It can also be a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium, and can be internal communication between the two elements.
  • the specific meaning of the above terms in the present invention can be understood in a specific case by those skilled in the art.
  • FIG. 1 is a video playout system 10 according to a preferred embodiment of the present invention.
  • the system includes a broadcast terminal 100 and an encoding terminal 200.
  • the broadcast terminal 100 can be connected to the encoding terminal 200 through the network 400.
  • Communication, in this implementation, the network 400 can be a wireless network or a wired network.
  • the broadcast terminal 100 is configured to display at least one video source for playing, and configured to use the video source selected by the user as the broadcasted video source in response to the user operation.
  • the encoding terminal 200 is configured to encode and play the video source selected by the guiding terminal 100.
  • the navigation terminal 100 may be, but not limited to, a server, a personal computer (PC), a smart phone, a tablet computer, a personal digital assistant (PDA), and a mobile internet device ( Mobile Internet device, MID), etc.
  • PC personal computer
  • PDA personal digital assistant
  • MID mobile internet device
  • the navigation terminal 100 can include a display device configured to display the at least one video source and an input device configured to receive user operations.
  • the display device may include a display and a projector, and the input device may include a keyboard, a mouse, and the like; the display device and the input device may also be integrated into a form of a touch display.
  • FIG. 2 is a video broadcast method applied to the video playout system 10 of FIG. 1, and the steps including the steps will be described in detail below.
  • step S110 the navigation terminal 100 provides a video display interface configured to display at least one video source.
  • the navigation terminal 100 can display the at least one video source through the display device.
  • the video source may be a live video source.
  • step S120 the navigation terminal 100 sends the video stream data corresponding to the video source selected by the user to the encoding terminal 200 in response to the user selection operation.
  • the navigation terminal 100 can receive the user's selection operation through the input device, and use the video source selected by the user as the video source to be broadcasted, and the video stream corresponding to the video source to be broadcasted. Data is transmitted to the encoding terminal 200.
  • the encoding terminal 200 includes a video receiving service configured to receive video stream data.
  • the broadcast terminal 100 can call the video receiving service of the encoding terminal 200 by using a remote procedure call protocol (RPC), and send the video stream data to an interface corresponding to the video receiving service of the encoding terminal 200.
  • RPC remote procedure call protocol
  • the encoding terminal 200 needs to pass the remote procedure calling protocol when calling the video receiving service of the encoding terminal 200.
  • the video playout system 10 further includes a message delivery server 300 configured to perform message delivery between the broadcast terminal 100 and the encoding terminal 200.
  • the broadcast terminal 100 can establish a TCP connection with the information messaging server 300 as a client, and the encoding terminal 200 can also establish a TCP connection between the client and the messaging server 300. Therefore, the message transmission between the encoding terminal 200 and the navigation terminal 100 can be transited by the message delivery server 300.
  • the remote procedure call protocol service may be established in the messaging server 300, and the IP address of the messaging server 300 and the selected port may be introduced.
  • the client of the remote procedure call protocol is established in the navigation terminal 100 and the encoding terminal 200, respectively, and the IP address and the port used by the messaging server 300 are respectively transmitted in the navigation terminal 100 and the encoding terminal 200. And establishing a connection between the navigation terminal 100 and the messaging server 300 and a connection between the encoding terminal 200 and the messaging server 300.
  • a registration function may be executed in the navigation terminal 100 to register the video receiving service in a list of remote procedure call protocol service functions.
  • RpcRegisterProcedure may be adopted in the navigation terminal 100.
  • On_demux_packet registers the video receiving service, wherein on_demux_packet is the video receiving service.
  • a corresponding function may be executed in the messaging server 300 to register the video receiving service into a list of remote procedure call protocol service functions, so that the messaging server 300 can forward the request of the video receiving service.
  • the video receiving service may be registered in the messaging server 300 by RpcRegisterProcedureIntoServer ("on_demux_packet").
  • the broadcast terminal 100 can invoke the video receiving service of the encoding terminal 200 through a remote procedure call protocol.
  • the guiding terminal 100 may first acquire video stream data corresponding to the selected video source.
  • the navigation terminal 100 calls the add Decoding Listener method to decode the data before the video stream corresponding to the selected video source is not decoded.
  • the interface is registered in the current video source, and the video stream data corresponding to the current video source can be obtained through the on Before Decode Packet callback method of the interface.
  • the broadcast terminal 100 executes a remote call function Rpc Call Procedure ("on_demux_packet"), and sends a remote call request to the message delivery server 300 through a remote procedure call protocol, the remote call function including the encoding terminal 200 that needs to be called.
  • Rpc Call Procedure on_demux_packet
  • the selected video stream data enters the on Before Decode Packet function during playback by the IMedia Decoding Listener interface registered in the previous step, and then the remote call function is called in the function.
  • the Rpc Call Procedure (“on_demux_packet") transmits the video stream data to the interface of the video receiving service corresponding to the encoding terminal 200.
  • the message delivery server 300 forwards the call request to the encoding terminal 200, and invokes the video receiving service, so that the encoding terminal 200 receives the video stream corresponding to the selected video source sent by the guiding terminal 100. data.
  • Step S130 the encoding terminal 200 encodes and broadcasts the received video stream data.
  • the encoding terminal 200 receives the video stream data through an interface of a video receiving service, adds the video stream data to a decoding queue for decoding, and then re-encodes and broadcasts.
  • the method provided in this embodiment separates the display and encoding and broadcasting of the multi-channel video into different execution terminals during the video broadcast process through the distributed design, so that the video playout system 10 can Coordinated operation on different terminals solves the performance bottleneck problem when the broadcast system runs on the same terminal.
  • the method may further include step S210 and step S220.
  • Step S210 the navigation terminal 100 executes a remote calling function, and sends a remote calling request to the messaging server 300 through a remote procedure calling protocol, where the remote calling function includes starting broadcast in the encoding terminal 200 that needs to be called. Service or stop the broadcast service.
  • the start broadcast service or the stop broadcast service may be registered in the encoding terminal 200 and the message delivery server 300 in advance.
  • a registration function may be performed in the navigation terminal 100 in advance to register the start playout service or the stop playout service into a list of remote procedure call protocol service functions.
  • the start playout service may be registered in the guide terminal 100 by an Rpc Register Procedure ("begin_broadcast") function, where begin_broadcast is the start playout service; the Rpc Register may be passed in the guide terminal 100.
  • the Procedure (“stop_broadcast”) function registers the stop playout service, wherein stop_broadcast is the stop playout service.
  • a registration function may be executed in the messaging server 300 in advance, and the start broadcast service or the stop play service is registered in a list of remote procedure call protocol service functions, so that the message delivery server 300 may forward the request to start the broadcast service or stop the broadcast service.
  • the start playout service may be registered in the messaging server 300 by an Rpc Register Procedure ("begin_broadcast") function; the Rpc Register Procedure ("stop_broadcast” may be passed in the messaging server 300)
  • the function registers the stop broadcast service.
  • the broadcast terminal 100 may invoke the start broadcast service or stop the broadcast service of the encoding terminal 200 through a remote procedure call protocol.
  • the navigation terminal 100 calls an Rpc Call Procedure ("begin_broadcast”) function to notify the encoding terminal 200 to perform live broadcast.
  • begin_broadcast an Rpc Call Procedure
  • the broadcast terminal 100 invokes an Rpc Call Procedure ("stop_broadcast”) function to notify the encoding terminal 200 to end the live broadcast.
  • stop_broadcast an Rpc Call Procedure
  • Step S220 the message delivery server 300 forwards the call request to the encoding terminal 200, invokes the start broadcast service or stops the broadcast service, so that the encoding terminal 200 starts or stops the received video stream.
  • the data is encoded and broadcast.
  • the encoding terminal 200 executes a set_broadcast_enable(true) function of the Live Encoder in the begin_broadcast function to start video broadcasting.
  • the encoding terminal 200 executes a set_broadcast_enable (false) function of the Live Encoder in the stop_broadcast function to stop the video broadcast.
  • the navigation terminal 100 can call the start broadcast service or stop the broadcast service of the encoding terminal 200 through a remote procedure call protocol, and can conveniently control the video broadcast.
  • An embodiment of the present invention further provides an electronic device, where the electronic device includes a memory and a processor, the memory is configured to store executable program code, and the processor is configured to read an executable program stored in the memory.
  • the code causes the electronic device to perform the above-described video playout method as the above-described broadcast terminal and/or decoding terminal.
  • the electronic device may be a broadcast terminal or a decoding terminal in the above video playout system.
  • the electronic device may include a processor and a memory, the memory may be used to store executable program code, and the processor is configured to read executable program code stored in the memory, where The execution program code is executed by the processor such that the electronic device can perform the above-described video playout method as a broadcast terminal or a decoding terminal.
  • the functionality of the electronic device if implemented in the form of a software functional module and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a processor in an electronic device to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium may include: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. medium.
  • the embodiment of the invention further provides a readable storage medium, wherein the readable storage medium stores instructions for executing the video as the navigation terminal and/or the decoding terminal when the instruction is run on a computer.
  • Broadcast method the video broadcast method, system, electronic device and readable storage medium provided by the present invention separate and display multi-channel video display and coding broadcast work in a video broadcast process through distributed design.
  • the video stream transmission and the video broadcast control are performed through the remote procedure call protocol, so that the video playout system 10 can coordinately operate on different terminals, and the performance of the solved broadcast system running on the same terminal is solved.
  • Bottleneck problem is a bottleneck problem.
  • each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that comprises one or more of the Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the blocks may also occur in a different order than those illustrated in the drawings.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or action. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • each functional module in each embodiment of the present invention may be integrated to form a separate part, or each module may exist separately, or two or more modules may be integrated to form a separate part.
  • the functions, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
  • the video broadcast method and system provided by the embodiments of the present invention separate the display and encoding broadcast work of the multi-channel video into different execution terminals during the video broadcast process through distributed design, so that the video playout system It can be coordinated on different terminals to solve the performance bottleneck problem when the broadcast system runs on the same terminal.

Abstract

Provided are a video playing method and system. The system comprises a broadcast directing terminal and an encoding terminal. The method comprises: the broadcast directing terminal provides a video display interface used for displaying at least one path of video source; in response to an operation selected by a user, the broadcast directing terminal sends video stream data corresponding to the video source selected by the user to the encoding terminal; the encoding terminal encodes and broadcasts the received video stream data. Therefore, the video playing system can be running harmoniously at different terminals, and the performance bottleneck problem of the playing system when running at the same terminal is solved.

Description

视频播出方法、系统、电子设备及可读取存储介质Video broadcast method, system, electronic device and readable storage medium
相关申请的交叉引用Cross-reference to related applications
本申请要求于2017年07月04日提交中国专利局的申请号为201710538362X、名称为“视频播出方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. JP-A No. No. No. No. No. No. No. No. No. No. No.
技术领域Technical field
本发明涉及数据通信技术领域,具体而言,涉及一种视频播出方法、系统、电子设备及可读取存储介质。The present invention relates to the field of data communication technologies, and in particular, to a video broadcast method, system, electronic device, and readable storage medium.
背景技术Background technique
在视频播出中,常常需要导播人员在多路视频源中选取合适的视频源播出给观众,视频播出系统一般包括为用户显示多路视频的显示模块及将用户选中的视频进行编码播出的播出模块。现有技术中,显示模块和播出模块这两个模块都工作于同一计算机设备中,当显示的多路视频数量较多时,两个模块都需要消耗大量的计算机资源时,计算机设备由于性能的瓶颈可能无法胜任,导致影响视频播出的质量。In the video broadcast, the broadcaster is often required to select a suitable video source to broadcast to the viewer in the multi-channel video source. The video broadcast system generally includes a display module for displaying the multi-channel video for the user and encoding the video selected by the user. Out of the broadcast module. In the prior art, both the display module and the playout module work in the same computer device. When the number of multi-channel videos displayed is large, both modules need to consume a large amount of computer resources, and the computer device has performance. Bottlenecks may not be able to do so, which can affect the quality of video broadcasts.
发明内容Summary of the invention
为了克服现有技术中的上述不足,本发明的目的在于提供一种视频播出方法、系统、电子设备及可读取存储介质,应用于包括导播终端及编码终端的视频播出系统,所述方法包括:In order to overcome the above-mentioned deficiencies in the prior art, an object of the present invention is to provide a video broadcast method, system, electronic device, and readable storage medium, which are applied to a video playout system including a broadcast terminal and an encoding terminal, Methods include:
所述导播终端提供视频显示界面,配置成显示至少一路视频源;The navigation terminal provides a video display interface configured to display at least one video source;
所述导播终端响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端;Transmitting, by the navigation terminal, video stream data corresponding to the video source selected by the user to the encoding terminal, in response to the user selection operation;
所述编码终端对接收到的视频流数据进行编码播出。The encoding terminal encodes and broadcasts the received video stream data.
可选地,在上述方法中,所述将被用户选中的视频源对应的视频流数据发送至所述编码终端的步骤,包括:Optionally, in the foregoing method, the step of sending the video stream data corresponding to the video source selected by the user to the encoding terminal includes:
所述导播终端通过远程过程调用协议调用所述编码终端的视频接收服务,将所述视频流数据发送至所述编码终端的视频接收服务的接口。The navigation terminal invokes a video receiving service of the encoding terminal through a remote procedure call protocol, and sends the video stream data to an interface of a video receiving service of the encoding terminal.
可选地,在上述方法中,所述视频播出系统还包括分别与所述导播终端与所述编码终端通信的消息传递服务器;所述导播终端通过远程过程调用协议调用所述编码终端的视频接收服务的步骤,包括:Optionally, in the above method, the video playout system further includes a message delivery server that communicates with the coding terminal and the coding terminal respectively; the navigation terminal invokes a video of the coding terminal by using a remote procedure call protocol. The steps to receive the service include:
所述导播终端获取被选中的视频源对应的视频流数据;The navigation terminal acquires video stream data corresponding to the selected video source;
所述导播终端执行远程调用函数,通过远程过程调用协议向所述消息传递服务器发 送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端中的视频接收服务;The broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server through a remote procedure call protocol, where the remote call function includes a video receiving service in the encoding terminal that needs to be called;
所述消息传递服务器将所述调用请求转发至所述编码终端,调用所述视频接收服务,使所述编码终端接收所述导播终端发送的视频流数据。The message delivery server forwards the call request to the encoding terminal, and invokes the video receiving service, so that the encoding terminal receives the video stream data sent by the guiding terminal.
可选地,在上述方法中,预先在所述消息传递服务器中建立远程过程调用协议服务;该方法还包括:Optionally, in the foregoing method, the remote procedure call protocol service is established in the message delivery server in advance; the method further includes:
所述导播终端建立与所述消息传递服务器的通信连接,以使所述导播终端作为所述消息传递服务器中所述远程过程调用协议的一个客户端;The navigation terminal establishes a communication connection with the messaging server, so that the navigation terminal acts as a client of the remote procedure call protocol in the messaging server;
所述编码终端建立与所述消息递服务器的通信连接,以使所述导播终端作为所述消息传递服务器中所述远程过程调用协议的另一客户端。The encoding terminal establishes a communication connection with the message delivery server such that the navigation terminal acts as another client of the remote procedure call protocol in the messaging server.
可选地,在上述方法中,预先在所述消息传递服务器中建立远程过程调用协议服务的步骤包括:Optionally, in the foregoing method, the step of establishing a remote procedure call protocol service in the messaging server in advance comprises:
在所述消息传递服务器中建立远程过程调用协议服务,并传入所述消息传递服务器的IP地址及选定的端口;Establishing a remote procedure call protocol service in the messaging server, and passing in the IP address of the messaging server and the selected port;
所述导播终端建立与所述消息传递服务器的通信连接的步骤包括:The step of the communication terminal establishing a communication connection with the messaging server includes:
在所述导播终端中建立所述远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述导播终端与所述消息传递服务器的连接;Establishing a client of the remote procedure call protocol in the navigation terminal, and transmitting an IP address of the messaging server and a used port to establish a connection between the navigation terminal and the messaging server;
所述编码终端建立与所述消息递服务器的通信连接的步骤包括:The step of the encoding terminal establishing a communication connection with the message delivery server includes:
在所述编码终端中建立远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述编码终端与所述消息传递服务器的连接。Establishing a client of the remote procedure call protocol in the encoding terminal, and transmitting the IP address of the messaging server and the port used to establish a connection between the encoding terminal and the messaging server.
可选地,在上述方法中,在建立所述导播终端与所述消息传递服务器的连接的步骤之后,该方法还包括:Optionally, in the foregoing method, after the step of establishing the connection between the navigation terminal and the messaging server, the method further includes:
在所述导播终端中执行注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中;Performing a registration function in the navigation terminal, registering the video receiving service into a list of the remote procedure call protocol service functions;
在所述消息传递服务器中执行所述注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中。The registration function is executed in the messaging server to register the video receiving service into a list of the remote procedure call protocol service functions.
可选地,在上述方法中,所述导播终端响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端的步骤包括:Optionally, in the foregoing method, the step of the broadcast terminal transmitting the video stream data corresponding to the video source selected by the user to the encoding terminal in response to the user selection operation comprises:
将解码过程观察者接口注册到被用户选中的视频源中;Registering the decoding process observer interface to the video source selected by the user;
通过所述解码过程观察者接口获取被用户选中的视频源对应的视频流数据,以获取被用户选中的视频源对应的视频流数据。The video stream data corresponding to the video source selected by the user is obtained by the observer interface of the decoding process to obtain video stream data corresponding to the video source selected by the user.
可选地,在上述方法中,所述方法还包括:Optionally, in the above method, the method further includes:
所述导播终端通过远程过程调用协议调用所述编码终端的开始播出服务或停止播出服务,使所述编码终端开始或停止对接收到的视频流数据进行编码播出。The navigation terminal invokes the start broadcast service of the encoding terminal or stops the broadcast service through a remote procedure call protocol, so that the encoding terminal starts or stops encoding and broadcasting the received video stream data.
可选地,在上述方法中,所述导播终端通过远程过程调用协议调用所述编码终端的开始播出服务或停止播出服务的步骤,包括:Optionally, in the foregoing method, the step of the broadcast terminal calling the start broadcast service or the stop play service of the encoding terminal by using a remote procedure call protocol includes:
所述导播终端执行远程调用函数,通过远程过程调用协议向所述消息传递服务器发送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端中的开始播出服务或停止播出服务;The broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server by using a remote procedure call protocol, where the remote call function includes a start broadcast service or a stop broadcast service in the coding terminal that needs to be called. ;
所述消息传递服务器将所述调用请求转发至所述编码终端,调用所述开始播出服务或停止播出服务,使所述编码终端开始或停止对接收到的视频流数据进行编码播出。The messaging server forwards the call request to the encoding terminal, invokes the start broadcast service or stops the broadcast service, so that the encoding terminal starts or stops encoding and broadcasting the received video stream data.
可选地,在上述方法中,所述方法还包括:Optionally, in the above method, the method further includes:
在所述编码终端中注册所述视频接收服务、开始播出服务及停止播出服务;及Registering the video receiving service, starting the broadcast service, and stopping the broadcast service in the encoding terminal; and
在所述消息传递服务器中注册所述视频接收服务、开始播出服务及停止播出服务。Registering the video receiving service, starting the broadcast service, and stopping the broadcast service in the messaging server.
本发明的另一目的在于提供一种视频播出系统,包括导播终端及编码终端,Another object of the present invention is to provide a video broadcast system, including a broadcast terminal and an encoding terminal.
所述导播终端配置成提供视频显示界面,以显示至少一路视频源;并响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端;The navigation terminal is configured to provide a video display interface to display at least one video source; and, in response to the user selection operation, send video stream data corresponding to the video source selected by the user to the encoding terminal;
所述编码终端配置成对接收到的视频流数据进行编码播出。The encoding terminal is configured to encode and play the received video stream data.
可选地,在上述系统中,所述导播终端视频流数据发送至所述编码终端的方式,包括:Optionally, in the foregoing system, the manner in which the video stream data of the broadcast terminal is sent to the encoding terminal includes:
通过远程过程调用协议调用所述编码终端的视频接收服务,将所述视频流数据发送至所述编码终端的视频接收服务的接口。The video receiving service of the encoding terminal is invoked by a remote procedure call protocol, and the video stream data is transmitted to an interface of a video receiving service of the encoding terminal.
可选地,在上述系统中,所述导播终端还配置成通过远程过程调用协议调用所述编码终端的开始播出服务或停止播出服务,使所述编码终端开始或停止对接收到的视频流数据进行编码播出。Optionally, in the above system, the broadcast terminal is further configured to invoke the start broadcast service or stop the broadcast service of the encoding terminal by using a remote procedure call protocol, so that the encoding terminal starts or stops the received video. The stream data is encoded and broadcast.
可选地,在上述系统中,所述系统还包括信息分别与所述导播终端与所述编码终端通信的消息传递服务器;Optionally, in the above system, the system further includes a message delivery server that separately communicates with the navigation terminal and the encoding terminal;
所述导播终端执行远程调用函数,通过远程过程调用协议向所述消息传递服务器发送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端中的视频接收服务、开始播出服务或停止播出服务;The broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server by using a remote procedure call protocol, where the remote call function includes a video receiving service in the encoding terminal that needs to be called, starts a broadcast service, or Stop the broadcast service;
所述消息传递服务器将所述调用请求转发至所述编码终端,调用所述视频接收服务、 开始播出服务或停止播出服务。The messaging server forwards the call request to the encoding terminal, invokes the video receiving service, starts a playout service, or stops the playout service.
可选地,在上述系统中,预先在所述消息传递服务器中建立远程过程调用协议服务;该方法还包括:Optionally, in the above system, a remote procedure call protocol service is established in the message delivery server in advance; the method further includes:
所述导播终端建立与所述消息传递服务器的通信连接,以使所述导播终端作为所述消息传递服务器的一个客户端;The navigation terminal establishes a communication connection with the messaging server, so that the navigation terminal acts as a client of the messaging server;
所述编码终端建立与所述消息递服务器的通信连接,以使所述导播终端作为所述消息传递服务器的另一客户端;The encoding terminal establishes a communication connection with the message delivery server, so that the navigation terminal acts as another client of the message delivery server;
可选地,在上述系统中,预先在所述消息传递服务器中建立远程过程调用协议服务的步骤包括:Optionally, in the foregoing system, the step of establishing a remote procedure call protocol service in the messaging server in advance comprises:
在所述消息传递服务器中建立远程过程调用协议服务,并传入所述消息传递服务器的IP地址及选定的端口;Establishing a remote procedure call protocol service in the messaging server, and passing in the IP address of the messaging server and the selected port;
所述导播终端建立与所述消息传递服务器的通信连接的步骤包括:The step of the communication terminal establishing a communication connection with the messaging server includes:
在所述导播终端中建立所述远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述导播终端与所述消息传递服务器的连接;Establishing a client of the remote procedure call protocol in the navigation terminal, and transmitting an IP address of the messaging server and a used port to establish a connection between the navigation terminal and the messaging server;
所述编码终端建立与所述消息递服务器的通信连接的步骤包括:The step of the encoding terminal establishing a communication connection with the message delivery server includes:
在所述编码终端中建立远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述编码终端与所述消息传递服务器的连接。Establishing a client of the remote procedure call protocol in the encoding terminal, and transmitting the IP address of the messaging server and the port used to establish a connection between the encoding terminal and the messaging server.
可选地,在上述系统中,在建立所述导播终端与所述消息传递服务器的连接的步骤之后,该方法还包括:Optionally, in the foregoing system, after the step of establishing the connection between the navigation terminal and the messaging server, the method further includes:
在所述导播终端中执行注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中;Performing a registration function in the navigation terminal, registering the video receiving service into a list of the remote procedure call protocol service functions;
在所述消息传递服务器中执行所述注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中。The registration function is executed in the messaging server to register the video receiving service into a list of the remote procedure call protocol service functions.
可选地,在上述系统中,所述导播终端响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端的步骤包括:Optionally, in the foregoing system, the step of the broadcast terminal transmitting the video stream data corresponding to the video source selected by the user to the encoding terminal in response to the user selection operation comprises:
将解码过程观察者接口注册到被用户选中的视频源中;Registering the decoding process observer interface to the video source selected by the user;
通过所述解码过程观察者接口获取被用户选中的视频源对应的视频流数据,以获取被用户选中的视频源对应的视频流未被解码之前的数据。The video stream data corresponding to the video source selected by the user is obtained by the decoding process observer interface, so as to obtain data before the video stream corresponding to the video source selected by the user is not decoded.
本发明的另一目的在于提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器用于存储有可执行程序代码,所述处理器用于读取所述存储器中存储的可执行 程序代码以使得所述电子设备作为上述导播终端和\或解码终端执行上述视频播出方法。Another object of the present invention is to provide an electronic device including a memory and a processor for storing executable program code, the processor for reading executables stored in the memory The program code causes the electronic device to perform the above-described video playout method as the above-described broadcast terminal and/or decoding terminal.
本发明的另一目的在于提供一种可读取存储介质,所述可读存储介质内存储有指令,当所述指令在计算机上运行时,使得计算机作为上述导播终端和\或解码终端执行上述视频播出方法。Another object of the present invention is to provide a readable storage medium having instructions stored therein that, when executed on a computer, cause the computer to perform the above operation as the navigation terminal and/or the decoding terminal Video broadcast method.
相对于现有技术而言,本发明具有以下有益效果:Compared with the prior art, the present invention has the following beneficial effects:
本发明提供的视频播出方法、系统、电子设备及可读取存储介质,通过分布式的设计将视频播出过程中对多路视频的显示及编码播出工作分离到不同的执行终端上,如此,使得视频播出系统可以在不同终端上协调运行,解决的播出系统运行于同一终端时的性能瓶颈问题。The video broadcast method, system, electronic device and readable storage medium provided by the invention separate the display and encoding broadcast work of the multi-channel video into different execution terminals during the video broadcast process through distributed design, In this way, the video playout system can coordinately run on different terminals, and the performance bottleneck problem when the broadcast system runs on the same terminal.
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments will be briefly described below. It should be understood that the following drawings show only certain embodiments of the present invention, and therefore It should be seen as a limitation on the scope, and those skilled in the art can obtain other related drawings according to these drawings without any creative work.
图1为本发明实施例提供的视频播出系统的示意图之一;FIG. 1 is a schematic diagram of a video playout system according to an embodiment of the present invention;
图2为本发明实施例提供的视频播出方法的步骤流程图之一;2 is a flow chart of steps of a video playing method according to an embodiment of the present invention;
图3为本发明实施例提供的视频播出系统的示意图之二;FIG. 3 is a second schematic diagram of a video playout system according to an embodiment of the present disclosure;
图4为本发明实施例提供的视频播出方法的步骤流程示之二。FIG. 4 is a schematic flowchart showing the steps of a video playing method according to an embodiment of the present invention.
图标:10-视频播出系统;100-导播终端;200-编码终端;300-消息传递服务器;400-网络。Icons: 10-video broadcast system; 100-guided terminal; 200-encoded terminal; 300-message delivery server; 400-network.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。The technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the drawings in the embodiments of the present invention. It is a partial embodiment of the invention, and not all of the embodiments. The components of the embodiments of the invention, which are generally described and illustrated in the figures herein, may be arranged and designed in various different configurations.
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。Therefore, the following detailed description of the embodiments of the invention in the claims All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一 个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。It should be noted that similar reference numerals and letters indicate similar items in the following figures, and therefore, once an item is defined in a drawing, it is not necessary to further define and explain it in the subsequent drawings.
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。In the description of the present invention, it should be noted that the terms "set", "install", "connected", and "connected" are to be understood broadly, and may be fixed connections, for example, unless otherwise specifically defined and defined. It can also be a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium, and can be internal communication between the two elements. The specific meaning of the above terms in the present invention can be understood in a specific case by those skilled in the art.
请参照图1,图1是本发明较佳实施例提供的视频播出系统10,所述系统包括导播终端100及编码终端200,所述导播终端100可以与所述编码终端200通过网络400进行通信,在本实施中,所述网络400可以为无线网或有线网。Referring to FIG. 1 , FIG. 1 is a video playout system 10 according to a preferred embodiment of the present invention. The system includes a broadcast terminal 100 and an encoding terminal 200. The broadcast terminal 100 can be connected to the encoding terminal 200 through the network 400. Communication, in this implementation, the network 400 can be a wireless network or a wired network.
所述导播终端100配置成显示用于播出的至少一路视频源,并配置成响应用户操作,将用户选中的视频源作为播出的视频源。所述编码终端200配置成将所述导播终端100选中的视频源进行编码播出。The broadcast terminal 100 is configured to display at least one video source for playing, and configured to use the video source selected by the user as the broadcasted video source in response to the user operation. The encoding terminal 200 is configured to encode and play the video source selected by the guiding terminal 100.
在本实施例中,所述导播终端100可以为,但不仅限于,服务器、个人电脑(personal computer,PC)、智能手机、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。In this embodiment, the navigation terminal 100 may be, but not limited to, a server, a personal computer (PC), a smart phone, a tablet computer, a personal digital assistant (PDA), and a mobile internet device ( Mobile Internet device, MID), etc.
所述导播终端100可以包括配置成显示所述至少一路视频源的显示设备及配置成接收用户操作的输入设备。其中,所述显示设备可以包括显示器、投影仪,所述输入设备可以包括键盘、鼠标等;所述显示设备与所述输入设备也可以集成为触摸显示屏的形式。The navigation terminal 100 can include a display device configured to display the at least one video source and an input device configured to receive user operations. The display device may include a display and a projector, and the input device may include a keyboard, a mouse, and the like; the display device and the input device may also be integrated into a form of a touch display.
请参照图2,图2为应用于图1所示视频播出系统10的一种视频播出方法,以下将对所述方法包括各个步骤进行详细阐述。Please refer to FIG. 2. FIG. 2 is a video broadcast method applied to the video playout system 10 of FIG. 1, and the steps including the steps will be described in detail below.
步骤S110,所述导播终端100提供视频显示界面,配置成显示至少一路视频源。In step S110, the navigation terminal 100 provides a video display interface configured to display at least one video source.
所述导播终端100可以通过所述显示设备对所述至少一路视频源进行显示。优选地,在本实施例中,所述视频源可以为直播视频源。The navigation terminal 100 can display the at least one video source through the display device. Preferably, in this embodiment, the video source may be a live video source.
步骤S120,所述导播终端100响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端200。In step S120, the navigation terminal 100 sends the video stream data corresponding to the video source selected by the user to the encoding terminal 200 in response to the user selection operation.
在本实施例中,所述导播终端100可以通过所述输入设备接收用户的选择操作,将用户选中的视频源作为需要播出的视频源,并将该需要播出的视频源对应的视频流数据发送至所述编码终端200。In this embodiment, the navigation terminal 100 can receive the user's selection operation through the input device, and use the video source selected by the user as the video source to be broadcasted, and the video stream corresponding to the video source to be broadcasted. Data is transmitted to the encoding terminal 200.
可选地,在本实施例中,所述编码终端200中包括配置成接收视频流数据的视频接收服务。所述导播终端100可以通过远程过程调用协议(Remote Procedure Call Protocol, RPC)调用所述编码终端200的视频接收服务,将所述视频流数据发送至所述编码终端200的视频接收服务对应的接口。Optionally, in this embodiment, the encoding terminal 200 includes a video receiving service configured to receive video stream data. The broadcast terminal 100 can call the video receiving service of the encoding terminal 200 by using a remote procedure call protocol (RPC), and send the video stream data to an interface corresponding to the video receiving service of the encoding terminal 200. .
由于所述导播终端100与所述编码终端200为不同的电子终端,故所述编码终端200在调用所述编码终端200的视频接收服务时需要通过所述远程过程调用协议。Since the navigation terminal 100 and the encoding terminal 200 are different electronic terminals, the encoding terminal 200 needs to pass the remote procedure calling protocol when calling the video receiving service of the encoding terminal 200.
进一步地,由于所述编码终端200为远程过程调用协议的客户端类型,所述导播终端100无法直接调用所述编码终端200中的服务。故在本实施例中,请参照图3,所述视频播出系统10还包括配置成在所述导播终端100与所述编码终端200之间进行消息传递的消息传递服务器300。Further, since the encoding terminal 200 is a client type of a remote procedure call protocol, the navigation terminal 100 cannot directly invoke the service in the encoding terminal 200. Therefore, in this embodiment, referring to FIG. 3, the video playout system 10 further includes a message delivery server 300 configured to perform message delivery between the broadcast terminal 100 and the encoding terminal 200.
其中,所述导播终端100可以作为一个客户端同信息消息传递服务器300之间建立一个TCP连接,所述编码终端200同样可以作为一个客户端与所述消息传递服务器300之间也建立一个TCP连接,这样所述编码终端200同所述导播终端100之间进行消息传输可以通过所述消息传递服务器300进行中转。The broadcast terminal 100 can establish a TCP connection with the information messaging server 300 as a client, and the encoding terminal 200 can also establish a TCP connection between the client and the messaging server 300. Therefore, the message transmission between the encoding terminal 200 and the navigation terminal 100 can be transited by the message delivery server 300.
可选地,在本实施例中,可以先通过在所述消息传递服务器300中建立远程过程调用协议服务,并传入所述消息传递服务器300的IP地址及选定的端口。Optionally, in this embodiment, the remote procedure call protocol service may be established in the messaging server 300, and the IP address of the messaging server 300 and the selected port may be introduced.
然后分别在所述导播终端100与所述编码终端200中建立远程过程调用协议的客户端,并在导播终端100和编码终端200中分别传入所述消息传递服务器300的IP地址及使用的端口,以建立所述导播终端100与所述消息传递服务器300的连接及所述编码终端200与所述消息传递服务器300的连接。Then, the client of the remote procedure call protocol is established in the navigation terminal 100 and the encoding terminal 200, respectively, and the IP address and the port used by the messaging server 300 are respectively transmitted in the navigation terminal 100 and the encoding terminal 200. And establishing a connection between the navigation terminal 100 and the messaging server 300 and a connection between the encoding terminal 200 and the messaging server 300.
建立连接后,在所述导播终端100中可以执行注册函数,将所述视频接收服务注册到远程过程调用协议服务函数的列表中,在本实施例中,可以在所述导播终端100中通过RpcRegisterProcedure(“on_demux_packet”)注册所述视频接收服务,其中,on_demux_packet为所述视频接收服务。After the connection is established, a registration function may be executed in the navigation terminal 100 to register the video receiving service in a list of remote procedure call protocol service functions. In this embodiment, RpcRegisterProcedure may be adopted in the navigation terminal 100. ("on_demux_packet") registers the video receiving service, wherein on_demux_packet is the video receiving service.
然后,可以在所述消息传递服务器300中执行相应的函数,将所述视频接收服务注册到远程过程调用协议服务函数的列表中,使所述消息传递服务器300可以转发所述视频接收服务的请求,在本实施例中,可以在所述消息传递服务器300中通过RpcRegisterProcedureIntoServer(“on_demux_packet”)注册所述视频接收服务。Then, a corresponding function may be executed in the messaging server 300 to register the video receiving service into a list of remote procedure call protocol service functions, so that the messaging server 300 can forward the request of the video receiving service. In the present embodiment, the video receiving service may be registered in the messaging server 300 by RpcRegisterProcedureIntoServer ("on_demux_packet").
完成上述注册步骤后,所述导播终端100便可通过远程过程调用协议对所述编码终端200的视频接收服务进行调用。After the registration step is completed, the broadcast terminal 100 can invoke the video receiving service of the encoding terminal 200 through a remote procedure call protocol.
可选地,导播终端100在将所述视频流数据发送给所述编码终端200时,所述导播终端100可以先获取被选中的视频源对应的视频流数据。Optionally, when the broadcast terminal 100 sends the video stream data to the encoding terminal 200, the guiding terminal 100 may first acquire video stream data corresponding to the selected video source.
例如,在本实施例中,所述导播终端100为了能够获取到被选中播出的视频源对应的视频流未被解码之前的数据,调用add Decoding Listener方法将一个IMedia Decoding Listener(解码过程观察者)接口注册到当前视频源中,通过该接口的on Before Decode Packet回调方法可以获取到当前视频源对应的视频流数据。For example, in the embodiment, the navigation terminal 100 calls the add Decoding Listener method to decode the data before the video stream corresponding to the selected video source is not decoded. The interface is registered in the current video source, and the video stream data corresponding to the current video source can be obtained through the on Before Decode Packet callback method of the interface.
然后,导播终端100执行远程调用函数Rpc Call Procedure(“on_demux_packet”),通过远程过程调用协议向所述消息传递服务器300发送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端200中的视频接收服务。Then, the broadcast terminal 100 executes a remote call function Rpc Call Procedure ("on_demux_packet"), and sends a remote call request to the message delivery server 300 through a remote procedure call protocol, the remote call function including the encoding terminal 200 that needs to be called. In the video receiving service.
例如,在本实施例中,通过之前步骤注册的IMedia Decoding Listener接口,被选定的所述视频流数据在播放过程中会进入到on Before Decode Packet函数中,然后在该函数中调用远程调用函数Rpc Call Procedure(“on_demux_packet”)将视频流数据发送给所述编码终端200对应的视频接收服务的接口。For example, in this embodiment, the selected video stream data enters the on Before Decode Packet function during playback by the IMedia Decoding Listener interface registered in the previous step, and then the remote call function is called in the function. The Rpc Call Procedure ("on_demux_packet") transmits the video stream data to the interface of the video receiving service corresponding to the encoding terminal 200.
所述消息传递服务器300将所述调用请求转发至所述编码终端200,调用所述视频接收服务,使所述编码终端200接收所述导播终端100发送的被选定的视频源对应的视频流数据。The message delivery server 300 forwards the call request to the encoding terminal 200, and invokes the video receiving service, so that the encoding terminal 200 receives the video stream corresponding to the selected video source sent by the guiding terminal 100. data.
步骤S130,所述编码终端200对接收到的视频流数据进行编码播出。Step S130, the encoding terminal 200 encodes and broadcasts the received video stream data.
在本实施例中,所述编码终端200通过视频接收服务的接口接收到所述视频流数据,将该视频流数据添加到解码队列中进行解码,然后重新编码后进行播出。In this embodiment, the encoding terminal 200 receives the video stream data through an interface of a video receiving service, adds the video stream data to a decoding queue for decoding, and then re-encodes and broadcasts.
基于上述设计,本实施例提供的方法,通过分布式的设计将视频播出过程中对多路视频的显示及编码播出工作分离到不同的执行终端上,如此,使得视频播出系统10可以在不同终端上协调运行,解决了播出系统运行于同一终端时的性能瓶颈问题。Based on the above design, the method provided in this embodiment separates the display and encoding and broadcasting of the multi-channel video into different execution terminals during the video broadcast process through the distributed design, so that the video playout system 10 can Coordinated operation on different terminals solves the performance bottleneck problem when the broadcast system runs on the same terminal.
进一步,为了方便对视频播出的控制,请参照图4,所述方法还可以包括步骤S210及步骤S220。Further, in order to facilitate the control of the video broadcast, please refer to FIG. 4, the method may further include step S210 and step S220.
步骤S210,所述导播终端100执行远程调用函数,通过远程过程调用协议向所述消息传递服务器300发送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端200中的开始播出服务或停止播出服务。Step S210, the navigation terminal 100 executes a remote calling function, and sends a remote calling request to the messaging server 300 through a remote procedure calling protocol, where the remote calling function includes starting broadcast in the encoding terminal 200 that needs to be called. Service or stop the broadcast service.
在本实施例中,可以预先在所述编码终端200及所述消息传递服务器300中注册所述开始播出服务或停止播出服务。In this embodiment, the start broadcast service or the stop broadcast service may be registered in the encoding terminal 200 and the message delivery server 300 in advance.
例如,可以预先在所述导播终端100中执行注册函数,将所述开始播出服务或所述停止播出服务注册到远程过程调用协议服务函数的列表中。例如,可以在所述导播终端100中通过Rpc Register Procedure(“begin_broadcast”)函数注册所述开始播出服务,其 中,begin_broadcast为所述开始播出服务;可以在所述导播终端100中通过Rpc Register Procedure(“stop_broadcast”)函数注册所述停止播出服务,其中,stop_broadcast为所述停止播出服务。For example, a registration function may be performed in the navigation terminal 100 in advance to register the start playout service or the stop playout service into a list of remote procedure call protocol service functions. For example, the start playout service may be registered in the guide terminal 100 by an Rpc Register Procedure ("begin_broadcast") function, where begin_broadcast is the start playout service; the Rpc Register may be passed in the guide terminal 100. The Procedure ("stop_broadcast") function registers the stop playout service, wherein stop_broadcast is the stop playout service.
进一步地,可以预先在所述消息传递服务器300中执行注册函数,将所述开始播出服务或所述停止播出服务注册到远程过程调用协议服务函数的列表中,以使所述消息传递服务器300可以转发所述开始播出服务或停止播出服务的请求。在本实施例中,可以在所述消息传递服务器300中通过Rpc Register Procedure(“begin_broadcast”)函数注册所述开始播出服务;可以在所述消息传递服务器300中通过Rpc Register Procedure(“stop_broadcast”)函数注册所述停止播出服务。Further, a registration function may be executed in the messaging server 300 in advance, and the start broadcast service or the stop play service is registered in a list of remote procedure call protocol service functions, so that the message delivery server 300 may forward the request to start the broadcast service or stop the broadcast service. In this embodiment, the start playout service may be registered in the messaging server 300 by an Rpc Register Procedure ("begin_broadcast") function; the Rpc Register Procedure ("stop_broadcast" may be passed in the messaging server 300) The function registers the stop broadcast service.
上述开始播出服务或所述停止播出服务注册完成后,所述导播终端100可以通过远程过程调用协议调用所述编码终端200的开始播出服务或停止播出服务。After the start of the broadcast service or the stop broadcast service registration is completed, the broadcast terminal 100 may invoke the start broadcast service or stop the broadcast service of the encoding terminal 200 through a remote procedure call protocol.
例如,所述导播终端100调用Rpc Call Procedure(“begin_broadcast”)函数,通知所述编码终端200进行直播。For example, the navigation terminal 100 calls an Rpc Call Procedure ("begin_broadcast") function to notify the encoding terminal 200 to perform live broadcast.
或者,所述导播终端100调用Rpc Call Procedure(“stop_broadcast”)函数,通知所述编码终端200结束直播Alternatively, the broadcast terminal 100 invokes an Rpc Call Procedure ("stop_broadcast") function to notify the encoding terminal 200 to end the live broadcast.
步骤S220,所述消息传递服务器300将所述调用请求转发至所述编码终端200,调用所述开始播出服务或停止播出服务,使所述编码终端200开始或停止对接收到的视频流数据进行编码播出。Step S220, the message delivery server 300 forwards the call request to the encoding terminal 200, invokes the start broadcast service or stops the broadcast service, so that the encoding terminal 200 starts or stops the received video stream. The data is encoded and broadcast.
例如,所述编码终端200在begin_broadcast函数中执行Live Encoder(视频播出底层模块)的set_broadcast_enable(true)函数开始视频播出。For example, the encoding terminal 200 executes a set_broadcast_enable(true) function of the Live Encoder in the begin_broadcast function to start video broadcasting.
或者,所述编码终端200在stop_broadcast函数中执行Live Encoder的set_broadcast_enable(false)函数停止视频播出。Alternatively, the encoding terminal 200 executes a set_broadcast_enable (false) function of the Live Encoder in the stop_broadcast function to stop the video broadcast.
基于上述设计,所述导播终端100可以通过远程过程调用协议对所述编码终端200的开始播出服务或停止播出服务进行调用,可以方便地对视频播出进行控制。Based on the above design, the navigation terminal 100 can call the start broadcast service or stop the broadcast service of the encoding terminal 200 through a remote procedure call protocol, and can conveniently control the video broadcast.
本发明实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器用于存储有可执行程序代码,所述处理器用于读取所述存储器中存储的可执行程序代码以使得所述电子设备作为上述导播终端和\或解码终端执行上述视频播出方法。An embodiment of the present invention further provides an electronic device, where the electronic device includes a memory and a processor, the memory is configured to store executable program code, and the processor is configured to read an executable program stored in the memory. The code causes the electronic device to perform the above-described video playout method as the above-described broadcast terminal and/or decoding terminal.
该电子设备可以为上述视频播出系统中的导播终端或解码终端。在本申请实施例中,所述电子设备可以包括处理器及存储器,所述存储器可用于存储可执行程序代码,所述处理器用于读取所述存储器中存储的可执行程序代码,所述可执行程序代码被所述处理 器执行时,使得该电子设备可以作为导播终端或解码终端执行上述视频播出方法。The electronic device may be a broadcast terminal or a decoding terminal in the above video playout system. In an embodiment of the present application, the electronic device may include a processor and a memory, the memory may be used to store executable program code, and the processor is configured to read executable program code stored in the memory, where The execution program code is executed by the processor such that the electronic device can perform the above-described video playout method as a broadcast terminal or a decoding terminal.
所述电子设备的功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备中的处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The functionality of the electronic device, if implemented in the form of a software functional module and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a processor in an electronic device to perform all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium may include: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. medium.
本发明实施例还提供了一种可读取存储介质,所述可读存储介质内存储有指令,当所述指令在计算机上运行时,使得计算机作为上述导播终端和\或解码终端执行上述视频播出方法。综上所述,本发明提供的视频播出方法、系统、电子设备及可读取存储介质,通过分布式的设计将视频播出过程中对多路视频的显示及编码播出工作分离到不同的执行终端上,通过远程过程调用协议进行视频流的传输及视频的播出控制,如此,使得视频播出系统10可以在不同终端上协调运行,解决的播出系统运行于同一终端时的性能瓶颈问题。The embodiment of the invention further provides a readable storage medium, wherein the readable storage medium stores instructions for executing the video as the navigation terminal and/or the decoding terminal when the instruction is run on a computer. Broadcast method. In summary, the video broadcast method, system, electronic device and readable storage medium provided by the present invention separate and display multi-channel video display and coding broadcast work in a video broadcast process through distributed design. On the execution terminal, the video stream transmission and the video broadcast control are performed through the remote procedure call protocol, so that the video playout system 10 can coordinately operate on different terminals, and the performance of the solved broadcast system running on the same terminal is solved. Bottleneck problem.
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个配置成实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。In the embodiments provided by the present application, it should be understood that the disclosed apparatus and method may also be implemented in other manners. The apparatus embodiments described above are merely illustrative, for example, the flowcharts and block diagrams in the figures illustrate the architecture, functionality, and functionality of possible implementations of apparatus, methods, and computer program products according to various embodiments of the invention. operating. In this regard, each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that comprises one or more of the Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the blocks may also occur in a different order than those illustrated in the drawings. For example, two consecutive blocks may be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, can be implemented in a dedicated hardware-based system that performs the specified function or action. Or it can be implemented by a combination of dedicated hardware and computer instructions.
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。In addition, each functional module in each embodiment of the present invention may be integrated to form a separate part, or each module may exist separately, or two or more modules may be integrated to form a separate part.
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The functions, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that, in this context, relational terms such as first and second are used merely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities or operations. There is any such actual relationship or order between them. Furthermore, the term "comprises" or "comprises" or "comprises" or any other variations thereof is intended to encompass a non-exclusive inclusion, such that a process, method, article, or device that comprises a plurality of elements includes not only those elements but also Other elements, or elements that are inherent to such a process, method, item, or device. An element that is defined by the phrase "comprising a ..." does not exclude the presence of additional equivalent elements in the process, method, item, or device that comprises the element.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the claims.
工业实用性Industrial applicability
本发明实施例提供的视频播出方法及系统,通过分布式的设计将视频播出过程中对多路视频的显示及编码播出工作分离到不同的执行终端上,如此,使得视频播出系统可以在不同终端上协调运行,解决的播出系统运行于同一终端时的性能瓶颈问题。The video broadcast method and system provided by the embodiments of the present invention separate the display and encoding broadcast work of the multi-channel video into different execution terminals during the video broadcast process through distributed design, so that the video playout system It can be coordinated on different terminals to solve the performance bottleneck problem when the broadcast system runs on the same terminal.

Claims (20)

  1. 一种视频播出方法,应用于包括导播终端及编码终端的视频播出系统,其特征在于,所述方法包括:A video broadcast method is applied to a video playout system including a broadcast terminal and an encoding terminal, wherein the method includes:
    所述导播终端提供视频显示界面,配置成显示至少一路视频源;The navigation terminal provides a video display interface configured to display at least one video source;
    所述导播终端响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端;Transmitting, by the navigation terminal, video stream data corresponding to the video source selected by the user to the encoding terminal, in response to the user selection operation;
    所述编码终端对接收到的视频流数据进行编码播出。The encoding terminal encodes and broadcasts the received video stream data.
  2. 根据权利要求1所述的方法,其特征在于,所述将被用户选中的视频源对应的视频流数据发送至所述编码终端的步骤,包括:The method according to claim 1, wherein the step of transmitting the video stream data corresponding to the video source selected by the user to the encoding terminal comprises:
    所述导播终端通过远程过程调用协议调用所述编码终端的视频接收服务,将所述视频流数据发送至所述编码终端的视频接收服务的接口。The navigation terminal invokes a video receiving service of the encoding terminal through a remote procedure call protocol, and sends the video stream data to an interface of a video receiving service of the encoding terminal.
  3. 根据权利要求2所述的方法,其特征在于,所述视频播出系统还包括分别与所述导播终端与所述编码终端通信的消息传递服务器;所述导播终端通过远程过程调用协议调用所述编码终端的视频接收服务的步骤,包括:The method of claim 2, wherein the video playout system further comprises a messaging server that communicates with the encoding terminal and the encoding terminal, respectively; the navigation terminal invokes the remote procedure call protocol The steps of encoding the video receiving service of the terminal include:
    所述导播终端获取被选中的视频源对应的视频流数据;The navigation terminal acquires video stream data corresponding to the selected video source;
    所述导播终端执行远程调用函数,通过远程过程调用协议向所述消息传递服务器发送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端中的视频接收服务;The broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server through a remote procedure call protocol, where the remote call function includes a video receiving service in the encoding terminal that needs to be called;
    所述消息传递服务器将所述调用请求转发至所述编码终端,调用所述视频接收服务,使所述编码终端接收所述导播终端发送的视频流数据。The message delivery server forwards the call request to the encoding terminal, and invokes the video receiving service, so that the encoding terminal receives the video stream data sent by the guiding terminal.
  4. 根据权利要求2所述的方法,其特征在于,预先在所述消息传递服务器中建立远程过程调用协议服务;该方法还包括:The method of claim 2, wherein the remote procedure call protocol service is established in advance in the messaging server; the method further comprising:
    所述导播终端建立与所述消息传递服务器的通信连接,以使所述导播终端作为所述消息传递服务器中所述远程过程调用协议的一个客户端;The navigation terminal establishes a communication connection with the messaging server, so that the navigation terminal acts as a client of the remote procedure call protocol in the messaging server;
    所述编码终端建立与所述消息递服务器的通信连接,以使所述导播终端作为所述消息传递服务器中所述远程过程调用协议的另一客户端。The encoding terminal establishes a communication connection with the message delivery server such that the navigation terminal acts as another client of the remote procedure call protocol in the messaging server.
  5. 根据权利要求2所述的方法,其特征在于,预先在所述消息传递服务器中建立远程过程调用协议服务的步骤包括:The method of claim 2, wherein the step of establishing a remote procedure call protocol service in the messaging server in advance comprises:
    在所述消息传递服务器中建立远程过程调用协议服务,并传入所述消息传递服务器的IP地址及选定的端口;Establishing a remote procedure call protocol service in the messaging server, and passing in the IP address of the messaging server and the selected port;
    所述导播终端建立与所述消息传递服务器的通信连接的步骤包括:The step of the communication terminal establishing a communication connection with the messaging server includes:
    在所述导播终端中建立所述远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述导播终端与所述消息传递服务器的连接;Establishing a client of the remote procedure call protocol in the navigation terminal, and transmitting an IP address of the messaging server and a used port to establish a connection between the navigation terminal and the messaging server;
    所述编码终端建立与所述消息递服务器的通信连接的步骤包括:The step of the encoding terminal establishing a communication connection with the message delivery server includes:
    在所述编码终端中建立远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述编码终端与所述消息传递服务器的连接。Establishing a client of the remote procedure call protocol in the encoding terminal, and transmitting the IP address of the messaging server and the port used to establish a connection between the encoding terminal and the messaging server.
  6. 根据权利要求3所述的方法,其特征在于,在建立所述导播终端与所述消息传递服务器的连接的步骤之后,该方法还包括:The method according to claim 3, wherein after the step of establishing the connection between the navigation terminal and the messaging server, the method further comprises:
    在所述导播终端中执行注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中;Performing a registration function in the navigation terminal, registering the video receiving service into a list of the remote procedure call protocol service functions;
    在所述消息传递服务器中执行所述注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中。The registration function is executed in the messaging server to register the video receiving service into a list of the remote procedure call protocol service functions.
  7. 根据权利要求3所述的方法,其特征在于,所述导播终端响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端的步骤包括:The method according to claim 3, wherein the step of transmitting, by the navigation terminal, the video stream data corresponding to the video source selected by the user to the encoding terminal in response to the user selection operation comprises:
    将解码过程观察者接口注册到被用户选中的视频源中;Registering the decoding process observer interface to the video source selected by the user;
    通过所述解码过程观察者接口获取被用户选中的视频源对应的视频流数据,以获取被用户选中的视频源对应的视频流数据。The video stream data corresponding to the video source selected by the user is obtained by the observer interface of the decoding process to obtain video stream data corresponding to the video source selected by the user.
  8. 根据权利要求3所述的方法,其特征在于,所述方法还包括:The method of claim 3, wherein the method further comprises:
    所述导播终端通过远程过程调用协议调用所述编码终端的开始播出服务或停止播出服务,使所述编码终端开始或停止对接收到的视频流数据进行编码播出。The navigation terminal invokes the start broadcast service of the encoding terminal or stops the broadcast service through a remote procedure call protocol, so that the encoding terminal starts or stops encoding and broadcasting the received video stream data.
  9. 根据权利要求4所述的方法,其特征在于,所述导播终端通过远程过程调用协议调用所述编码终端的开始播出服务或停止播出服务的步骤,包括:The method according to claim 4, wherein the step of the broadcast terminal calling the start broadcast service or the stop play service of the encoding terminal by using a remote procedure call protocol comprises:
    所述导播终端执行远程调用函数,通过远程过程调用协议向所述消息传递服务器发送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端中的开始播出服务或停止播出服务;The broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server by using a remote procedure call protocol, where the remote call function includes a start broadcast service or a stop broadcast service in the coding terminal that needs to be called. ;
    所述消息传递服务器将所述调用请求转发至所述编码终端,调用所述开始播出服务或停止播出服务,使所述编码终端开始或停止对接收到的视频流数据进行编码播出。The messaging server forwards the call request to the encoding terminal, invokes the start broadcast service or stops the broadcast service, so that the encoding terminal starts or stops encoding and broadcasting the received video stream data.
  10. 根据权利要求5所述的方法,其特征在于,所述方法还包括:The method of claim 5, wherein the method further comprises:
    在所述编码终端中注册所述视频接收服务、开始播出服务及停止播出服务;及Registering the video receiving service, starting the broadcast service, and stopping the broadcast service in the encoding terminal; and
    在所述消息传递服务器中注册转发所述视频接收服务、开始播出服务及停止播出服务的函数。Registering, in the messaging server, a function of forwarding the video receiving service, starting a playout service, and stopping the playout service.
  11. 一种视频播出系统,其特征在于,包括导播终端及编码终端,A video playout system, comprising: a broadcast terminal and an encoding terminal,
    所述导播终端配置成提供视频显示界面,以显示至少一路视频源;并响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端;The navigation terminal is configured to provide a video display interface to display at least one video source; and, in response to the user selection operation, send video stream data corresponding to the video source selected by the user to the encoding terminal;
    所述编码终端配置成对接收到的视频流数据进行编码播出。The encoding terminal is configured to encode and play the received video stream data.
  12. 根据权利要求7所述的系统,其特征在于,所述导播终端视频流数据发送至所述编码终端的方式,包括:The system according to claim 7, wherein the manner in which the video stream data of the broadcast terminal is sent to the encoding terminal comprises:
    通过远程过程调用协议调用所述编码终端的视频接收服务,将所述视频流数据发送至所述编码终端的视频接收服务的接口。The video receiving service of the encoding terminal is invoked by a remote procedure call protocol, and the video stream data is transmitted to an interface of a video receiving service of the encoding terminal.
  13. 根据权利要求8所述的系统,其特征在于,所述导播终端还配置成通过远程过程调用协议调用所述编码终端的开始播出服务或停止播出服务,使所述编码终端开始或停止对接收到的视频流数据进行编码播出。The system according to claim 8, wherein the navigation terminal is further configured to invoke a start broadcast service or stop the broadcast service of the encoding terminal by a remote procedure call protocol, so that the encoding terminal starts or stops the pair. The received video stream data is encoded and broadcasted.
  14. 根据权利要求9所述的系统,其特征在于,所述系统还包括信息分别与所述导播终端与所述编码终端通信的消息传递服务器;The system of claim 9, wherein the system further comprises a messaging server that communicates with the encoding terminal and the encoding terminal, respectively;
    所述导播终端执行远程调用函数,通过远程过程调用协议向所述消息传递服务器发送远程调用请求,所述远程调用函数中包括需要调用的所述编码终端中的视频接收服务、开始播出服务或停止播出服务;The broadcast terminal executes a remote call function, and sends a remote call request to the message delivery server by using a remote procedure call protocol, where the remote call function includes a video receiving service in the encoding terminal that needs to be called, starts a broadcast service, or Stop the broadcast service;
    所述消息传递服务器将所述调用请求转发至所述编码终端,调用所述视频接收服务、开始播出服务或停止播出服务。The messaging server forwards the call request to the encoding terminal, invokes the video receiving service, starts a playout service, or stops a playout service.
  15. 根据权利要求2所述的系统,其特征在于,预先在所述消息传递服务器中建立远程过程调用协议服务;所述导播终端还被配置成建立与所述消息传递服务器的通信连接,以使所述导播终端作为所述消息传递服务器的一个客户端;The system of claim 2, wherein a remote procedure call protocol service is established in advance in the messaging server; the broadcast terminal is further configured to establish a communication connection with the messaging server to Said broadcast terminal as a client of the messaging server;
    所述编码终端还被配置成建立与所述消息递服务器的通信连接,以使所述导播终端作为所述消息传递服务器的另一客户端;The encoding terminal is further configured to establish a communication connection with the message delivery server such that the navigation terminal acts as another client of the messaging server;
  16. 根据权利要求2所述的系统,其特征在于,预先在所述消息传递服务器中建立远程过程调用协议服务的方法包括:The system of claim 2, wherein the method of establishing a remote procedure call protocol service in the messaging server in advance comprises:
    在所述消息传递服务器中建立远程过程调用协议服务,并传入所述消息传递服务器的IP地址及选定的端口;Establishing a remote procedure call protocol service in the messaging server, and passing in the IP address of the messaging server and the selected port;
    所述导播终端建立与所述消息传递服务器的通信连接的步骤包括:The step of the communication terminal establishing a communication connection with the messaging server includes:
    在所述导播终端中建立所述远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述导播终端与所述消息传递服务器的连接;Establishing a client of the remote procedure call protocol in the navigation terminal, and transmitting an IP address of the messaging server and a used port to establish a connection between the navigation terminal and the messaging server;
    所述编码终端建立与所述消息递服务器的通信连接的步骤包括:The step of the encoding terminal establishing a communication connection with the message delivery server includes:
    在所述编码终端中建立远程过程调用协议的客户端,并传入所述消息传递服务器的IP地址及使用的端口,以建立所述编码终端与所述消息传递服务器的连接。Establishing a client of the remote procedure call protocol in the encoding terminal, and transmitting the IP address of the messaging server and the port used to establish a connection between the encoding terminal and the messaging server.
  17. 根据权利要求3所述的系统,其特征在于,在建立所述导播终端与所述消息传递服务器的连接的步骤之后,所述导播终端还被配置成执行注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中;The system according to claim 3, wherein after the step of establishing a connection between the broadcast terminal and the messaging server, the broadcast terminal is further configured to perform a registration function to register the video receiving service Go to the list of remote procedure call protocol service functions;
    所述消息传递服务器还被配置成执行所述注册函数,将所述视频接收服务注册到所述远程过程调用协议服务函数的列表中。The messaging server is further configured to execute the registration function to register the video receiving service into a list of the remote procedure call protocol service functions.
  18. 根据权利要求3所述的系统,其特征在于,所述导播终端响应用户选择操作,将被用户选中的视频源对应的视频流数据发送至所述编码终端的方法包括:The system according to claim 3, wherein the method for transmitting the video stream data corresponding to the video source selected by the user to the encoding terminal in response to the user selection operation comprises:
    将解码过程观察者接口注册到被用户选中的视频源中;Registering the decoding process observer interface to the video source selected by the user;
    通过所述解码过程观察者接口获取被用户选中的视频源对应的视频流数据,以获取被用户选中的视频源对应的视频流未被解码之前的数据。The video stream data corresponding to the video source selected by the user is obtained by the decoding process observer interface, so as to obtain data before the video stream corresponding to the video source selected by the user is not decoded.
  19. 一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器用于存储有可执行程序代码,所述处理器用于读取所述存储器中存储的可执行程序代码以使得所述电子设备作为上述导播终端和\或解码终端执行权利要求1-10任一项所述方法。An electronic device, comprising: a memory for storing executable program code, and a processor for reading executable program code stored in the memory to cause The electronic device as the above-described navigation terminal and/or decoding terminal performs the method of any one of claims 1-10.
  20. 一种可读取存储介质,其特征在于,所述可读存储介质内存储有指令,当所述指令在计算机上运行时,使得计算机作为上述导播终端和\或解码终端执行如权利要求1-10任一项所述方法。A readable storage medium, characterized in that the readable storage medium stores instructions therein, and when the instructions are run on a computer, causing the computer to execute as the navigation terminal and/or the decoding terminal as claimed in claim 1 10 any of the methods described.
PCT/CN2018/072552 2017-07-04 2018-01-15 Video playing method and system, electronic device and readable storage medium WO2019007027A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710538362.X 2017-07-04
CN201710538362.XA CN107332846A (en) 2017-07-04 2017-07-04 Video broadcasting method and system

Publications (1)

Publication Number Publication Date
WO2019007027A1 true WO2019007027A1 (en) 2019-01-10

Family

ID=60195729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/072552 WO2019007027A1 (en) 2017-07-04 2018-01-15 Video playing method and system, electronic device and readable storage medium

Country Status (2)

Country Link
CN (1) CN107332846A (en)
WO (1) WO2019007027A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113784209A (en) * 2021-09-03 2021-12-10 上海哔哩哔哩科技有限公司 Multimedia data stream processing method and device
CN117041615A (en) * 2023-10-09 2023-11-10 北京奇点智播科技有限公司 Guide broadcast control system and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332846A (en) * 2017-07-04 2017-11-07 武汉斗鱼网络科技有限公司 Video broadcasting method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450807A (en) * 2002-04-09 2003-10-22 华为技术有限公司 Double-vision transmission system for television conference terminal
CN105611311A (en) * 2016-02-05 2016-05-25 丁锋 Cinema live broadcasting system
JP2016187150A (en) * 2015-03-27 2016-10-27 沖電気工業株式会社 Video control device, video control program, and video control system
CN205883425U (en) * 2016-06-08 2017-01-11 江苏三棱智慧物联发展股份有限公司 Video monitoring device based on thing networking
CN107332846A (en) * 2017-07-04 2017-11-07 武汉斗鱼网络科技有限公司 Video broadcasting method and system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1137434C (en) * 1996-02-01 2004-02-04 国际商业机器公司 Video optimized media streamer data flow architecture
CN102098512A (en) * 2010-12-15 2011-06-15 中兴通讯股份有限公司 Mobile terminal and video display realizing method thereof
CN103118272A (en) * 2013-02-22 2013-05-22 浪潮齐鲁软件产业有限公司 Multi-scenario digital television implementation method
US20140372508A1 (en) * 2013-06-14 2014-12-18 Andrew T. Fausak Native client tunnel service for client-server communication
CN104519310B (en) * 2013-09-29 2017-12-08 深圳锐取信息技术股份有限公司 A kind of long-range instructor in broadcasting's control system
CN104102949B (en) * 2014-06-27 2018-01-26 北京奇艺世纪科技有限公司 A kind of distributed work flow device and its method for handling workflow
CN105430424B (en) * 2015-11-26 2018-12-04 广州华多网络科技有限公司 A kind of methods, devices and systems of net cast

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450807A (en) * 2002-04-09 2003-10-22 华为技术有限公司 Double-vision transmission system for television conference terminal
JP2016187150A (en) * 2015-03-27 2016-10-27 沖電気工業株式会社 Video control device, video control program, and video control system
CN105611311A (en) * 2016-02-05 2016-05-25 丁锋 Cinema live broadcasting system
CN205883425U (en) * 2016-06-08 2017-01-11 江苏三棱智慧物联发展股份有限公司 Video monitoring device based on thing networking
CN107332846A (en) * 2017-07-04 2017-11-07 武汉斗鱼网络科技有限公司 Video broadcasting method and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113784209A (en) * 2021-09-03 2021-12-10 上海哔哩哔哩科技有限公司 Multimedia data stream processing method and device
CN113784209B (en) * 2021-09-03 2023-11-21 上海哔哩哔哩科技有限公司 Multimedia data stream processing method and device
CN117041615A (en) * 2023-10-09 2023-11-10 北京奇点智播科技有限公司 Guide broadcast control system and method
CN117041615B (en) * 2023-10-09 2023-12-22 北京奇点智播科技有限公司 Guide broadcast control system and method

Also Published As

Publication number Publication date
CN107332846A (en) 2017-11-07

Similar Documents

Publication Publication Date Title
CN108337528B (en) Method and equipment for previewing video
US11924298B2 (en) Message pushing method for a virtual gift and electronic device
US10291557B2 (en) Streaming media content to a user equipment in an internet protocol multimedia subsystem
WO2019007027A1 (en) Video playing method and system, electronic device and readable storage medium
US20230353603A1 (en) Call processing system and call processing method
US11863846B2 (en) Multimedia data publishing method and apparatus, and device and medium
US10819951B2 (en) Recording video from a bitstream
WO2015180446A1 (en) System and method for maintaining connection channel in multi-device interworking service
CN108235111B (en) Information sharing method and intelligent set top box
CN115665474A (en) Live broadcast method and device, electronic equipment and storage medium
CN106921634B (en) Multimedia stream multicast method and device
CN110113298A (en) Data transmission method, device, signal server and computer-readable medium
WO2015089790A1 (en) Service processing method, apparatus, and system
CN113259729A (en) Data switching method, server, system and storage medium
CN108616760B (en) Live broadcasting method based on browser, server, anchor terminal and user terminal
CN113242446B (en) Video frame caching method, video frame forwarding method, communication server and program product
US11265357B2 (en) AV1 codec for real-time video communication
WO2016107174A1 (en) Method and system for processing multimedia file data, player and client
CN114844870A (en) Media stream acquisition method and device, electronic equipment and storage medium
CN112511884B (en) Mixed flow control method, system and storage medium for audio and video flow
CN115643429A (en) Video playing method and device, electronic equipment and computer readable storage medium
CN108540429B (en) Session negotiation method and server
CN113992637B (en) Audio and video data receiving method, device, equipment, system and storage medium
CN111263173B (en) Data resource adding method and device
WO2020063462A1 (en) Control method for media display and related products

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: 18828277

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18828277

Country of ref document: EP

Kind code of ref document: A1