CN111866508A - Video processing method, device, medium and electronic equipment - Google Patents

Video processing method, device, medium and electronic equipment Download PDF

Info

Publication number
CN111866508A
CN111866508A CN202010671068.8A CN202010671068A CN111866508A CN 111866508 A CN111866508 A CN 111866508A CN 202010671068 A CN202010671068 A CN 202010671068A CN 111866508 A CN111866508 A CN 111866508A
Authority
CN
China
Prior art keywords
video
decoding
interface
main process
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010671068.8A
Other languages
Chinese (zh)
Inventor
李达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010671068.8A priority Critical patent/CN111866508A/en
Publication of CN111866508A publication Critical patent/CN111866508A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Abstract

The present application belongs to the technical field of video encoding and decoding, and in particular, relates to a video processing method, a video processing apparatus, a computer readable medium, and an electronic device. The video processing method comprises the following steps: registering a sub-process for video coding and decoding processing, and establishing inter-process communication connection between a main process and the sub-process; transmitting video processing resources for performing video coding and decoding processing on the video to be processed to the subprocess by the main process; according to the video processing resource, decoding the video to be processed through the subprocess to obtain an original video frame, and editing the original video frame to obtain an edited video frame; and visually displaying the edited video frame through the main process. The video processing method can reduce the memory pressure and improve the stability and reliability of the system.

Description

