WO2019071680A1 - Procédé et appareil de chargement de module d'extension - Google Patents

Procédé et appareil de chargement de module d'extension Download PDF

Info

Publication number
WO2019071680A1
WO2019071680A1 PCT/CN2017/109671 CN2017109671W WO2019071680A1 WO 2019071680 A1 WO2019071680 A1 WO 2019071680A1 CN 2017109671 W CN2017109671 W CN 2017109671W WO 2019071680 A1 WO2019071680 A1 WO 2019071680A1
Authority
WO
WIPO (PCT)
Prior art keywords
plug
master
loading
encoding
plugin
Prior art date
Application number
PCT/CN2017/109671
Other languages
English (en)
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 WO2019071680A1 publication Critical patent/WO2019071680A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a method and apparatus for loading a plug-in.
  • Webcasting has gradually become a mainstream entertainment and communication method in modern life.
  • all run in a single-process mode that is, all the functions of the program are integrated in one process.
  • the single-process mode has the advantages of simple architecture and convenient maintenance, it has low stability. For example, if a plug-in has a problem, it may cause the entire process to crash and must be solved by restarting the program.
  • the prior art has a technical problem of how to improve the running stability of the live broadcast program on the anchor end.
  • the embodiment of the invention provides a method and a device for loading a plug-in, at least for solving the technical problem of how to improve the running stability of a live broadcast program on the anchor end.
  • the present invention provides a method for loading a plug-in, including:
  • the master process creates a plug-in loading process
  • the plug-in loading process loads a target plug-in that needs to be loaded in the live application in the plug-in loading process.
  • the method further includes:
  • the master process creates a plugin enumerator process
  • the plug-in enumerator process enumerates, to the master process, an alternative plug-in that exists in the current load directory and can be loaded;
  • the master process determines to determine the target plugin from the candidate plugin, and notifies the plugin to load the target plugin.
  • the master process creates a plug-in enumerator process, including:
  • the master process calls a process creation function
  • the master process sends the ID of the master process to the process creation function
  • the master process runs the process creation function to create the plug-in enumerator process, after the plug-in enumerator process is initialized, initializes the process environment, and based on the master control of the process creation function The ID of the process is connected to the master process.
  • the plug-in enumerator process initializes the process environment after the creation is completed, and connects to the master process according to the ID of the master process that the process creation function has, including:
  • the plug-in enumerator process enumerates, to the master process, candidate plug-ins that are present in the current loading directory and can be loaded, including:
  • the plug-in enumerator receives an enumeration instruction sent by the master control process, and invokes the enumeration plug-in function process to read all plug-ins in the loading directory;
  • the method further includes:
  • the master process sends an exit instruction to the plug-in enumerator process
  • the plug-in enumerator invokes the enumeration exit function to end the process based on the exit instruction.
  • the method further includes:
  • the master process monitors whether the plug-in loading process crashes
  • the present invention provides a device for loading a plug-in, comprising:
  • a startup unit configured to start a live broadcast application of the anchor
  • a master control process acquiring unit configured to acquire a master control process of the live broadcast application of the anchor end
  • a plug-in loading unit configured to load a target plug-in that needs to be loaded in the live application during the plug-in loading process.
  • the process creation unit is further configured to create a plug-in enumerator process before loading the target plug-in that needs to be loaded in the live application in the plug-in loading process;
  • the device further includes a plug-in enumeration unit, configured to enumerate, to the master process, an optional plug-in existing in the current loading directory and loadable;
  • a determining unit configured to determine that the target plugin is determined from the candidate plugin, and notify the plugin to load the target plugin.
  • the process creation unit is configured to invoke a process creation function, and send the ID of the master process to the process creation function, and run the process creation function to create the plug-in enumerator process, the plug-in After the creation of the enumerator process, the process environment is initialized, and the master process is connected based on the ID of the master process that the process creation function has.
  • the device further includes a plug-in loading process environment initial unit, configured to initialize a process environment after the plug-in enumerator process is created, and based on the master process of the process creation function
  • the ID is connected to the master process, and is specifically configured to register an enumeration plug-in function and an enumeration exit function in the plug-in enumerator process, and obtain an ID connection of the master process that is included in the process creation function. Master process.
  • the plug-in enumeration unit is configured to receive an enumeration instruction sent by the master control process, and invoke the enumeration plug-in function process to read all plug-ins in the loading directory; from all the plug-ins The legal plug-in is filtered out; and the backup plug-in supported by the anchor live application is filtered out from the legal plug-in.
  • the device further includes an exit unit, configured to: after the plug-in enumerator process enumerates, to the master process, an optional plug-in that exists in the current loading directory and can be loaded, The applet process sends an exit instruction, and the enumeration exit function is called to end the process based on the exit instruction.
  • an exit unit configured to: after the plug-in enumerator process enumerates, to the master process, an optional plug-in that exists in the current loading directory and can be loaded, The applet process sends an exit instruction, and the enumeration exit function is called to end the process based on the exit instruction.
  • the device further includes a plug-in loading process monitoring unit, configured to monitor whether the plug-in loading process crashes, and re-create the plug-in loading process if the plug-in loading process is detected to crash.
  • a plug-in loading process monitoring unit configured to monitor whether the plug-in loading process crashes, and re-create the plug-in loading process if the plug-in loading process is detected to crash.
  • the invention provides a computer readable storage medium having stored thereon a computer program, which when executed by a processor, implements the steps of the method of any of the first aspects.
  • the present invention provides a computer device comprising a memory, a processor, and a computer program stored on the memory and operable on the processor, the processor implementing the program to implement any of the first aspects The steps of the method.
  • the host broadcast application is first started, and the main control process of the live application of the anchor is obtained, and then the main control process further creates a plug-in loading process, and the live loading process needs to be loaded in the plug-in loading process.
  • the target plugin loaded in the application Since the embodiment of the present invention adopts multiple processes and uses the plug-in loading process to load the plug-in, the abnormality of the plug-in function does not affect the master process, so that the program crashes due to one or more abnormal functions, so that the host-side live application is more The system runs stably, thereby solving the technical problem of how to improve the running stability of the live broadcast program on the anchor end in the prior art.
  • FIG. 1 is a flowchart of a method for performing live broadcast according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a device for playing a live broadcast according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a computer device according to an embodiment of the present invention.
  • the embodiment of the invention provides a method and a device for loading a plug-in, at least for solving the technical problem of how to improve the running stability of a live broadcast program on the anchor end.
  • the host broadcast application is first started, and the main control process of the live application of the anchor is obtained, and then the main control process further creates a plug-in loading process, and the live loading process needs to be loaded in the plug-in loading process.
  • the target plugin loaded in the application Since the embodiment of the present invention adopts multiple processes and uses the plug-in loading process to load the plug-in, the abnormality of the plug-in function does not affect the master process, so that the program crashes due to one or more abnormal functions, so that the host-side live application is more The system runs stably, thereby solving the technical problem of how to improve the running stability of the live broadcast program on the anchor end in the prior art.
  • the first aspect of the present invention provides a method for performing live broadcast.
  • FIG. 1 it is a flowchart of a method for performing live broadcast according to an embodiment of the present invention. The method includes:
  • the master process creates an encoding process and/or a plug-in loading process, where the encoding process is used to encode a video stream based on the control of the master process, and feed back the video stream to the master process.
  • the plug-in loading process is configured to load a plug-in in the plug-in loading process, and invoke the loaded plug-in according to the control of the master process;
  • S104 The master control process acquires the video stream.
  • the master control process sends the video stream to a live broadcast server, so that the live broadcast service The device forwards the video stream to a viewer device accessing the live server.
  • the anchor live application is started in S101.
  • the live broadcast application of the anchor terminal can be installed in a live broadcast application on a host device such as a mobile phone, a tablet computer or a desktop computer, and the present invention does not impose any specific limitation.
  • the following describes an example of a live broadcast application on a desktop computer installed in a Windows system.
  • the master process will create an encoding process and/or a plugin loading process as needed.
  • the encoding process in the embodiment of the present invention is used to encode a video stream based on the control of the master control process, and feed back the video stream to the master control process. More specifically, the encoding process receives the initialization command and the encoding command of the master process for initialization and encoding, and passes the encoded data to the master process.
  • the plugin loading process is used to load the plugin in the plugin loading process and call the loaded plugin according to the control of the master process. More specifically, the plug-in loading process acts as a loader for the anchor application plug-in of the anchor, and loads the original plug-in to be loaded into the host process into the plug-in loading process, so that the master process no longer needs to load the plug-in, and thus This avoids the situation where the master process crashes due to plugin issues.
  • the plug-in loading process in the embodiment of the present invention simulates the environment of the main control process on which the plug-in is loaded and run, and responds to the command from the main control process to obtain an image, obtain audio, and the feedback generated by the plug-in to the main control process. Image and audio, so that the image from the plug-in and the sound can be played normally in the master process.
  • the master process is the main process of the live broadcast application of the anchor, and manages the plug-in loading process and the encoding process. Moreover, if the encoding process is abnormally exited, the master process will automatically re-create the encoding process, so that the encoding process can be restarted quickly.
  • the processes interact by means of process communication.
  • the manner of the process communication includes the RPC (Remote Procedure Call Protocol) and the named pipe, etc., and the present invention is not limited thereto, and those skilled in the art to which the present invention pertains may select according to the actual situation.
  • RPC Remote Procedure Call Protocol
  • the main control process, the encoding process, and the plug-in loading process run in the background, and interact with the anchor through the interface program in the foreground.
  • the interface program is a program for real human-computer interaction for the main broadcast.
  • the interface program needs to submit the video screen preview window to the main control process for drawing.
  • the call of the anchor on the interface will be forwarded to the master process through RPC.
  • the interface program needs to start and resume the master process in the event that the master process crashes abnormally.
  • the anchor may have different requirements.
  • the anchor may use the single-process mode for maintenance, or use the multi-process mode for the program temperature, and the plug-in loading process will not be created if the plug-in is not needed.
  • the anchor live application in the embodiment of the present invention may operate in at least the following four operating modes.
  • the first mode LIVE_ENCODER_PROXY_WITH_SERVER is specifically a multi-process mode.
  • the master process RpcLiveEncoderServer will be created (the master process can also be named other), and then the host broadcast application will treat the master process RpcLiveEncoderServer as the server, as the client. Access the master process RpcLiveEncoderServer. Then, the call of the host application to the master process is sent to the master process RpcLiveEncoderServer through the RPC request.
  • the master process RpcLiveEncoderServer will further create the encoding process RpcLiveEncoderEncoder (the encoding process can also be named other) and the plug-in loading process RpcPluginLoader (the plug-in loading process can also be named other).
  • the second mode LIVE_ENCODER_PROXY_WITHOUT_SERVER is also in multi-process mode. Different from the first mode, in the second mode, the live broadcast application of the anchor does not need to create the master RpcLiveEncoderServer, but is connected to an existing preset master process. Similarly, the host live application will treat the master process RpcLiveEncoderServer as a server, and access the default master process as the client according to the address of the server.
  • the master process in the second mode may be a process created by an upper layer application.
  • the second mode has the advantage of facilitating the extension of the main control process from the upper layer application; the advantage of the first mode compared to the second mode is that the main broadcast application directly manages the main control process, and the main control process is It is created by the anchor application itself, so the possibility of incompatibility is low.
  • the master process RpcLiveEncoderServer further creates the encoding process RpcLiveEncoderEncoder and the plugin loading process RpcPluginLoader.
  • the third mode is the third mode
  • the third mode LIVE_ENCODER_PROXY_STUB is also in multi-process mode.
  • the master process RpcLiveEncoderServer in the third mode is similar to the master process in the first mode or the second mode.
  • the master process RpcLiveEncoderServer further creates one of the encoding process RpcLiveEncoderServer or the plug-in loading process RpcPluginLoader.
  • the host process RpcLiveEncoderServer is instructed to generate the encoding process RpcLiveEncoderServer or the plug-in loading process RpcPluginLoader by setting a flag bit in advance.
  • the first flag bit LIVE_ENCODER_REMOTE_PLUGIN indicates that a plug-in needs to be created.
  • the RpcPluginLoader is loaded, and the second flag bit LIVE_ENCODER_REMOTE_ENCODER indicates that the encoding process RpcLiveEncoderServer needs to be created.
  • the third mode can be selected and the second flag bit is set in advance.
  • the fourth mode LIVE_ENCODER_LOCAL_SERVICE is a single process mode.
  • the anchor live application creates only one process, the master process.
  • the encoding function of the live broadcast application of the anchor is implemented in the main control process, and the plugin is also loaded in the main control process.
  • the master process RpcLiveEncoderServer does not further create other processes.
  • S102 in the embodiment of the present invention is specifically implemented by the following process:
  • the master process of the anchor live application is created, wherein in the first mode, the master process creates the encoding process and the plugin Loading process
  • the operation mode is the second mode
  • the preset address of the master process is obtained, and the master process is accessed based on the address, where the master process is in the second mode.
  • the encoding process and the plugin loading process will be created.
  • the host control process is created by the anchor live application; if the running mode set by the anchor is the second mode, the live broadcast application of the anchor acquires the address of the preset master process. And then access the preset master process based on the address. Moreover, in the first mode and the second mode, the obtained master process further creates an encoding process and a plug-in loading process.
  • the anchor live application only creates a process of the master process and runs in the single process mode. If the running mode set by the anchor is the third mode, after the anchor live application acquires the master process, the master process further needs to create a process in the encoding process or the plug-in loading process.
  • the method further includes: determining a running mode of the preset broadcast application of the anchor end, and if the running mode is the third mode, further obtaining a flag bit indicating that the encoding process or the plug-in loading process needs to be created, if the marking bit is A flag bit, S103 is specifically: creating a plug-in loading process by the master process; if the flag bit is the second flag bit, S103 Specifically, the encoding process is created by the master process.
  • the anchor broadcast application can be run in a single process or multiple processes to meet different performance requirements. And, by setting different mark bits, one of the plug-in loading function and the encoding function can be separated from the master process.
  • the coding function is usually one of the core functions of the live broadcast application of the main broadcast.
  • each function, interface and parameters for implementing the coding function are encapsulated in the coding module.
  • the main control process runs, the coding module is loaded into the main control process, and the main control process can arbitrarily call various functions, interfaces and parameters of the coding function.
  • the live broadcast application of the anchor end can be run in a single process or in multiple processes. Therefore, in order to enable the live broadcast application of the anchor to be normally encoded, whether it is a single process or a multi-process operation, the embodiment of the present invention At least the following improvements have been made to the encoding module:
  • the LiveEncoderLocalService encoding local service module is connected to the LiveEncoderStub encoding stub module, and the LiveEncoderProxy encoding proxy module is connected to the LiveEncoderLocalService encoding local service module.
  • the LiveEncoderLocalService encoding local service module, the LiveEncoderStub encoding stub module, and the LiveEncoderProxy encoding proxy module are encapsulated in one module, that is, the LiveEncoder encoding module.
  • the master process acquires the video stream in S104.
  • the master process sends an encoding instruction to the encoding stub module to notify the encoding process to encode the video stream;
  • the encoding process calls an encoding local service module connected to the encoding stub module to encode the video stream;
  • the encoding process calls the encoding proxy interface module connected to the encoding local service module to feed back the encoded video stream to the main control process.
  • the encoding function of the live broadcast application of the anchor is implemented independently from the main control process to the encoding process.
  • the master process sends an encoding instruction to the encoding stub module by communicating with the RPC between the encoding processes to notify the encoding process to start encoding.
  • the encoding process in response to the encoding instruction, invokes a related method and function in the encoding local service module to execute the encoding instruction, thereby encoding the video stream.
  • the encoding process calls the encoding proxy module LiveEncoderProxy to feed back the encoded video stream to the main control process through the RPC channel.
  • the main control process sends the video stream to the live broadcast server, and then the live broadcast server forwards the video stream to the viewer device of the viewer watching the anchor. Furthermore, the viewer device decodes the video stream and decodes the live video for viewing by the viewer.
  • the master process obtains the video stream in S104, including:
  • the master process sends an encoding instruction to the encoding stub module
  • the encoding stub module calls an encoding local service module connected to the encoding stub module to encode the video stream;
  • the encoding local service module calls an encoding proxy interface module connected to the encoding local service module to feed back the encoded video stream to the main control process.
  • the encoding function of the live broadcast application of the anchor is still implemented by the master process.
  • an encoding instruction is generated.
  • the master process then sends an encoding instruction to the encoding stub module.
  • the encoding stub module sends an encoding instruction to the encoding local service module to invoke the method and function in the encoding local service module to encode the video stream.
  • the encoding local service module sends the encoded video stream to the encoding proxy module, and then the encoding proxy module transparently transmits the video stream to the main control process.
  • the above is an introduction to how the main control process and the encoding process use the improved encoding module.
  • the following describes how the main control process creates the encoding process and the encoding process specific encoding process.
  • the process of creating a coding process by the master process includes the following processes:
  • the master process calls a process creation function
  • the master process sends the ID of the master process to the process creation function
  • the master process runs the process creation function to create the encoding process, and after the creation process is completed, the process process initializes the process environment, and based on the ID connection of the master process that the process creation function has Master process.
  • the master process calls the Windows system process to create the CreateProcess function to create an encoding process RpcLiveEncoderEncoder.
  • the process ID of the master process is passed to the CreateProcess function as a command line parameter.
  • the process ID of the master process can be obtained from the command line.
  • the master process runs the CreateProcess function to create the encoding process RpcLiveEncoderEncoder.
  • the encoding process initializes the process environment and establishes a connection with the master process. Specifically, the encoding process initializes the process environment and connects to the master process by the following process:
  • the encoding process registers an initialization service function and a video stream encoding service function
  • the encoding process RpcLiveEncoderEncoder creates an RPC communication client instance handle hRpc by calling the RpcCreatelnstance method, and correspondingly, the master process is the server. Then, the RpcRegisterProcedure function is called, the initialization service function init_encoder of the encoding process RpcLiveEncoderEncoder is registered to hRpc, and the video stream encoding service function encode_raw_buffer is registered to hRpc.
  • the initialization service function init_encoder is used to respond to the initialization command of the main control process, and completes the encoding initialization operation according to the rated parameter in the initialization command
  • the encoded stream server function encode_raw_buffer is used to respond to the coding instruction of the main control process, and is The control process specifies the video material and audio material in the memory to be encoded, and returns the encoded data to the master process.
  • the embodiment of the present invention adopts a shared memory manner to optimize performance. Specifically, call the Windows system's CreateFileMapping function to create a video shared memory called RpcLiveEncoderEncoder_video_X, and create an audio shared memory called RpcLiveEncoderEncoder_Audio_X.
  • the naming of the video shared memory and the audio shared memory may be set according to actual conditions, and the present invention does not specifically limit.
  • the encoding process reads the process ID of the master process in the command line, and calls the RpcStartService function to establish an RPC communication channel with the master process. Then, the client_process_ready function of the master process is invoked based on the RPC channel to notify the master process that the encoding process initializes the process environment.
  • the main control process obtains the sessionld session ID of the encoding process in the RPC connection from the RPC channel according to the call of the encoding process to the client_process_ready function, and determines the initialization of the encoding process environment. Completion, and then in the subsequent process, notify the encoding process to encode the video stream as needed.
  • the master process acquires the video shared memory identifier and the audio shared memory identifier created by the encoding process based on the rpc_encoder_sharememory_name function of the encoding process of the sessionld of the encoding process.
  • the master control process sends an initialization command to the encoding process, where the initialization command includes a nominal parameter for guiding the encoding process to determine a decoding header parameter, where the decoding header parameter includes a video decoding header parameter and an audio decoding header parameter;
  • the encoding process runs the initialization service function based on the initial command to obtain the video decoding header parameter and the audio decoding header parameter based on the nominal parameter;
  • the master process sends an initialization init_encoder command to the encoding process.
  • the command includes a nominal parameter for directing the encoding process to determine the decoding header parameters, and the nominal parameter is determined by the master process based on the selection of the anchor.
  • the rated parameters include but are not limited to resolution information (width width and height height), video bit rate videoBitrate, video frame rate fps, video encoder type videoCodec, audio encoder channel number audioChannel, audio
  • the sampling rate is audioSampleRate, the audio bit rate audioBitrate, and the audio encoder type audioCodec.
  • the encoding process receives the initialization init_encoder from the RPC channel, and responds by initializing the service function init_encoder.
  • the CreateMediaFile function is called to create a multimedia file IMediaFile interface.
  • the CreateEncoder method of the IMediaFile interface is used to create a VideoEncoder interface videoEncoder of type videoCodec, and a video encoder interface audioEncoder of type audioCodec according to the audio encoder type audioCodec in the init_encoder command.
  • the Open method that calls the video encoder interface videoEncoder will encode the width of the video.
  • Width, height height, video bit rate videoBitrate, video frame rate fps as parameters to initialize the video encoder interface IMediaEncoder, and call the audio encoder audioEncoder Open method to encode the audio
  • the audio channel audioEncoder is initialized by the audio channel of the device, the audio sample rate audioSampleRate, and the audio bit rate audioBitrate as parameters.
  • the encoding process calls the readVideoHeader of the IMediaFile interface to obtain the video decoding header parameter videoHeader of the video encoder interface IMediaEncoder, and the readAudioHeader method of the IMediaFile interface to obtain the audio decoding header parameter audioHeader of the audio encoder audioEncoder.
  • the encoding process sends the obtained video decoding header parameter videoHeader and the audio decoding header parameter audioHeader to the main control process through the RPC channel.
  • the main control process further sends the video decoding header parameter videoHeader and the audio decoding header parameter audioHeader to the live broadcast server, and the live video server sends the video decoding header parameter videoHeader and the audio decoding header parameter audioHeader to each viewer device. Then, the viewer device can decode and play the video and audio according to the video decoding header parameter videoHeader and the audio decoding header parameter audioHeader.
  • the encoded video stream can be obtained.
  • obtaining an encoded video stream by using an encoding process in S104 is specifically performed by the following process:
  • the encoding process receives an encoding command sent by the master control process
  • the main control process pre-stores the video material to be encoded into the video shared memory according to the identifier of the video shared memory obtained in the foregoing, and pre-stores the audio material to be encoded according to the identifier of the audio shared memory obtained in the foregoing.
  • the content of the video material and the audio material are usually matched, for example, from the same file or collected by the anchor device. Then, when the video stream needs to be encoded, the master process sends an encoding command encode_raw_buffer to the encoding process through the RPC channel between the encoding process.
  • the encoding process After the encoding process receives the encode_raw_buffer command, it responds by the encoding function, specifically: calling the Encode method of the videoEncoder interface, reading the video material in the video shared memory for encoding, returning the video encoded data to the main control process; and calling the Encode of the audioEncoder
  • the method encodes the audio material in the audio shared memory, and returns the audio encoded data to the main control process.
  • the video encoded data and the audio encoded data constitute a video stream, and the two correspond to each other according to a time axis.
  • the above is an introduction to encoding the video stream of the encoding process.
  • the encoding process implements a separately encoded video stream.
  • the master process After receiving the video stream returned by the encoding process, the master process stores the video stream in the sending queue and sends it to the live server. Then, after receiving the video stream, the live broadcast server forwards the video stream to each viewer device, and the viewer device sequentially decodes the received video stream, and then plays the live broadcast video of the anchor to the user, thereby completing the live broadcast.
  • the encoding process may be crashed due to an abnormality.
  • the live broadcast method in the embodiment of the present invention may further include:
  • the master process monitors whether the encoding process crashes
  • the master process monitors that the encoding process crashes, the master process re-creates the encoding process.
  • the master process monitors the running status of the encoding process. If the encoding process crashes, the encoding process is re-created in the manner described above for creating the encoding process, and the description is not repeated here.
  • the plug-in of the live broadcast application of the anchor is loaded inside the plug-in loading process, and even if the plug-in is abnormal, the operation of the master process is not affected. Similar to the encoding process, the plug-in process is also connected to the master process through the RPC channel, and the plug-in process invokes the relevant interface of the master process through the RPC channel in order to simulate the environment in which the plug-in is loaded into the master process, so that the plug-in can be loaded normally. And running.
  • the prior art master process needs to know which plugins are available before loading the plugin, so the plugin needs to be enumerated before the plugin is loaded.
  • the plug-in loading process in the embodiment of the present invention also needs to enumerate the plug-in to the main control process before loading the plug-in.
  • the plugin loading process before the plugin loading process loads the target plugin that needs to be loaded in the live broadcast application in the plugin loading process, the plugin loading process further includes:
  • the master process creates a plugin enumerator process
  • the plug-in enumerator process enumerates, to the master process, an alternative plug-in that exists in the current load directory and can be loaded;
  • the master process determines to determine the target plugin from the candidate plugin, and notifies the plugin to load the target plugin.
  • the master process creates a plug-in enumerator process by:
  • the master process calls a process creation function
  • the master process sends the ID of the master process to the process creation function
  • the master process runs the process creation function to create the plug-in enumerator process, after the plug-in enumerator process is initialized, initializes the process environment, and based on the master control of the process creation function The ID of the process is connected to the master process.
  • the master process loads the RpcPluginManager Remote Plugin Manager module, which is responsible for the creation of the plugin enumerator process RpcPluginFinder and commands the RpcPluginFinder to enumerate the functionality of the plugin.
  • RpcPluginManager module After loading the RpcPluginManager module into the main control process, call the CreatePluginManager function in the module to create a plugin manager interface IPluginManager.
  • the master process calls the initialization init method of the plugin manager interface IPluginManager, so that the init method further calls the Windows system process creation function CreateProcess to create the plugin enumerator process RpcPluginFinder.
  • the master process also passes the process ID of the master process as a command line argument to the CreateProcess function.
  • the master process runs the create function CreateProcess to create the plugin enumerator process RpcPluginFinder.
  • the creation of the plugin enumerator process is completed.
  • the plug-in enumerator process is created, it also needs to initialize the process environment and establish a connection with the master process.
  • the plugin enumerator process initializes the environment through the following process:
  • an RPC communication client instance handle hRpc is created by calling RpcCreatelnstance; the RpcRegisterProcedure function is called, and the function function of the enumeration plug-in, that is, the enumeration plug-in function get_plugins is registered to hRpc, and the enumeration plug-in function is used to respond to the master process.
  • the enumeration plugin instruction enumerates the plugin; calls the RpcRegisterProcedure function, and registers the enumeration exit function to hRpc.
  • the enumeration exit function is used to respond to the enumeration exit instruction sent by the master process after all the plugins are obtained, so that the plugin is The process exits; according to the process ID of the master process in the command line, the RpcStartService function is called to establish an RPC channel with the master process; the client_process_ready function of the master process is called to notify the master process that the plugin enumerator process is initialized. carry out.
  • the main control process obtains the sessionld session ID of the plug-in enumerator process in the RPC connection from the RPC channel according to the call of the plugin enumerator process to the client_process_ready function, and determines that the plug-in enumerator process environment initialization is completed, and then in the subsequent process. Invoke the plugin enumerator process to enumerate plugins as needed.
  • the plugin enumerator process enumerates to the master process the candidate plugins that are present in the current load directory and that can be loaded, including:
  • the plug-in enumerator receives an enumeration instruction sent by the master control process, and invokes the enumeration plug-in function process to read all plug-ins in the loading directory;
  • the candidate plug-in in the embodiment of the present invention refers to a plug-in that is selected and loaded by the master process.
  • the master process When the master process needs to load the plugin, it will first send an enumeration instruction to the plugin enumerator process to get all the alternative plugins.
  • the plug-in enumerator process receives the enumeration sent by the master process from the RPC channel.
  • the enumeration function get_plugins is called to enumerate all the plug-ins in the current load directory.
  • the get_plugins function calls the FindFirstFile function to get the first DLL (Dynamic Link Library) file in the load directory.
  • the get_plugins function calls the FindNextFile function to continue to get the next DLL file in the load directory. If the FindNextFile function returns true, it means that the next DLL file is obtained, then execute the FindNextFile function again and continue to get the next DLL file; if the FindNextFile function returns false, it means that all the DLL files in the loading directory have been obtained. As long as the return value of the FindNextFile function is true, the next DLL file is fetched until the FindNextFile function returns a false value.
  • the anchor may add some illegal plug-ins to the loading directory, but the illegal plug-ins cannot be loaded. Therefore, after obtaining all the plug-ins, it is illegal to further determine whether the obtained plug-ins are legal.
  • the plugin is filtered out.
  • the LoadLibrary function of the calling system loads each DLL file. If the LoadLibrary function can be successfully called, the DLL file is legal. Otherwise, if the LoadLibrary function fails, the DLL file is invalid. After calling the LoadLibrary function for each DLL file, the illegal DLL file is unloaded from the load directory, and the legal DLL file is retained.
  • the anchor-side live application although a plug-in is legal, the anchor-side live application may not support the plug-in. Therefore, in the embodiment of the present invention, in order to ensure an alternative provided for the final control process.
  • the plug-ins are all plug-ins supported by the live broadcast application on the host, and further need to be filtered for the legal DLL file to obtain the plug-in supported by the broadcast application of the anchor.
  • the plug-in enumerator process performs filtering according to different supporting conditions, and the present invention does not specifically limit.
  • the plug-in supported by the host-side live application is specifically a plug-in with an export function.
  • the specific method for determining whether the legal plug-in can be supported is: calling the GetProcAddress function of the system to obtain the export function in a legal DLL file. If the export function can be obtained, it is determined that the plug-in corresponding to the DLL file is a plug-in that the live broadcast application can support, and then the plug-in is reserved as an alternative plug-in; otherwise, if the export function is not obtained, the DLL file is determined.
  • the corresponding plug-in is a plug-in that is not supported by the live broadcast application, and is then loaded from the directory. Uninstall the plugin.
  • the plugin enumerator process provides the name of the determined alternative plugin to the master process through the RPC channel with the master process.
  • the method further includes:
  • the master process sends an exit instruction to the plug-in enumerator process
  • the plug-in enumerator invokes the enumeration exit function to end the process based on the exit instruction.
  • the master process After receiving the plugin enumerated by the plugin enumerator process, the master process sends an exit instruction to the plugin enumeration process. After the plugin enumerator process receives the exit instruction, it calls the enumeration exit function to exit the plugin enumerator process.
  • the master process automatically selects the target plugin from the candidate plugin, or determines the corresponding target plugin according to the selection operation of the anchor, and then notifies the plugin loading process by the name of the target plugin through the RPC channel of the plugin loading process. Further, the plug-in loading process acquires the target plug-in DLL file according to the name of the target process, thereby loading and running the target plug-in.
  • the plug-in loading process calls the adding method of the master process by calling the RPC channel of the master process, so that the plug-in detects the adding method, thereby Can load successfully.
  • the main control process invokes the plug-in to run, and the plug-in loading process receives the instruction that is triggered by the main control process and is triggered by the main control process, and triggers the plug-in to run.
  • the plug-in loading process needs to use the subtraction method.
  • the plug-in loading process calls the subtraction method of the master process by calling the RPC channel of the master process, so that the plug-in uses the subtraction method to process, thereby obtaining the processing result.
  • the plug-in loading process obtains the result of running the plug-in, and feeds back the running result of the plug-in to the main control process through the RPC channel of the main control process.
  • the plug-in loading process needs to transfer the images and audio generated by the plug-in to the master process through the RPC channel of the master process. Then, the master process displays the image according to the image drawing window generated by the plug-in, and plays the audio through the player, thereby displaying the image and sound generated by the plug-in to the anchor.
  • the embodiment of the present invention further includes the following solutions:
  • the master process monitors whether the plug-in loading process crashes
  • the master process monitors the running state of the plug-in loading process. If the plug-in loading process is detected to crash, the plug-in enumerator process and plug-in are recreated by creating a plug-in enumerator process and a plug-in loading process as described above. The loading process is not repeated here.
  • the second aspect of the present invention further provides a live broadcast device, as shown in FIG. 2, including:
  • the startup unit 101 is configured to start a live broadcast application of the anchor end
  • the master control process obtaining unit 102 is configured to acquire a master control process of the live broadcast application of the anchor end;
  • the process creation unit 103 is configured to create an encoding process and/or a plug-in loading process, where the encoding process is used to encode a video stream based on the control of the master process, and feed back the video stream to the master process.
  • the plug-in loading process is configured to load a plug-in in the plug-in loading process, and invoke the loaded plug-in according to the control of the master process;
  • a video stream obtaining unit 104 configured to acquire the video stream
  • the sending unit 105 is configured to send the video stream to a live broadcast server, so that the live broadcast server forwards the video stream to a viewer device that accesses the live broadcast server.
  • the master control process obtaining unit 102 is configured to determine a preset operation mode of the anchor live application, and if the operation mode is the first mode, create the a master process, wherein, in the first mode, the master process creates the encoding process and the plug-in loading process; if the running mode is the second mode, acquiring the preset master An address of the process, and accessing the master process based on the address, wherein, in the second mode, the master process creates the encoding process and the plug-in loading process.
  • the device further includes:
  • a mode determining unit configured to determine, before the creating a coding process or a plug-in loading process by the main control process, a preset operation mode of the live broadcast application of the anchor end;
  • a mark obtaining unit configured to: if the running mode is the third mode, acquire a mark bit indicating that the encoding process and/or the plug-in loading process needs to be created before creating an encoding process and/or a plug-in loading process;
  • the process creation unit 103 is specifically configured to create the plug-in loading process by using the master process
  • the process creation unit 103 is specifically configured to create the encoding process by using the master process.
  • the video stream obtaining unit 104 is configured to send an encoding instruction to the encoding stub module to notify the encoding process to encode a video stream, where the encoding process is invoked and An encoding local service module coupled to the encoding stub module encodes the video stream, and the encoding process invokes an encoding proxy interface module coupled to the encoding local service module to feed back the encoded video stream to the video stream obtaining unit.
  • the video stream obtaining unit 104 is configured to send an encoding instruction to the encoding stub module, where the encoding stub module invokes the encoding stub module.
  • the coupled coded local service module encodes the video stream, and the coded local service module invokes a coded proxy interface module coupled to the coded local service module to feed back the encoded video stream to the video stream acquisition unit.
  • the process creating unit 103 is configured to invoke a process creation function, pass the ID of the master process to the process creation function, and run the process creation function to create The encoding process, after the creation process is completed, initialize the process environment, and connect the master control process based on the ID of the master process that the process creation function has.
  • the device further includes an encoding process environment initial unit, configured to initialize a process environment after the encoding process is completed, and connect the master control based on an ID of the master process that the process creation function has a process, specifically for registering an initialization service function and a video stream encoding service function in the encoding process, creating a video shared memory storing a video material, and storing an audio shared memory of the audio material, acquiring the method that the process creation function has The ID of the master process is connected to the master process, and the identifier of the video shared memory and the identifier of the audio shared memory are sent to the master process based on the connection between the code process and the master process.
  • an encoding process environment initial unit configured to initialize a process environment after the encoding process is completed, and connect the master control based on an ID of the master process that the process creation function has a process, specifically for registering an initialization service function and a video stream encoding service function in the encoding process, creating a video shared memory storing
  • the apparatus further includes an encoding initialization unit, configured to send an initialization command to the encoding process before the encoding the video stream by the encoding process and feeding back to the main control process, where the initialization command includes a nominal parameter for directing the encoding process to determine a decoding header parameter, the decoding header parameter including a video decoding header parameter and an audio decoding header parameter, the initialization service function being executed based on the initial command to obtain based on the nominal parameter Transmitting the video decoding header parameter and the audio decoding header parameter to the main control process, so that the main control process sets the video decoding header parameter and the audio decoding header parameter
  • the audio decoding header parameter is sent to the live broadcast server, and the live broadcast server forwards the video decoding header parameter and the audio decoding header parameter to the audience end device.
  • the video stream obtaining unit 104 is configured to receive an encoding command sent by the master control process, and extract, according to the encoding command, a video material pre-stored by the master control process from the video sharing memory, and from the Extracting audio material pre-stored by the master process in the audio sharing memory; running the video stream encoding service function to encode the video material, obtaining video encoded data, and encoding the audio material to obtain audio encoding Data, the video stream including the video encoded data and the audio encoded data; and the video encoded data and the audio encoded data are fed back to the master process.
  • the apparatus further includes an encoding process monitoring unit configured to monitor whether the encoding process crashes; if the encoding process is detected to crash, re-creating the encoding process.
  • the device further includes:
  • a plug-in loading unit configured to load a target plug-in that needs to be loaded in the live application during the plug-in loading process.
  • the process creation unit 103 is further configured to create a plug-in enumerator process before loading the target plug-in that needs to be loaded in the live application in the plug-in loading process;
  • the device further includes a plug-in enumeration unit, configured to enumerate, to the master process, an optional plug-in existing in the current loading directory and loadable;
  • a determining unit configured to determine that the target plugin is determined from the candidate plugin, and notify the plugin to load the target plugin.
  • the process creation unit 103 is configured to invoke a process creation function, and send the ID of the master process to the process creation function, and run the process creation function to create the plug-in enumerator process. After the plug-in enumerator process is created, the process environment is initialized, and the master process is connected based on the ID of the master process that the process creation function has.
  • the device further includes a plug-in loading process environment initial unit, configured to initialize a process environment after the plug-in enumerator process is created, and based on the ID connection of the master process that the process creation function has
  • the master control process is specifically configured to register an enumeration plug-in function and an enumeration exit function in the plug-in enumerator process, and obtain an ID of the master control process that is included in the process creation function to connect the master control process.
  • the plug-in enumeration unit is configured to receive an enumeration instruction sent by the master control process, invoke the enumeration plug-in function process to read all plug-ins in the loading directory, and filter from all the plug-ins. A legal plug-in is extracted; and the backup plug-in supported by the anchor live application is filtered out from the legal plug-in.
  • the apparatus further includes an exit unit, configured to enumerate the plug-in to the plug-in after the plug-in enumerator process enumerates the candidate plug-in existing in the current load directory and can be loaded to the master process
  • the process sends an exit instruction, and the enumeration exit function is called to end the process based on the exit instruction.
  • the device further includes a plug-in loading process monitoring unit, configured to monitor whether the plug-in loading process crashes, and if the plug-in loading process is detected to crash, re-creating the plug-in loading process.
  • a plug-in loading process monitoring unit configured to monitor whether the plug-in loading process crashes, and if the plug-in loading process is detected to crash, re-creating the plug-in loading process.
  • the present invention further provides a computer readable storage medium having stored thereon a computer program, which is implemented by a processor to implement the foregoing The steps of any method of the method of live broadcast.
  • the present invention further provides a computer device, as shown in FIG. 3, including a memory 204, a processor 202, and being stored on the memory 204 and operable on the processor 202.
  • the computer program, the processor 202 when the program is executed, implements the steps of any of the methods of controlling the progress bar as described above.
  • bus 200 can include any number of interconnected buses and bridges, and bus 200 will include one or more processors and memory 204 represented by processor 202.
  • the various circuits of the memory are linked together.
  • the bus 200 can also link various other circuits, such as peripherals, voltage regulators, and power management circuits, as is known in the art, and therefore, will not be further described herein.
  • Bus interface 206 provides an interface between bus 200 and receiver 201 and transmitter 203.
  • Receiver 201 and transmitter 203 may be the same component, i.e., a transceiver, providing means for communicating with various other devices on a transmission medium.
  • the processor 202 is responsible for managing the bus 200 and the usual processing, and the memory 204 can be used to store data used by the processor 202 when performing operations.
  • the host broadcast application is first started, and the main control process of the live application of the anchor is obtained, and then the main control process further creates a plug-in loading process, and the live loading process needs to be loaded in the plug-in loading process.
  • the target plugin loaded in the application Since the embodiment of the present invention adopts multiple processes and uses the plug-in loading process to load the plug-in, the abnormality of the plug-in function does not affect the master process, so that the program crashes due to one or more abnormal functions, so that the host-side live application is more The system runs stably, thereby solving the technical problem of how to improve the running stability of the live broadcast program on the anchor end in the prior art.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un procédé et un appareil de chargement de module d'extension, au moins utilisés pour résoudre le problème technique de l'état de la technique concernant la manière d'améliorer la stabilité de fonctionnement d'un programme de diffusion en direct au niveau d'une extrémité d'ancrage. Le procédé consiste à : démarrer un programme d'application de diffusion en direct d'extrémité d'ancrage (S101) ; acquérir un processus de commande maître du programme d'application de diffusion en direct d'extrémité d'ancrage (S102) ; le processus de commande maître crée un processus de chargement de module d'extension ; et le processus de chargement de module d'extension charge un module d'extension cible afin d'être chargé dans le programme d'application de diffusion en direct pendant le processus de chargement de module d'extension (S103).