Video processing method, device, medium and electronic equipment
Technical Field
The present application belongs to the technical field of video encoding and decoding, and in particular, relates to a video processing method, a video processing apparatus, a computer readable medium, and an electronic device.
Background
With the development of computer and network technologies, especially the rapid development and wide application of digital multimedia technologies, video encoding and decoding technology plays a crucial role in the transmission and playing of network videos. Generally, a video codec performs data compression on original video data to solve the problem of difficult video storage and transmission; when the video needs to be played, the video codec decodes the compressed video data to restore the content of the original video as much as possible through inverse operation, and the video is played on the terminal equipment of the user.
Since a large amount Of Memory space is occupied in the video encoding and decoding process, if video playing is performed or other related service functions are implemented at the same time, the risk Of Memory overflow (OOM) is easily caused. In addition, video encoding and decoding are a complex process, and have problems such as system compatibility, abnormal encoding and decoding and the like, which easily affect the system stability.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present application and therefore may include information that does not constitute prior art known to a person of ordinary skill in the art.
Disclosure of Invention
The present application aims to provide a video processing method, a video processing apparatus, a computer readable medium and an electronic device, which at least to some extent overcome the technical problems of high memory occupation and poor system stability during the video encoding and decoding process of the system.
Other features and advantages of the present application will be apparent from the following detailed description, or may be learned by practice of the application.
According to an aspect of an embodiment of the present application, there is provided a video processing method, including:
registering a sub-process for video coding and decoding processing, and establishing inter-process communication connection between a main process and the sub-process;
transmitting video processing resources for performing video coding and decoding processing on the video to be processed to the subprocess by the main process;
according to the video processing resource, decoding the video to be processed through the subprocess to obtain an original video frame, and editing the original video frame to obtain an edited video frame;
and visually displaying the edited video frame through the main process.
According to an aspect of an embodiment of the present application, there is provided a video processing apparatus, including:
The communication establishing module is configured to register a subprocess for video coding and decoding processing and establish interprocess communication connection between a main process and the subprocess;
the resource transfer module is configured to transfer video processing resources for performing video coding and decoding processing on the video to be processed to the sub-process by the main process;
the decoding editing module is configured to decode the video to be processed through the sub-process according to the video processing resource to obtain an original video frame, and edit the original video frame to obtain an edited video frame;
and the video display module is configured to visually display the edited video frame through the main process.
In some embodiments of the present application, based on the above technical solutions, the communication establishing module includes:
a management process registration unit configured to register a service management process for service registration and service retrieval;
the service registration request unit is configured to send a service registration request to the service management process by the subprocess so as to register a subprocess service component;
a service retrieval request unit configured to send a service retrieval request to the service management process by the main process to obtain component information of the sub-process service component;
And the communication connection establishing unit is configured to establish inter-process communication connection between the main process and the sub-process according to the component information.
In some embodiments of the present application, based on the above technical solution, the video processing resource includes a video path parameter for storing the video to be processed, an editing resource parameter for editing the video to be processed, and a video interface object for displaying the video to be processed.
In some embodiments of the present application, based on the above technical solution, the resource transfer module includes:
a parameter passing unit configured to call a parameter initialization interface through the main process to pass the video path parameter and the editing resource parameter to the sub-process by the main process based on the parameter initialization interface;
and the object transferring unit is configured to call an interface binding interface through the main process so as to transfer the video interface object to the sub-process by the main process based on the interface binding interface.
In some embodiments of the present application, based on the above technical solution, the object delivery unit includes:
the object creating subunit is configured to create, through the main process, a view object for displaying the video to be processed, and set an interface monitoring interface based on the view object;
And the object transferring subunit is configured to transfer the video interface object from the main process to the sub-process by calling the interface binding interface when the interface monitoring interface calls back the interface available function of the video interface object.
In some embodiments of the present application, based on the above technical solution, the decoding editing module includes:
a decoding initialization unit configured to perform decoding initialization on the sub-process according to the video processing resource;
the decoding request unit is configured to send a remote decoding request to the subprocess initialized by decoding through the main process;
and the decoding editing unit is configured to respond to the remote decoding request, and the sub-process performs decoding processing on the video to be processed to obtain an original video frame and performs editing processing on the original video frame to obtain an edited video frame.
In some embodiments of the present application, based on the above technical solution, the video processing resource includes a video path parameter for storing the video to be processed, an editing resource parameter for editing the video to be processed, and a video interface object for displaying the video to be processed; the decoding initialization unit includes:
A resource initialization sub-unit configured to perform resource initialization on the sub-process according to the video path parameter and the editing resource parameter to obtain the video to be processed and an editing resource for performing editing processing on the video to be processed;
a decoder initialization sub-unit configured to perform decoder initialization on the sub-process according to the video interface object to obtain a decoder for performing decoding processing on the video to be processed.
In some embodiments of the present application, based on the above technical solutions, the video display module includes:
a frame buffer unit configured to place the edited video frame in a frame buffer area by the host process;
a frame extraction unit configured to extract an edited video frame from the frame buffer area at a video presentation frequency;
and the frame display unit is configured to visually display the extracted edited video frame.
In some embodiments of the present application, based on the above technical solutions, the video processing apparatus further includes:
and the decoding progress display module is configured to acquire the decoding progress of the video to be processed through the main process and visually display the decoding progress.
In some embodiments of the present application, based on the above technical solution, the decoding progress showing module includes:
the callback interface registration unit is configured to register a subprocess callback interface for monitoring the subprocess through the main process;
the decoding progress acquiring unit is configured to call the subprocess callback interface through the main process so as to acquire the decoding progress of the video to be processed based on the subprocess callback interface.
In some embodiments of the present application, based on the above technical solutions, the video processing apparatus further includes:
an interface size adjustment module configured to adjust, by the host process, an interface size of a video interface object for displaying the edited video frame;
and the frame size adjusting module is configured to call a size adjusting interface through the main process so as to adjust the frame size of an original video frame obtained by decoding the to-be-processed video through the subprocess based on the size adjusting interface.
In some embodiments of the present application, based on the above technical solutions, the video processing apparatus further includes:
a display progress adjustment module configured to adjust a display progress of the edited video frame through the main process;
And the decoding position adjusting module is configured to transmit the display progress from the main process to the sub-process so as to adjust a decoding processing position of the sub-process for decoding the video to be processed.
According to an aspect of the embodiments of the present application, there is provided a computer readable medium, on which a computer program is stored, which when executed by a processor implements a video processing method as in the above technical solution.
According to an aspect of an embodiment of the present application, there is provided an electronic apparatus including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the video processing method as in the above technical solution via executing the executable instructions.
According to an aspect of embodiments herein, there is provided a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device executes the video processing method as in the above technical scheme.
In the technical scheme provided by the embodiment of the application, by splitting the whole process of video processing, the sub-process can process logic programs such as video coding and decoding and video editing, and the main process can process logic programs such as sub-process control and video display. Therefore, the content of the video coding and decoding application can be stripped from the main process, the memory pressure of the main process is greatly reduced, the main process can have enough memory resources to process other business logics, and the problem of memory leakage is avoided. In addition, due to the difference of video coding and decoding bottom layer processing logics on different systems, the problems of uncontrollable program crash and the like are inevitable when coding and decoding related logics are developed, the multi-process asynchronous coding and decoding technology of the technical scheme can isolate the problems caused by coding and decoding from the main process of the program, the business logic of the main process is preferentially ensured not to be influenced, and the stability and the reliability of the system can be improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application. It is obvious that the drawings in the following description are only some embodiments of the application, and that for a person skilled in the art, other drawings can be derived from them without inventive effort. In the drawings:
fig. 1 schematically shows a block diagram of an exemplary system architecture to which the solution of the present application applies.
Fig. 2 schematically shows a program architecture diagram of asynchronous processing of video encoding and decoding in an application scenario according to the technical solution of the present application.
Fig. 3 schematically illustrates a flow chart of steps of a video processing method provided in some embodiments of the present application.
FIG. 4 is a flow diagram that schematically illustrates method steps for establishing an interprocess communication connection in some embodiments of the present application.
Fig. 5 schematically shows a processing flow of video processing based on communication interaction between a main process and a sub-process in an application scenario according to an embodiment of the present application.
Fig. 6 schematically shows a flowchart of steps of decoding a video to be processed by a sub-process in an application scenario according to an embodiment of the present application.
Fig. 7 schematically shows a block diagram of a video processing apparatus according to an embodiment of the present application.
FIG. 8 schematically illustrates a block diagram of a computer system suitable for use in implementing an electronic device of an embodiment of the present application.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the application. One skilled in the relevant art will recognize, however, that the subject matter of the present application can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known methods, devices, implementations, or operations have not been shown or described in detail to avoid obscuring aspects of the application.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and operations/steps, nor do they necessarily have to be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
Before introducing the technical scheme of the present application, a brief description is first made on the cloud computing technology involved in the technical scheme of the present application.
Cloud Technology refers to a hosting Technology for unifying resources of hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. The cloud technology is a general term of network technology, information technology, integration technology, management platform technology, application technology and the like applied based on a cloud computing business model, can form a resource pool, is used as required, and is flexible and convenient. Background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture-like websites and more web portals. With the high development and application of the internet industry, each article may have its own identification mark and needs to be transmitted to a background system for logic processing, data of different levels are processed separately, data of various industries need strong system background support, and the support service of the background system can be realized through cloud computing.
Cloud Computing (Cloud Computing) refers to a mode of delivery and use of IT infrastructure, and refers to obtaining required resources in an on-demand, easily-extensible manner over a network; the generalized cloud computing refers to a delivery and use mode of a service, and refers to obtaining a required service in an on-demand and easily-extensible manner through a network. Such services may be IT and software, internet related, or other services. Cloud Computing is a product of development and fusion of traditional computers and Network technologies, such as Grid Computing (Grid Computing), Distributed Computing (Distributed Computing), Parallel Computing (Parallel Computing), Utility Computing (Utility Computing), Network storage (Network storage technologies), Virtualization (Virtualization), Load balancing (Load Balance), and the like. With the development of diversification of internet, real-time data stream and connecting equipment and the promotion of demands of search service, social network, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. Different from the prior parallel distributed computing, the generation of cloud computing can promote the revolutionary change of the whole internet mode and the enterprise management mode in concept.
Fig. 1 schematically shows a block diagram of an exemplary system architecture to which the solution of the present application applies.
As shown in fig. 1, system architecture 100 may include a terminal device 110, a network 120, and a server 130. The terminal device 110 may include various electronic devices such as a smart phone, a tablet computer, a notebook computer, and a desktop computer. The server 130 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud computing services. Network 120 may be a communication medium of various connection types capable of providing a communication link between terminal device 110 and server 130, such as a wired communication link or a wireless communication link.
The system architecture in the embodiments of the present application may have any number of terminal devices, networks, and servers, according to implementation needs. For example, the server 130 may be a server group composed of a plurality of server devices. In addition, the technical solution provided in the embodiment of the present application may be applied to the terminal device 110, or may be applied to the server 130, or may be implemented by both the terminal device 110 and the server 130, which is not particularly limited in this application.
Taking the application of the technical solution provided by the present application on the terminal device 110 as an example, an APP with video playing and editing functions may be installed in the terminal device 110, and by using the technical solution of the present application, asynchronous processing of video encoding and decoding may be implemented in the APP.
Fig. 2 schematically shows a program architecture diagram of asynchronous processing of video encoding and decoding in an application scenario according to the technical solution of the present application. As shown in fig. 2, under the program architecture, the whole process of the application APP is split into two parts, namely a main process 210 and a sub-process 220, and the two processes are respectively responsible for executing different business function modules.
The main process 210 is used to implement an APP service module 211, a multi-process communication management module 212, and a video preview module 213.
The APP service module 211 is mainly responsible for relevant logic such as non-video preview.
The video preview module 212 is mainly responsible for displaying the video frames decoded by the sub-process and processed by the secondary processing on the screen for playing and previewing. The secondary processing refers to a video editing process, for example, the decoded video frames are subjected to operations such as adding stickers, animation, conversion, or changing the speed of the video, splicing the video, and the like.
The multi-process communication management module 213 is mainly responsible for managing the inter-process communication between the main process and the sub-process, and realizes the control of video encoding and decoding on the sub-process 220 by the main process 210.
The sub-process 220 is used to implement a video decoding module 221, a video frame editing module 222, and a video encoding module 223.
The video decoding module 221 is mainly responsible for decoding video frames from a video file.
The video frame editing module 222 is mainly responsible for performing secondary processing on the video frame released by the decoding module, such as adding special effects, pasting pictures, beautifying faces, filtering mirrors, and the like.
The video encoding module 223 is mainly responsible for rewriting the processed video frames into the video file.
In other application scenarios, the present technical solution may be implemented by the terminal device 110 and the server 130 together, for example, the main process 210 may be disposed on the terminal device 110 and the sub-process 220 may be disposed on the server 120, so as to implement the video encoding and decoding process on the remote process. The server 120 may adopt a cloud server to implement online cloud editing of the video. Specifically, the user terminal can send an editing command to the cloud, and the cloud receives the editing command to edit the video and presents the video editing result to the user terminal in an online playing mode.
The following detailed description will be made of technical solutions of a video processing method, a video processing apparatus, a computer readable medium, and an electronic device provided by the present application, with reference to specific embodiments.
Fig. 3 schematically illustrates a flow chart of steps of a video processing method provided in some embodiments of the present application. The video processing method can be executed by the terminal device, the server, or both the terminal device and the server. As shown in fig. 3, the video processing method may mainly include the following steps S310 to S340.
And S310, registering a sub-process for video coding and decoding processing, and establishing inter-process communication connection between a main process and the sub-process.
And S320, transmitting the video processing resource for performing video coding and decoding processing on the video to be processed to the subprocess by the main process.
S330, decoding the video to be processed through the sub-process according to the video processing resources to obtain an original video frame, and editing the original video frame to obtain an edited video frame.
And S340, visually displaying the edited video frame through the main process.
In the video processing method provided by the embodiment of the application, by splitting the whole process of video processing, the sub-process can process logic programs such as video coding and decoding and video editing, and the main process can process logic programs such as sub-process control and video display. Therefore, the content of the video coding and decoding application can be stripped from the main process, the memory pressure of the main process is greatly reduced, the main process can have enough memory resources to process other business logics, and the problem of memory leakage is avoided. In addition, due to the difference of video coding and decoding bottom layer processing logics on different systems, the problems of uncontrollable program crash and the like are inevitable when coding and decoding related logics are developed, the multi-process asynchronous coding and decoding technology of the technical scheme can isolate the problems caused by coding and decoding from the main process of the program, the business logic of the main process is preferentially ensured not to be influenced, and the stability and the reliability of the system can be improved.
The following describes in detail the implementation of each method step in the above embodiments.
In step S310, a sub-process for performing video encoding and decoding processing is registered, and inter-process communication connection between the main process and the sub-process is established.
FIG. 4 is a flow diagram that schematically illustrates method steps for establishing an interprocess communication connection in some embodiments of the present application. As shown in fig. 4, on the basis of the above embodiment, the establishing of the inter-process communication connection between the main process and the sub-process in step S310 may include steps S410 to S440 as follows.
Step S410, registering a service management process for service registration and service retrieval.
Step S420, the subprocess sends a service registration request to the service management process to register to obtain a subprocess service component.
And S430, the main process sends a service retrieval request to the service management process to obtain the component information of the subprocess service component.
And S440, establishing interprocess communication connection between the main process and the sub-process according to the component information.
In the embodiment of the application, the Binder communication mechanism can be adopted to realize the interprocess communication between the main process and the sub-process. Under the Binder communication mechanism, a main process and a sub-process form a Client/Server architecture (Client/Server, C/S). The main process serves as a client and can acquire video coding and decoding processing services provided by the sub-processes; the sub-process serves as a server and can provide video editing code processing service under the control of the main process.
In the embodiment of the present application, a Service management process Service Manager may be registered first, and the Service management process Service Manager may implement a Service registration function and a Service retrieval function. The sub-process is used as a Server and can send a Service registration request to the Service management process Service Manager, so that the sub-process Service assembly Service is obtained by registering in the Service management process Service Manager. The main process serving as the Client may send a Service retrieval request to the Service management process Service Manager to obtain the component information of the sub-process Service component Service. And a communication channel can be established between the main process and the sub-process based on the component information, so that the interprocess communication connection between the main process and the sub-process is realized.
Under the Binder communication mechanism, the main process, the sub-process and the service management process are not directly connected, but the Binder drive in the Kernel space (Kernel space) is used for realizing communication interaction. The realization of the interprocess communication connection of the main process and the subprocess based on the Binder communication mechanism has the advantages of simple and efficient communication mode, high communication safety and the like.
In step S320, the video processing resource for performing video encoding and decoding processing on the video to be processed is transferred from the main process to the sub-process.
In some embodiments of the present application, the video processing resource may mainly include a video path parameter for storing the video to be processed, an editing resource parameter for editing the video to be processed, and a video interface object for displaying the video to be processed.
The storage position of the video to be processed can be determined based on the video path parameters, so that the corresponding video to be processed can be searched along the video path when the video coding and decoding processing is required.
The editing resources used for editing the video can be determined based on the editing resource parameters, and the related editing resources can include object entities such as stickers, animations, special effects and the like which need to be added in the video pictures, and can also include other editing parameters such as editing parameters which need to be used for editing processes such as adding beauty and filtering of the video pictures.
The video interface object is a data structure Surface for being drawn on a display screen of the terminal device, and may be a window interface directly presented to a user. And rendering and drawing the processed video frame to display in the video interface object so as to present a corresponding video picture.
In some embodiments of the present Application, for different video processing resources, different Application Programming Interfaces (APIs) may be configured to implement resource transfer from the main process to the sub-process. The API interface is a predefined function for realizing a specific function, and the process can realize the corresponding program function by calling the API interface.
For example, for the video path parameter and the edit resource parameter, a parameter initialization interface may be configured, and the parameter initialization interface is called by the main process, and the video path parameter and the edit resource parameter may be passed from the main process to the sub-process based on the parameter initialization interface. And aiming at the video interface object, an interface binding interface can be configured, the interface binding interface is called through the main process, and the video interface object can be transmitted to the sub-process by the main process based on the interface binding interface.
In some embodiments of the present application, the video interface object is created by a host process, and effective transfer from the host process to the sub-process can be achieved only when the host process has the video interface object available. Aiming at the inter-process transmission of the video interface object, a view object used for displaying the video to be processed can be created through a main process, and an interface monitoring interface is set based on the view object. When the creation of the video interface object is completed on the main process, that is, when the main process has an available video interface object, the callback of the interface available function can be triggered. When the interface monitoring interface calls back the interface available function of the video interface object, the video interface object can be transferred from the main process to the sub-process by calling the interface binding interface.
In step S330, according to the video processing resource, decoding the video to be processed through the sub-process to obtain an original video frame, and editing the original video frame to obtain an edited video frame.
After the video processing resources are transferred from the main process to the sub-process, decoding initialization may be performed on the sub-process according to the video processing resources. In some embodiments of the present application, the decoding initialization process may be performed separately in terms of both resource initialization and decoder initialization. The resource initialization refers to performing resource initialization on the sub-process according to the video path parameter and the editing resource parameter to obtain a video to be processed and editing resources for editing the video to be processed. The decoder initialization refers to initializing a decoder on a sub-process according to the video interface object to obtain a decoder for decoding the video to be processed. A remote decode request may be sent by the host process to the child process after decode initialization. In response to the remote decoding request, the sub-process may perform decoding processing on the video to be processed to obtain an original video frame, and perform editing processing on the original video frame to obtain an edited video frame.
In step S340, the edited video frame is visually displayed by the host process.
After the sub-process completes the decoding and editing of the video to be processed, the main process can perform visual display on the edited video frame. For example, the edited video frames can be rendered frame by frame for displaying on the interactive interface of the terminal device, so that the user can play or preview the video subjected to the editing processing in real time.
In some embodiments of the present application, to avoid process congestion, a Frame buffer area Frame buffer may be configured in the system to store edited video frames after editing. On the basis, the edited video frame can be placed in the frame buffer area through the main process, then the edited video frame is extracted from the frame buffer area according to the video display frequency, and the extracted edited video frame is displayed visually.
By carrying out interprocess communication between the main process and the subprocess, the subprocess can decode and edit the video to be processed, and the main process can visually display the processed edited video frame. In addition, because the asynchronous video coding and decoding processing scheme which is performed in a cross-process manner is adopted in the embodiment of the application, the aspects of video coding and decoding progress, video display effect adjustment and the like are controlled by performing communication interaction between the main process and the sub-processes.
In some embodiments of the present application, the decoding progress of the video to be processed may be obtained through a main process, and the decoding progress is visually displayed. The decoding progress is the processing progress of the sub-process for decoding the video to be processed. In order to obtain the decoding progress of the video to be processed, a subprocess callback interface for monitoring the subprocess can be registered through a main process; the subprocess callback interface is called through the main process, the decoding progress of the video to be processed can be obtained based on the subprocess callback interface, and therefore the decoding progress of the video to be processed can be visually displayed through the main process. The user can view the decoding playing progress of the video while playing or previewing the video.
In some embodiments of the present application, when the main process visually displays the edited video frame, the display size of the video may be adjusted to obtain different video display effects. For example, a user may move or zoom a player window or playing page during the course of playing or previewing a video. Responding to the display effect adjustment operation of a user, and adjusting the interface size of a video interface object for displaying and editing the video frame through a main process; on the basis, the size adjusting interface can be further called by the main process so as to adjust the frame size of the original video frame obtained by decoding the to-be-processed video by the subprocess based on the size adjusting interface. The subprocess can control the decoder to output the original video frame matched with the interface size of the video interface object when the decoder decodes the video to be processed according to the calling result of the main process to the size adjustment interface, so that the subprocess can adapt to the size change of the playing window or the playing page.
In some embodiments of the present application, the display progress of the edited video frame may be adjusted by the main process, so as to control the sub-process to perform decoding processing from different video positions. For example, a user may view video pictures at different time nodes by dragging a play progress bar during playing or previewing a video. Responding to the display progress adjusting operation of the user, and adjusting the display progress of the edited video frame through the main progress; on the basis, the display progress can be further transmitted to the subprocess from the main process so as to adjust the decoding processing position of the subprocess for decoding the video to be processed.
The following describes in detail the implementation of the video processing method provided in the above embodiment with reference to specific application scenarios.
Fig. 5 schematically shows a processing flow of video processing based on communication interaction between a main process and a sub-process in an application scenario according to an embodiment of the present application. As shown in fig. 5, the video processing flow mainly includes steps S501 to S509 as follows.
S501, the main process and the sub-process establish inter-process communication connection through a Binder mechanism.
Step S502, the main process configures logic related to a User Interface (UI), such as adding a view object TextureView for video playing, and setting an Interface monitoring Interface SurfaceTextureListener for monitoring whether the main process has an available video Interface object surface.
Step S503, when the interface monitoring interface SurfaceTextureListener calls back to the onSurfaceTextureAvailable function indicating that the interface of the video interface object which is available on the main process is available, the surface object transmitted by the call-back is transmitted to the sub-process through multi-process communication, and then the video frame decoded by the sub-process is waited to be rendered on the screen.
And S504, after receiving the surface object transmitted by the main process, the sub-process can bind the surface object to a decoder and start to perform related initialization work of coding and decoding.
And S505, after the initialization of the encoding and decoding is finished, starting to decode the video frame and carrying out secondary processing. For example, when a special effect needs to be added to the video, the sub-process may construct a special effect rendering chain according to the video editing resource obtained by initialization, so as to perform special effect rendering on the video frame obtained by decoding.
Step S506, after a Frame of video is processed, the video Frame is placed into a Frame buffer area Framebuffer through system call, and the system takes out the video Frame from the Frame buffer area Framebuffer according to the fixed frequency to be displayed on a screen. The video frames after being edited can be continuously displayed on the ground screen by repeatedly executing the step until the decoding is finished and no video frames needing to be displayed exist in the Frame buffer area Frame buffer.
And step S507, in the process of video decoding and editing processing of the subprocess, returning the current decoding progress to the main process so as to display the playing progress.
And S508, when the size of the main process playing window is changed, calling a size adjusting interface, then changing the size of the video interface object surface in the sub-process through multi-process communication, and changing the size of the video frame obtained by decoding to adapt to the change of the playing window.
Step s509, when the main process releases the related resource for video playing, such as destroying the video interface object, the onSurfaceDestroy method is called back, and then a play end notification is sent to the sub-process through multi-process communication, and the sub-process releases the related resource of the decoder.
In addition to the above-mentioned video processing schemes such as video decoding and video editing, the sub-process may also implement a video encoding processing scheme, specifically, the video Frame in the Frame buffer area Frame buffer may be encoded to be rewritten in the video file.
On the main process side, various application program interfaces can be provided for controlling the video processing process of the sub-process by means of multi-process communication.
And the Init interface is responsible for transmitting relevant parameters such as video path parameters, editing resource parameters and the like from the main process to the sub-process for standby.
And the BindSurface interface is responsible for transmitting the surface created by the main process to the child process for initializing the decoder when the main process calls back the onSurfaceTextureAvailable.
And the StartRender interface is responsible for starting subprocess decoding logic and displaying the decoded video on a screen after secondary processing.
And the Seek interface is responsible for transmitting the dragging progress of the main process to the sub-process, and starting decoding from the designated position, and displaying on a screen after secondary processing.
And the Pause interface is responsible for pausing the decoding process of the sub-process.
And the changeSurfaceSize interface is responsible for changing the size of the video frame decoded by the subprocess to adapt to the change of the size of the playing window.
The surface hierarchy interface is responsible for logic of resource release such as stop of sub-process coding and decoding.
And the register Callback interface is responsible for registering a monitoring callback function from the main process to the sub-process and calling back the decoding progress and the like to the main process to display the playing progress.
And the UnregiorstCallback interface is responsible for reversely registering a monitoring callback function from the main process to the subprocess and releasing the monitoring callback on the subprocess.
The main process can perform codec control on the sub-process by calling the application program interface of the above example. The subprocess can execute the coding and decoding logic of the video to be processed under the control of the main process based on the calling result of the application program interface.
Fig. 6 schematically shows a flowchart of steps of decoding a video to be processed by a sub-process in an application scenario according to an embodiment of the present application. As shown in fig. 6, in this application scenario, the flow of decoding processing performed by the sub-process includes steps S601 to S605 as follows.
Step S601, receiving a remote initialization request of a main process, and performing decoding initialization related operations, which mainly comprise resource initialization and decoder initialization.
And S602, receiving a remote decoding request sent by the main process, and starting to decode the video on the sub-process.
Step s603, after decoding a frame of video frame, performing secondary processing on the frame of video frame, for example, adding some filters, special effects, stickers, etc., and then sending the video frame after the editing process to a frame buffer area Framebuffer of the system, and starting to perform on-screen display operation on the video frame.
Step s603, after processing a frame of video frame, checking whether decoding is completed.
Step S604, if the decoding is not finished, checking whether the decoding needs to be paused (namely, playing is paused); if the pause is needed, waiting for a signal to be played continuously to wake up the decoding; if no pause is needed, the decoding of the next frame of video frame is continued.
And S605, if the decoding is finished, releasing the relevant resources of the decoder.
From the above decoding process, although the coding and decoding logic of the video is stripped from the main process to the sub-process, the secondary processing of the decoded video frame in the sub-process is not affected, such as adding special effects, background music, animation, and the like. The video frame decoded and edited by the subprocess can be previewed by the main process to check the video editing effect, so that the overall stability and reliability of the system can be ensured while the memory pressure is reduced.
It should be noted that although the various steps of the methods in this application are depicted in the drawings in a particular order, this does not require or imply that these steps must be performed in this particular order, or that all of the shown steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
The following describes embodiments of the apparatus of the present application, which can be used to perform the video processing method in the above embodiments of the present application. Fig. 7 schematically shows a block diagram of a video processing apparatus according to an embodiment of the present application. As shown in fig. 7, the video processing apparatus 700 may mainly include: a communication establishment module 710, a resource delivery module 720, a decode editing module 730, and a video presentation module 740.
A communication establishing module 710 configured to register a sub-process for performing video encoding and decoding processing, and establish inter-process communication connection between a main process and the sub-process;
a resource transferring module 720, configured to transfer, by the main process, the video processing resource for performing video encoding and decoding processing on the video to be processed to the sub-process;
the decoding editing module 730 is configured to decode the video to be processed through the sub-process according to the video processing resource to obtain an original video frame, and edit the original video frame to obtain an edited video frame;
and a video presentation module 740 configured to visually present the edited video frame through the host process.
In some embodiments of the present application, based on the above embodiments, the communication establishing module includes:
A management process registration unit configured to register a service management process for service registration and service retrieval;
the service registration request unit is configured to send a service registration request to the service management process by the subprocess so as to register to obtain a subprocess service component;
the service retrieval request unit is configured to send a service retrieval request to the service management process by the main process so as to obtain component information of the subprocess service component;
and the communication connection establishing unit is configured to establish inter-process communication connection between the main process and the sub-process according to the component information.
In some embodiments of the present application, based on the above embodiments, the video processing resource includes a video path parameter for storing the video to be processed, an editing resource parameter for editing the video to be processed, and a video interface object for displaying the video to be processed.
In some embodiments of the present application, based on the above embodiments, the resource transfer module includes:
a parameter passing unit configured to call the parameter initialization interface through the main process to pass the video path parameter and the editing resource parameter from the main process to the sub-process based on the parameter initialization interface;
and the object transferring unit is configured to call the interface binding interface through the main process so as to transfer the video interface object from the main process to the sub-process based on the interface binding interface.
In some embodiments of the present application, based on the above embodiments, the object delivery unit includes:
the object creating subunit is configured to create a view object for displaying the video to be processed through the main process, and set an interface monitoring interface based on the view object;
and the object transferring subunit is configured to transfer the video interface object from the main process to the sub-process by calling the interface binding interface when the interface monitoring interface calls back the interface available function of the video interface object.
In some embodiments of the present application, based on the above embodiments, the decoding editing module includes:
a decoding initialization unit configured to perform decoding initialization on the sub-process according to the video processing resource;
the decoding request unit is configured to send a remote decoding request to the subprocess initialized by decoding through the main process;
and the decoding editing unit is configured to respond to the remote decoding request, and the sub-process performs decoding processing on the video to be processed to obtain an original video frame and performs editing processing on the original video frame to obtain an edited video frame.
In some embodiments of the present application, based on the above embodiments, the video processing resource includes a video path parameter for storing the video to be processed, an editing resource parameter for editing the video to be processed, and a video interface object for displaying the video to be processed; the decoding initialization unit includes:
The resource initialization sub-unit is configured to perform resource initialization on the sub-process according to the video path parameter and the editing resource parameter to obtain a video to be processed and editing resources for performing editing processing on the video to be processed;
and the decoder initialization sub-unit is configured to perform decoder initialization on the sub-process according to the video interface object so as to obtain a decoder for performing decoding processing on the video to be processed.
In some embodiments of the present application, based on the above embodiments, the video presentation module comprises:
a frame buffer unit configured to place the edited video frame in a frame buffer area by a host process;
a frame extraction unit configured to extract an edited video frame from the frame buffer area at a video presentation frequency;
and the frame display unit is configured to visually display the extracted edited video frame.
In some embodiments of the present application, based on the above embodiments, the video processing apparatus further includes:
and the decoding progress display module is configured to acquire the decoding progress of the video to be processed through the main process and visually display the decoding progress.
In some embodiments of the present application, based on the above embodiments, the decoding progress showing module includes:
A callback interface registration unit configured to register a subprocess callback interface for listening to a subprocess through a main process;
and the decoding progress acquiring unit is configured to call the subprocess callback interface through the main process so as to acquire the decoding progress of the video to be processed based on the subprocess callback interface.
In some embodiments of the present application, based on the above embodiments, the video processing apparatus further includes:
the interface size adjusting module is configured to adjust the interface size of a video interface object for displaying the edited video frame through a main process;
and the frame size adjusting module is configured to call the size adjusting interface through the main process so as to adjust the frame size of the original video frame obtained by decoding the to-be-processed video through the sub-process based on the size adjusting interface.
In some embodiments of the present application, based on the above embodiments, the video processing apparatus further includes:
the display progress adjusting module is configured to adjust the display progress of the edited video frame through the main process;
and the decoding position adjusting module is configured to transmit the display progress from the main process to the subprocess so as to adjust the decoding processing position of the subprocess for decoding the video to be processed.
The specific details of the video processing apparatus provided in the embodiments of the present application have been described in detail in the corresponding method embodiments, and are not described herein again.
Fig. 8 schematically shows a block diagram of a computer system of an electronic device for implementing an embodiment of the present application.
It should be noted that the computer system 800 of the electronic device shown in fig. 8 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 8, the computer system 800 includes a Central Processing Unit (CPU) 801 that can perform various appropriate actions and processes according to a program stored in a Read-Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. In the random access memory 803, various programs and data necessary for system operation are also stored. The cpu 801, the rom 802 and the ram 803 are connected to each other via a bus 804. An Input/Output interface 805(Input/Output interface, i.e., I/O interface) is also connected to the bus 804.
The following components are connected to the input/output interface 805: an input portion 806 including a keyboard, a mouse, and the like; an output section 807 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and a speaker; a storage portion 808 including a hard disk and the like; and a communication section 809 including a network interface card such as a local area network card, modem, and the like. The communication section 809 performs communication processing via a network such as the internet. A drive 810 is also connected to the input/output interface 805 as necessary. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as necessary, so that a computer program read out therefrom is mounted on the storage section 808 as necessary.
In particular, according to embodiments of the present application, the processes described in the various method flowcharts may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 809 and/or installed from the removable medium 811. When executed by the central processor 801, the computer program performs various functions defined in the system of the present application.
It should be noted that the computer readable medium shown in the embodiments of the present application may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM), a flash Memory, an optical fiber, a portable Compact Disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (15)

1. A video processing method, comprising:
registering a sub-process for video coding and decoding processing, and establishing inter-process communication connection between a main process and the sub-process;
transmitting video processing resources for performing video coding and decoding processing on the video to be processed to the subprocess by the main process;
according to the video processing resource, decoding the video to be processed through the subprocess to obtain an original video frame, and editing the original video frame to obtain an edited video frame;
and visually displaying the edited video frame through the main process.
2. The video processing method according to claim 1, wherein the establishing an interprocess communication connection between the main process and the sub-process comprises:
registering a service management process for service registration and service retrieval;
the subprocess sends a service registration request to the service management process to register to obtain a subprocess service component;
the main process sends a service retrieval request to the service management process to obtain component information of the subprocess service component;
and establishing interprocess communication connection between the main process and the sub-process according to the component information.
3. The video processing method according to claim 1, wherein the video processing resource comprises a video path parameter for storing the video to be processed, an editing resource parameter for editing the video to be processed, and a video interface object for displaying the video to be processed.
4. The video processing method according to claim 3, wherein said transferring, by the main process to the sub-process, the video processing resources for video codec processing of the video to be processed comprises:
calling a parameter initialization interface through the main process to transfer the video path parameters and the editing resource parameters from the main process to the sub-process based on the parameter initialization interface;
and calling an interface binding interface through the main process so as to transfer the video interface object to the sub-process by the main process based on the interface binding interface.
5. The video processing method according to claim 4, wherein the transferring the video interface object from the main process to the sub-process based on the interface binding interface comprises:
creating a view object for displaying the video to be processed through the main process, and setting an interface monitoring interface based on the view object;
And when the interface monitoring interface calls back the interface available function of the video interface object, the main process transfers the video interface object to the sub-process by calling the interface binding interface.
6. The video processing method according to claim 1, wherein according to the video processing resource, decoding the video to be processed by the sub-process to obtain an original video frame, and editing the original video frame to obtain an edited video frame, comprises:
performing decoding initialization on the sub-process according to the video processing resource;
sending a remote decoding request to the subprocess after decoding initialization through the main process;
and responding to the remote decoding request, the sub-process decodes the video to be processed to obtain an original video frame, and edits the original video frame to obtain an edited video frame.
7. The video processing method according to claim 6, wherein the video processing resource comprises a video path parameter for storing the video to be processed, an editing resource parameter for editing the video to be processed, and a video interface object for displaying the video to be processed; the performing decoding initialization on the sub-process according to the video processing resource includes:
Performing resource initialization on the sub-process according to the video path parameter and the editing resource parameter to obtain the video to be processed and editing resources for editing the video to be processed;
and initializing a decoder on the sub-process according to the video interface object to obtain a decoder for decoding the video to be processed.
8. The video processing method according to claim 1, wherein said visually presenting the edited video frame by the host process comprises:
placing the edited video frame in a frame buffer region by the host process;
extracting an edited video frame from the frame buffer area according to the video display frequency;
and visually displaying the extracted edited video frame.
9. The video processing method of claim 1, wherein the method further comprises:
and acquiring the decoding progress of the video to be processed through the main process, and visually displaying the decoding progress.
10. The video processing method according to claim 9, wherein the obtaining, by the host process, a decoding progress of the video to be processed comprises:
Registering a subprocess callback interface for monitoring the subprocess through the main process;
and calling the subprocess callback interface through the main process so as to obtain the decoding progress of the video to be processed based on the subprocess callback interface.
11. The video processing method of claim 1, wherein the method further comprises:
adjusting the interface size of a video interface object for displaying the edited video frame through the main process;
and calling a size adjusting interface through the main process so as to adjust the frame size of an original video frame obtained by decoding the to-be-processed video through the subprocess based on the size adjusting interface.
12. The video processing method of claim 1, wherein the method further comprises:
adjusting the display progress of the edited video frame through the main process;
and transmitting the display progress from the main process to the sub-process so as to adjust a decoding processing position of the sub-process for decoding the video to be processed.
13. A video processing apparatus, comprising:
the communication establishing module is configured to register a subprocess for video coding and decoding processing and establish interprocess communication connection between a main process and the subprocess;
The resource transfer module is configured to transfer video processing resources for performing video coding and decoding processing on the video to be processed to the sub-process by the main process;
the decoding editing module is configured to decode the video to be processed through the sub-process according to the video processing resource to obtain an original video frame, and edit the original video frame to obtain an edited video frame;
and the video display module is configured to visually display the edited video frame through the main process.
14. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the video processing method of any one of claims 1 to 12.
15. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the video processing method of any of claims 1 to 12 via execution of the executable instructions.
CN202010671068.8A 2020-07-13 2020-07-13 Video processing method, device, medium and electronic equipment Pending CN111866508A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010671068.8A CN111866508A (en) 2020-07-13 2020-07-13 Video processing method, device, medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010671068.8A CN111866508A (en) 2020-07-13 2020-07-13 Video processing method, device, medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN111866508A true CN111866508A (en) 2020-10-30