PCT/CN2017/109671 2017-10-09 2017-11-07 Procédé et appareil de chargement de module d'extension WO2019071680A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710930088.0A CN107678801B (zh) 2017-10-09 2017-10-09 一种插件加载的方法和装置
CN201710930088.0 2017-10-09

Publications (1)

Publication Number Publication Date
WO2019071680A1 true WO2019071680A1 (fr) 2019-04-18

Family

ID=61139910

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/109671 WO2019071680A1 (fr) 2017-10-09 2017-11-07 Procédé et appareil de chargement de module d'extension

Country Status (2)

Country Link
CN (1) CN107678801B (fr)
WO (1) WO2019071680A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708366A (zh) * 2019-09-24 2020-01-17 深圳市迅雷网络技术有限公司 一种插件进程的管理方法及相关方法和相关装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804082A (zh) * 2018-05-10 2018-11-13 北京酷我科技有限公司 一种插件化JSBridge的实现方法
CN109361591B (zh) * 2018-07-27 2022-03-22 北京联合大学 一种基于插件化的个人消息聚合系统
CN109344035A (zh) * 2018-09-30 2019-02-15 北京奇虎科技有限公司 一种应用程序的运行控制方法、装置、设备及存储介质
CN109408155B (zh) * 2018-11-07 2021-11-02 北京奇艺世纪科技有限公司 应用启动方法和装置
CN112243140B (zh) * 2019-07-16 2023-03-24 腾讯科技(北京)有限公司 一种信息处理方法及装置
CN112463335A (zh) * 2020-12-03 2021-03-09 Oppo广东移动通信有限公司 一种应用程序运行方法、装置和存储介质
CN113656091A (zh) * 2021-07-28 2021-11-16 广州虎牙科技有限公司 独立开播进程的实现方法以及相关装置、设备
CN117076159B (zh) * 2023-10-10 2024-01-05 统信软件技术有限公司 插件调用方法及装置、电子设备、计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081709A (zh) * 2009-12-01 2011-06-01 联想(北京)有限公司 一种浏览器插件的禁用方法、装置和终端
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置
CN102426537A (zh) * 2011-11-02 2012-04-25 北京数码大方科技有限公司 Cad中外部集成进程调用主程序进程的方法及装置
CN103793224A (zh) * 2014-01-17 2014-05-14 北京奇虎科技有限公司 一种窗口的显示方法和装置
CN107613312A (zh) * 2017-10-09 2018-01-19 武汉斗鱼网络科技有限公司 一种直播的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100514300C (zh) * 2006-06-29 2009-07-15 腾讯科技(深圳)有限公司 一种共用窗口的进程调用方法
US9792716B2 (en) * 2014-06-13 2017-10-17 Arcsoft Inc. Enhancing video chatting
US11595702B2 (en) * 2014-08-15 2023-02-28 Tfcf Digital Enterprises, Inc. Data repository for sports and entertainment information
CN106686420A (zh) * 2016-12-09 2017-05-17 广州华多网络科技有限公司 直播应用程序的管理方法及装置
CN106713304A (zh) * 2016-12-19 2017-05-24 北京星辰美豆文化传播有限公司 一种网络直播方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081709A (zh) * 2009-12-01 2011-06-01 联想(北京)有限公司 一种浏览器插件的禁用方法、装置和终端
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置
CN102426537A (zh) * 2011-11-02 2012-04-25 北京数码大方科技有限公司 Cad中外部集成进程调用主程序进程的方法及装置
CN103793224A (zh) * 2014-01-17 2014-05-14 北京奇虎科技有限公司 一种窗口的显示方法和装置
CN107613312A (zh) * 2017-10-09 2018-01-19 武汉斗鱼网络科技有限公司 一种直播的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708366A (zh) * 2019-09-24 2020-01-17 深圳市迅雷网络技术有限公司 一种插件进程的管理方法及相关方法和相关装置

Also Published As

Publication number Publication date
CN107678801A (zh) 2018-02-09
CN107678801B (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
WO2019071680A1 (fr) Procédé et appareil de chargement de module d'extension
WO2019071678A1 (fr) Procédé et dispositif de diffusion en direct
US7441020B2 (en) Media plug-in registration and dynamic loading
US10547657B2 (en) System and method for video gathering and processing
WO2017124842A1 (fr) Procédé et dispositif permettant de prendre des captures d'écran
CN113542757B (zh) 云应用的图像传输方法、装置、服务器及存储介质
WO2021185302A1 (fr) Procédé de diffusion en continu en direct et de configuration basé sur des téléphones en nuage, et appareil et système associés
CN111510780B (zh) 视频直播控制、桥接、流控、播控方法及客户端
US20170346792A1 (en) System and method for kernel level video operations
WO2014089793A1 (fr) Procédé, dispositif et système de réacheminement vidéo et support lisible par ordinateur
KR101931514B1 (ko) 웹 브라우저에서 미디어의 재생과 백업을 동시에 수행하는 장치 및 방법
WO2020151660A1 (fr) Procédé et système de mise en nuage de stb, un stb mince, un stb et une plateforme virtuels et un support de stockage
EP3474559B1 (fr) Procédé et appareil de lecture de télévision intelligente
US11245885B2 (en) Method and system for playing media data
WO2022022174A1 (fr) Appareil et procédé de traitement de données pour scène virtuelle, et dispositif électronique et support de stockage
CN104349177A (zh) 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统
US20170078388A1 (en) Browser-based virtual media administration
US20240089538A1 (en) Port-connected television upgrader device
CN114040251A (zh) 音视频播放方法、系统、存储介质及计算机程序产品
US9055129B2 (en) Automation framework to remotely control devices and process asynchronous events
WO2019071679A1 (fr) Procédé et dispositif de diffusion en continu en direct
US11838589B2 (en) Port-connected television upgrader device
US20200112768A1 (en) Network-based media device upgrading system
US11089381B2 (en) Apparatus and method for simultaneous playback and backup of media in a web browser
WO2021078208A1 (fr) Procédé d'acquisition d'informations, système de boîtier décodeur ayant subi une nuagisation, boîtier décodeur d'entité et support de stockage

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

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

Country of ref document: EP

Kind code of ref document: A1