Family

ID=72983001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010671068.8A Pending CN111866508A (en) 2020-07-13 2020-07-13 Video processing method, device, medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN111866508A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242451A (en) * 2021-05-07 2021-08-10 上海哔哩哔哩科技有限公司 Video generation method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242451A (en) * 2021-05-07 2021-08-10 上海哔哩哔哩科技有限公司 Video generation method and device

Similar Documents

Publication Publication Date Title
CN105930467B (en) A kind of information processing method and electronic equipment
US9712589B2 (en) System and method for playing a video on mobile web environments
US10271105B2 (en) Method for playing video, client, and computer storage medium
US20220007083A1 (en) Method and stream-pushing client for processing live stream in webrtc
CN110166810B (en) Video rendering engine switching method, device and equipment and readable storage medium
WO2021143182A1 (en) Game processing method and apparatus, electronic device, and computer-readable storage medium
WO2021082299A1 (en) Video playback method and device
CN109819268B (en) Live broadcast room play control method, device, medium and equipment in video live broadcast
CN107209693A (en) Buffer optimization
CN109672902A (en) A kind of video takes out frame method, device, electronic equipment and storage medium
WO2018119711A1 (en) Multimedia encoding/decoding method and device for multi-operating system, and electronic device
CN113691602A (en) Service processing method, system, device, equipment and medium based on cloud mobile phone
US20150319215A1 (en) Methods for facilitating a remote interface and devices thereof
CN115065684A (en) Data processing method, device, equipment and medium
CN113411660B (en) Video data processing method and device and electronic equipment
CN101442627A (en) Control method for peer-to-peer calculation set-top box player
CN111866508A (en) Video processing method, device, medium and electronic equipment
WO2018119616A1 (en) Multi-operating system multimedia data coding and decoding method and apparatus, electronic device and computer program product
US20230283813A1 (en) Centralized streaming video composition
CN107241651B (en) Media data playing method and device and intelligent terminal
CN113411661B (en) Method, apparatus, device, storage medium and program product for recording information
CN113766266B (en) Audio and video processing method, device, equipment and storage medium
EP3229478B1 (en) Cloud streaming service system, image cloud streaming service method using application code, and device therefor
WO2016127888A1 (en) Method and device for downloading multimedia file
WO2016107174A1 (en) Method and system for processing multimedia file data, player and client

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030632

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination