CN110213636A - Video frame generating method, device, storage medium and the equipment of Online Video - Google Patents
Video frame generating method, device, storage medium and the equipment of Online Video Download PDFInfo
- Publication number
- CN110213636A CN110213636A CN201810398279.1A CN201810398279A CN110213636A CN 110213636 A CN110213636 A CN 110213636A CN 201810398279 A CN201810398279 A CN 201810398279A CN 110213636 A CN110213636 A CN 110213636A
- Authority
- CN
- China
- Prior art keywords
- task
- rendering
- thread
- video
- processing result
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 237
- 238000009877 rendering Methods 0.000 claims description 191
- 230000008569 process Effects 0.000 claims description 47
- 230000002452 interceptive effect Effects 0.000 claims description 25
- 230000003993 interaction Effects 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 206010037660 Pyrexia Diseases 0.000 description 6
- 238000011022 operating instruction Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000272194 Ciconiiformes Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4314—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The embodiment of the present application discloses video frame generating method, device, storage medium and the equipment of a kind of Online Video, belongs to field of computer technology.It include different types of sub-data flow in the video data stream the described method includes: receiving video data stream, every seed data stream has different traffic identifier;For every seed data stream, a mission thread and a task queue are created, and is added to the data segment for belonging to same video frame in the sub-data flow as a task in the task queue;For mission thread corresponding to the task queue there are task, the task is handled using the mission thread, obtains each processing result;Each processing result is rendered, video frame is obtained.Terminal capabilities both can be improved in the embodiment of the present application, can also be improved the fluency of picture broadcasting.
Description
Technical field
The invention relates to field of computer technology, in particular to the video frame generating method of a kind of Online Video,
Device, storage medium and equipment.
Background technique
Direct broadcasting room supports the online voice communication of more people and video communication.Each direct broadcasting room may include at least one main broadcaster
User, after at least one spectators user enters direct broadcasting room, direct broadcasting room can also include at least one spectators user.In the live streaming phase
Between, with online interaction, interaction mode can include between main broadcaster user and main broadcaster user, between main broadcaster user and spectators user but not
It is limited to send barrage and gifts.At this point, live streaming client needs to clap barrage sub-data flow, present sub-data flow and main broadcaster
These three different types of sub-data flows of the video sub-data flow taken the photograph generate a video and play out.Here live streaming client
The live streaming client of live streaming client and/or spectators user including main broadcaster user.
In the related technology, live streaming client receives video data stream, includes different types of subnumber in the video data stream
According to stream, and each sub-data flow has different traffic identifier;A mission thread is created, and for the creation pair of every seed data stream
The data segment for belonging to same video frame in every seed data stream is added to the subdata as a task by the task queue answered
It flows in corresponding task queue;Successively the task in each task queue is rendered using the mission thread, is obtained each
Rendering result;Notice hardware renders each rendering result, obtains video frame.
For mission thread when handling the task in a task queue, task in other task queues can seize this
The process resource of business thread in this way, the mission thread can interrupt the processing to current task, and goes to handle appointing in other queues
Business, prevent the picture of current task plays not smooth from being fully displayed in video frame so as to cause picture.
Summary of the invention
The embodiment of the present application provides video frame generating method, device, storage medium and the equipment of a kind of Online Video, uses
Task in solution different task queue seizes the process resource of same mission thread, and picture is caused to play slack ask
Topic.The technical solution is as follows:
On the one hand, a kind of video frame generating method of Online Video is provided, which comprises
Video data stream is received, includes different types of sub-data flow in the video data stream, every seed data stream tool
There is different traffic identifier;
For every seed data stream, a mission thread and a task queue are created, and will be belonged in the sub-data flow
It is added in the task queue in the data segment of same video frame as a task;
For mission thread corresponding to the task queue there are task, the task is carried out using the mission thread
Processing, obtains processing result;
Each processing result is rendered, video frame is obtained.
On the one hand, a kind of video frame generating apparatus of Online Video is provided, described device includes:
Receiving module includes different types of sub-data flow in the video data stream, often for receiving video data stream
Seed data stream has different traffic identifier;
Creation module, every seed data stream for being received for the receiving module, create a mission thread and
One task queue, and it is added to described appoint for the data segment for belonging to same video frame in the sub-data flow as a task
It is engaged in queue;
Processing module, for utilizing the mission thread for mission thread corresponding to the task queue there are task
The task is handled, processing result is obtained;
Generation module obtains video frame for rendering to each processing result that the processing module obtains.
On the one hand, a kind of presentation of video frames method of live video, for being broadcast live in client, the method packet are provided
It includes:
Live video stream is obtained, the live video stream includes live streaming picture data stream and interactive data stream, the interaction
Data flow include at least one of present data flow and barrage data flow, the live video stream, the present data flow and
The barrage data flow has different traffic identifier;
For every kind of data flow, a mission thread and a task queue are created, and will be belonged in the data flow same
The data segment of one live streaming video frame is added in the task queue as a task;
For mission thread corresponding to the task queue there are task, the task is carried out using the mission thread
Processing, obtains processing result;
Each processing result is rendered to obtain live video frame, the live video frame includes live streaming picture and interaction
Data;
Play the live video frame.
On the one hand, a kind of presentation of video frames device of live video, for being broadcast live in client, described device packet are provided
It includes:
Module is obtained, for obtaining live video stream, the live video stream includes live streaming picture data stream and interaction number
According to stream, the interactive data stream includes at least one of present data flow and barrage data flow, the live video stream, described
Present data flow and the barrage data flow have different traffic identifier;
Creation module, every kind of data flow for obtaining for the acquisition module, creates a mission thread and one
Task queue, and it is added to the task queue for the data segment for belonging to same video frame in the data flow as a task
In;
Processing module, for utilizing the mission thread for mission thread corresponding to the task queue there are task
The task is handled, processing result is obtained;
Generation module, for being rendered to obtain live video frame to each processing result that the processing module obtains,
The live video frame includes live streaming picture and interactive data;
Playing module, the live video frame generated for playing the generation module.
On the one hand, provide a kind of computer readable storage medium, be stored in the storage medium at least one instruction,
At least a Duan Chengxu, code set or instruction set, at least one instruction, an at least Duan Chengxu, the code set or refer to
Collection is enabled to be loaded by the processor and executed the video frame generating method to realize Online Video as described above, alternatively, described
At least one instruction, an at least Duan Chengxu, the code set or instruction set are loaded by the processor and are executed to realize
The presentation of video frames method of live video as described above.
On the one hand, a kind of electronic equipment is provided, the electronic equipment includes processor and memory, in the memory
It is stored at least one instruction, described instruction is loaded by the processor and executed the view to realize Online Video as described above
Frequency frame generating method, alternatively, described instruction is loaded by the processor and executed the view to realize live video as described above
Frequency frame playback method.
The beneficial effect of technical solution provided by the embodiments of the present application includes at least:
Due to task seize be handle the task mission thread process resource, so, to each mission thread
When creating a task queue, asking for the process resource of same mission thread can be seized to avoid the task in different task queue
Topic improves the property of terminal so as to avoid the problem for causing the reduced performance of terminal, fever hot due to seizing process resource
Energy.In addition, since each mission thread can handle each task, enable the picture of each task in video frame complete
Full rendering, to improve the fluency of picture broadcasting.In addition, handling task by multiple tasks thread parallel, can accelerate
The processing progress of task avoids the problem of picture plays Caton, improves the fluency of picture broadcasting.
Detailed description of the invention
In order to more clearly explain the technical solutions in the embodiments of the present application, make required in being described below to embodiment
Attached drawing is briefly described, it should be apparent that, the drawings in the following description are only some examples of the present application, for
For those of ordinary skill in the art, without creative efforts, it can also be obtained according to these attached drawings other
Attached drawing.
Fig. 1 is a kind of interface schematic diagram of the competing class live streaming client of electricity provided according to exemplary partial embodiment;
Fig. 2 is a kind of schematic diagram at the direct broadcasting room interface provided according to exemplary partial embodiment;
Fig. 3 is the structural schematic diagram that system is generated according to a kind of video frame that exemplary partial embodiment provides;
Fig. 4 is the method flow diagram of the video frame generating method for the Online Video that the application one embodiment provides;
Fig. 5 is the interaction schematic diagram of the runloop that the application one embodiment provides and mission thread;
Fig. 6 is the method flow diagram of the video frame generating method for the Online Video that another embodiment of the application provides;
Fig. 7 is the flow chart of task processing and rendering that another embodiment of the application provides;
Fig. 8 is the schematic diagram of process flow when exiting backstage that another embodiment of the application provides;
Fig. 9 is the method flow diagram of the presentation of video frames method for the live video that the application one embodiment provides;
Figure 10 is the structural block diagram of the video frame generating apparatus for the Online Video that the application one embodiment provides;
Figure 11 is the structural block diagram of the presentation of video frames device for the live video that the application one embodiment provides;
Figure 12 is the structural block diagram for the terminal that the application another embodiment provides.
Specific embodiment
To keep the purposes, technical schemes and advantages of the embodiment of the present application clearer, below in conjunction with attached drawing to the application
Embodiment is described in further detail.
Before to the embodiment of the present application carrying out that explanation is explained in detail, first the application scenarios of the embodiment of the present application are carried out
Explanation.
The embodiment of the present application is applied to broadcast at least two distinct types of data generation one online video that plays
In the scene put, it is illustrated below with the typical scene of two of them:
1, live scene
Live scene includes direct broadcasting room live scene and live telecast scene, is carried out separately below to both live scenes
Explanation.
1) direct broadcasting room live scene
Main broadcaster user enters direct broadcasting room by the live streaming client of main broadcaster user, spectators user passes through the live streaming of spectators user
After client enters direct broadcasting room, between main broadcaster user and main broadcaster user, between main broadcaster user and spectators user can with online interaction,
Interaction mode includes but is not limited to send barrage and gifts.At this point, live streaming client is needed barrage sub-data flow, present
These three different types of sub-data flows of the video sub-data flow that sub-data flow and main broadcaster shoot generate a videos and play out,
To embody the enjoyment of interaction.Here live streaming client includes the live streaming client and/or the live streaming of spectators user of main broadcaster user
Client.
Here live streaming client can be the competing class live streaming client of electricity for live game process, be also possible to be used for
Client is broadcast live in the amusement class that the entertainments such as song and dance, talk show are broadcast live, and the present embodiment does not limit the type of live streaming client
It is fixed.
By taking the competing class live streaming client of electricity as an example, referring to FIG. 1, it illustrates the Shipping Options Page interface of " king " game, in Fig. 1
" BA merciless " and " penguin " be two direct broadcasting rooms, when the user clicks when " BA is merciless ", into the direct broadcasting room of " BA mercilessness ", from mark
Label page boundary face jumps to direct broadcasting room interface shown in Fig. 2;Referring to FIG. 2, the region of its top half is playing " BA is merciless "
Direct broadcasting room in ongoing game video, intermediate region shows barrage, and the region of lower half portion shows present class
Type.
It should be noted that Fig. 2 in interface three different regions show that three kinds of data are illustrated, in practical reality
Now, can also be by barrage, present Overlapping display on video pictures, the present embodiment is not to the display shape of various types of data
Formula limits.
2) live telecast scene
TV in addition to broadcasting program number evidence, can also play the two dimensional code, short of program side's contact method when playing program
The different types of data such as program data, interactive data can be generated a video by the interactive datas such as signal code, TV applications
It plays out.
2, Video Applications play scene
Video playing is applied in addition to playing video data, can also play barrage, advertisement link relevant to video data,
The different types of data such as video data, interactive data can be generated one by the interactive datas such as advertising slogan, video playing application
Video plays out.
In the present embodiment, a mission thread and a task queue are created for each type of sub-data flow, in this way,
When processing task, the task in different task queue will not mutually seize the process resource of mission thread, enable each task
It is enough fully processed, to ensure that the fluency that picture plays.
Next the system architecture of the embodiment of the present invention is introduced.
Referring to FIG. 3, it illustrates a kind of structural schematic diagrams of video frame generation system provided by the embodiments of the present application.It should
It includes at least one terminal 310 and server 320 that video frame, which generates system,.Terminal 310 and server 320 by cable network or
Wireless network establishes connection.
Terminal 310 is that have the equipment of data transmit-receive function, such as smart phone.It can be equipped with above in terminal 310
The live streaming client, Television clients, video playing client etc..
For being equipped with live streaming client in terminal 310, then client is broadcast live can be divided into according to the difference of user:
The spectator client that the main broadcaster's client and spectators user that main broadcaster user uses use.Wherein, main broadcaster user is to possess interaction power
Interactive data and local collected video data can be uploaded to server by the user of limit and live video upload permissions,
Then the interactive data and video data are transmitted to main broadcaster's client and spectator client by server, main broadcaster's client can be with
The video data and interactive data for receiving server transmission, are then shown;Spectators user is the use for possessing interaction permission
Interactive data can be uploaded to server by family, and the interactive data is transmitted to main broadcaster's client and spectators client by server
End, spectator client can receive the video data and interactive data of server transmission, be then shown.In addition to this,
The client that the client and spectators user that main broadcaster user uses use is essentially identical.
Server 320 can be one or multiple servers, can also be a cloud computing center.In other words, it takes
Being engaged in device 320 can be by a server realization;Can also combine realization by multiple servers, every server undertake it is identical or
Different functions, for example have the server for registering and logging, the server for saving user's head portrait, for saving channel
The server of information and configuration information, server for saving picture or video etc.;Server 320 can also use cloud meter
Realize that cloud computing center is that whole piece service cluster is formed by virtual computing platforms in calculation center.
It is illustrated in Fig. 3 with showing two terminals 310 and server 320.
Referring to FIG. 4, it illustrates the sides of the video frame generating method of the Online Video of the application one embodiment offer
The video frame generating method of method flow chart, the Online Video can be applied in the client in terminal shown in Fig. 3.This is online
The video frame generating method of video, comprising:
Step 401, video data stream is received, includes different types of sub-data flow, every seed number in the video data stream
There is different traffic identifier according to stream.
Video data stream is server to the data flow of the video of client push.For example, user is entered by client
After direct broadcasting room, video data stream of the server to client push;Alternatively, server is pushed away to client after user opens TV
The video data stream sent.
The video data stream of different video includes different types of sub-data flow, and every seed data stream is for providing in video
A kind of element and every seed data stream have different traffic identifier, with show distinguish.For example, the video data stream of direct broadcasting room is at least
Including video sub-data flow, barrage sub-data flow, present sub-data flow;The video data stream of video playing application includes at least view
Frequency sub-data flow, barrage sub-data flow, advertisement sub-data flow.
In the present embodiment, client first sends video acquisition request to server, and server is requested according to the video acquisition
Video data stream is determined, by the video data stream to client.
In the present embodiment, traffic identifier can be carried according to the data IP generated in video data stream
In the packet header of (Internet Protocol, Internet protocol) data packet, in this way, client is receiving each IP data packet
Afterwards, the packet header of each IP data packet can be parsed, it, will be each with the traffic identifier for every kind of traffic identifier being resolved to
Data in a IP data packet form a kind of sub-data flow, and video data stream is finally divided into multiple sub-data flows.
Step 402, a mission thread and a task queue are created for every seed data stream, and by the subdata
The data segment for belonging to same video frame in stream is added in task queue as a task.
Mission thread is the thread for being handled task.Wherein, thread is referred to as Lightweight Process, is that program is held
The minimum unit of row stream.
Task queue is the queue for caching task, and each task is to belong to the data of same video frame in sub-data flow
Section.Wherein, task queue is effective always when direct broadcasting room is not turned off, that is, always can be to this during direct broadcasting room is not turned off
Task is added in business queue, and reads task from the task queue.
In the present embodiment, client creates a mission thread and a task queue to every seed data stream.For example, view
The data flow of frequency includes video sub-data flow, barrage sub-data flow and present sub-data flow, then client can be video subnumber
According to stream one mission thread of creation and a task queue, a mission thread and a task team are created for barrage sub-data flow
Column create a mission thread and a task queue for present sub-data flow.
For each sub-data flow, which can be divided into several tasks and be added to the subdata by client
It flows in corresponding task queue.When sub-data flow is divided into several tasks, one kind is achieved in that in sub-data flow
The data of fixed duration are intercepted, using obtained data segment as a task, which is to belong to one in sub-data flow
The data of video frame.For example, fixed duration is 1s, then after receiving sub-data flow, the data that interception receives in 0-1 seconds,
Obtained data segment is divided into a task to be added in task queue;The data received in interception 1-2s, by what is obtained
Data segment is divided into a task and is added in task queue, and so on.
It should be noted that continuing for the video data stream to be divided into and appoint during client receives video data stream
Business is added in corresponding task queue.During this period, each mission thread executes step 403 to handle corresponding task queue
In task.
Step 403, for mission thread corresponding to the task queue there are task, using the mission thread to task into
Row processing, obtains processing result.
In the present embodiment, in the task of generation, client can also using the timestamp of video frame as the timestamp of task,
In this way, can determine mission thread according to timestamp to the processing sequence of task, below to the process of mission thread processing task
It is introduced.
Circulation executes following steps when each mission thread processing task: the wherein time is searched from corresponding task queue
An earliest task of stamp starts the corresponding runloop of the mission thread (operation circulation), which is registered as
The input in mode that task registration is the runloop (operation recycles) by the registration observer in the mode of the runloop
Source, and the timing source in the mode of runloop is set, during running the runloop according to timing source, utilize the task line
Journey such as is decapsulated to the task, is decoded at the processing, obtains a processing result.
Wherein, runloop includes that the input source to be monitored, timing source and the registration observer to be notified, input source are
For the task of registration, timing source is the duration that mission thread handles a task, and registration observer is mission thread.?
When runloop each run, a mode can be specified, the mode is corresponding with input source, and input source corresponding with the mode is at this
Monitored when secondary runloop is run, input source not corresponding with the mode then placed in a suspend state, waits matched mode
Runloop starting when could be monitored.In other words, a kind of interested input source can only be monitored by running a runloop.
In the present embodiment, a runloop corresponds to a mission thread, can handle one in a mission thread
After task, next task is registered in runloop, to guarantee the mission thread by runloop (operation recycles)
Continuous service.Referring to FIG. 5, it illustrates the interaction schematic diagrames of runloop and mission thread, wherein Input Sources
It is input source, Port is the input source based on port, and Custom is customized input source, and Timer Sources is timing source,
HandlePort is to handle the input source based on port, and customSrc is the processing customized input source of user, and mySelector is
The source of Selector is handled, timerFired is processing timing source.
It should be noted that between different task thread can with the task in the corresponding task queue of parallel processing,
To accelerate the processing progress of task.
Step 404, each processing result is rendered, obtains video frame.
Client first can be rendered to obtain rendering result to each processing result, reinform hardware to rendering result into
Row rendering obtains video frame.Wherein, the process rendered to each processing result is detailed in the description in step 604-607, this
Place does not repeat.
Here hardware can be GPU (Graphics Processing Unit, graphics processor), be also possible to other
Processor, this embodiment is not limited.After Hardware Render obtains video frame, video frame can be carried out according to certain frame per second
It plays, that is, upper screen is carried out to video frame.
In conclusion the video frame generating method of Online Video provided by the embodiments of the present application, since what task was seized is
The process resource of the mission thread of the task being handled, so, when creating a task queue to each mission thread, can keep away
Exempt from the problem of task in different task queue seizes the process resource of same mission thread, so as to avoid due to seizing processing
The problem that resource causes the reduced performance of terminal, fever hot, improves the performance of terminal.In addition, due to each mission thread
It can handle each task, the picture of each task in video frame rendered completely, is broadcast to improve picture
The fluency put.In addition, handling task by multiple tasks thread parallel, the processing progress of task can be accelerated, avoid picture
Face plays the problem of Caton, improves the fluency of picture broadcasting.
Referring to FIG. 6, it illustrates the sides of the video frame generating method of the Online Video of another embodiment offer of the application
The video frame generating method of method flow chart, the Online Video can be applied in the client in terminal shown in Fig. 3.This is online
The video frame generating method of video, comprising:
Step 601, video data stream is received, includes different types of sub-data flow, every seed number in the video data stream
There is different traffic identifier according to stream.
Step 602, a mission thread and a task queue are created for every seed data stream, and by the subdata
The data segment for belonging to same video frame in stream is added in task queue as a task.
Step 603, for mission thread corresponding to the task queue there are task, using the mission thread to task into
Row processing, obtains processing result.
Wherein, the implementation process of step 601-603 is identical as the implementation process of step 401-403, does not repeat herein.
Step 604, the processing result respectively obtained is sent to rendering thread using each mission thread.
Rendering thread is the thread rendered for the processing result to task.
The mission thread of each processing task is sent the processing result after often obtaining a processing result
Give rendering thread.
Step 605, each processing result is added in screen buffer using rendering thread.
Thread is rendered according to the sequence for receiving processing result, each processing result is added in screen buffer, under
Two kinds of situations in adding procedure are illustrated.
1) when current time rendering thread receives a processing result, rendering thread directly adds the processing result
Into screen buffer.
For example, the list cached in screen buffer are as follows: the processing of the processing result-> video task 2 of video task 1
As a result the processing result of the processing result-> present task 2 of-> present task 1, if the place that current time rendering thread receives
Manage the processing result the result is that video task 3, then after the processing result is added in screen buffer, the list are as follows: view
The place of the processing result-> present task 2 of the processing result-> present task 1 of the processing result-> video task 2 of frequency task 1
Manage the processing result of result-> video task 3.
2) when current time rendering thread receives at least two processing results:
If it is determined that at least two processing result corresponds to different timestamps, then according to timestamp by early to late suitable
At least two processing result is successively added in screen buffer by sequence.
If it is determined that at least two processing result corresponds to identical timestamp, i.e., when there are at least two mission threads are same
When sending the processing result for corresponding to same video frame to rendering thread, each processing result is added to using rendering thread
May include the following steps in screen buffer:
Step 6051, at least two processing results for corresponding to same video frame are received using rendering thread.
Step 6052, the processing priority of the corresponding sub-data flow of each processing result is determined using rendering thread.
Since rendering thread is according to processing result to be added to the sequence in screen buffer to render processing result, it is
The processing result of important task is first rendered in guarantee same video frame, needs to come according to the processing priority of sub-data flow
Determine that each processing result is added to the sequence in screen buffer.
In the present embodiment, it can be arranged according to the importance sub-data streams of sub-data flows various types of in video preferential
Grade, height and the importance positive correlation of the priority of sub-data flow.That is, sub-data flow is more important, priority is higher.
Still it is illustrated, then may be used by taking video data stream includes video sub-data flow, present sub-data flow and barrage sub-data flow as an example
The highest priority of video sub-data flow is arranged, the priority that barrage sub-data flow is arranged is minimum.
Step 6053, it is polled using rendering thread according to processing priority, the processing that each poll is obtained
As a result it is added in screen buffer.
For example, rendering thread receives the processing result of video task and the processing result of present task, and video simultaneously
The priority of sub-data flow is higher than the priority of present sub-data flow, then renders the processing whether thread elder generation poll has video task
As a result, the processing result of the video task is added in screen buffer when being polled to the processing result of video task;Wash with watercolours
Whether poll has the processing result of present task to appoint the present when being polled to the processing result of present task to dye thread again
The processing result of business is added in screen buffer.
Step 606, successively each processing result in screen buffer is rendered using rendering thread, is obtained each
Rendering result.
Wherein, successively each processing result in screen buffer is rendered using rendering thread, obtains each wash with watercolours
Dye is as a result, may include the following steps:
Step 6061, the drafting context of the corresponding process of client is assigned to rendering thread.
Context is drawn for generating context environmental, is used when GPU is carried out to rendering result and rendered upper screen.Wherein,
One process corresponds to a drafting context, and process here is the corresponding process of client, i.e. creation mission thread and wash with watercolours
Contaminate the process of thread.
Step 6062, it is added to the sequence in screen buffer according to processing result using rendering thread, successively from view
A processing result is read in frequency buffer area.
Step 6063, for each processing result, it is added to drafting up and down using rendering thread creation texture, and by texture
Wen Zhong renders processing result, obtains intermediate data, and intermediate data is added in texture, obtains rendering result.
Texture in computer graphics had both included the texture of body surface on ordinary meaning, even if body surface presentation is recessed
The rill of convex injustice, the multicolour pattern being also included on the smooth surface of object, in other words, texture refer to the flower of body surface
Line.
Here intermediate data can be RGB (Red Green Blue, RGB) data.
Still by taking the list in step 605 as an example, then it will first draw context and be assigned to rendering thread, rendering thread is read
The processing result of video task 1 creates texture, and texture is added to and is drawn in context, to the processing result of video task 1
It is rendered, obtains RGB, RGB data is added in texture, obtain the rendering result of video task 1;It renders thread and reads view
The processing result of frequency task 2 creates texture, and texture is added to and is drawn in context, to the processing result of video task 2 into
Row rendering, obtains RGB, RGB data is added in texture, obtain the rendering result of video task 2;It renders thread and reads present
The processing result of task 1 creates texture, and texture is added to and is drawn in context, carries out to the processing result of present task 1
Rendering, obtains RGB, RGB data is added in texture, obtain the rendering result of present task 1, and so on.
Referring to FIG. 7, it illustrates establish task queue, handled each task, processing for poll be arranged
The flow chart that priority, poll processing result are added in screen buffer, and are rendered.
Step 607, when obtaining the corresponding each rendering result of a video frame every time, start rendering to GPU transmission and refer to
It enables, beginning render instruction is used to indicate GPU and starts the corresponding each rendering result of render video frame, obtains video frame.
In the present embodiment, after obtaining each rendering result, client can notify GPU to carry out wash with watercolours to rendering result immediately
Dye and play, since other rendering results of same video frame at this time may be not ready, will lead to picture play it is not smooth,
So optionally, GPU can also be reinformed to the video frame after often obtaining the corresponding all rendering results of a video frame
Corresponding all rendering results are rendered, and are played again after obtaining video frame.
When client receives the running background instruction of user's sending, backstage is withdrawn into according to running background instruction and is transported
Row.In the related technology, if closed line journey, thread not will continue to handle task client, and GPU is notified to generate video
Frame plays out, since the operating system of terminal does not allow the client of running background to continue to play video frame, so, operation system
System will cause client collapse to prevent client terminal playing video frame.If client closes thread, user may can forget
Just in running background client, the utilization rate of client is reduced.In the present embodiment, when client is withdrawn into running background, also
Step 608 is executed, to solve the above problems.
Step 608, it when receiving running background instruction, is sent to GPU and stops render instruction, stopped render instruction and be used for
Instruction GPU stopping renders rendering result.
In the present embodiment, client not closed line journey in running background, and mission thread will continue to at task
Reason, and processing result is sent to rendering thread, processing result is added in screen buffer by rendering thread, and indicates GPU
Stopping renders rendering result.In this way, would not also play video frame since GPU does not render rendering result, grasp
Make system not and will cause client collapse.In addition, due to client not closed line journey, so, the line of such as audio processing etc
Journey can also continue to the sound of output video, to prompt user's client also running, to improve the utilization rate of client.
Optionally, this method further include: when receiving running background instruction, notice rendering thread stops poll.
Polling purpose is preferentially to be added to the processing result of task important in same video frame in screen buffer,
Preferentially to be rendered to obtain rendering result to the processing result, so that hardware precedence renders and plays the rendering result.In visitor
Family end is in running background, since GPU does not need to render rendering result and played, so, do not need concern processing knot
Fruit is added to the sequence in screen buffer, that is, rendering thread can be at random by corresponding at least two processing of same video frame
As a result it is added in screen buffer, at this point, client can notify rendering thread to stop poll, to save resource.
It should be noted that rendering thread starts poll when receiving at least two processing results at the same time, without to
It renders thread and sends instruction to notify it to start poll.
Optionally, this method further include: when receiving running background instruction, removed using rendering thread and draw context
In data texturing, by draw context be assigned to process.
In client in running background, it is also necessary to remove data texturing, otherwise, remaining data texturing will affect video
Buffer area.
In a kind of possible implementation, when client receives running background instruction, notice rendering thread stops wheel
It askes, rendering thread stops poll, and the data texturing in context is drawn in cleaning, will draw context and be assigned to process, and to GPU
It sends and stops render instruction, to indicate that GPU stopping renders rendering result, please refer to process shown in Fig. 8.
In an example, after using method provided in this embodiment, CPU (Central Processing Unit, in
Central processor) occupancy from unused this method when measure 38.9% be reduced to 25.6%, and memory is from the unused party
The 250MB measured when method is reduced to 190MB, greatly improves the performance of terminal.In addition, side provided in this embodiment is not used
Before method, client has 0.5% collapse rate when being withdrawn into running background, after using method provided in this embodiment, client
End will not generate collapse when being withdrawn into running background.
In conclusion the video frame generating method of Online Video provided by the embodiments of the present application, since what task was seized is
The process resource of the mission thread of the task being handled, so, when creating a task queue to each mission thread, can keep away
Exempt from the problem of task in different task queue seizes the process resource of same mission thread, so as to avoid due to seizing processing
The problem that resource causes the reduced performance of terminal, fever hot, improves the performance of terminal.In addition, due to each mission thread
It can handle each task, the picture of each task in video frame rendered completely, is broadcast to improve picture
The fluency put.In addition, handling task by multiple tasks thread parallel, the processing progress of task can be accelerated, avoid picture
Face plays the problem of Caton, improves the fluency of picture broadcasting.
When receiving running background instruction, notice rendering thread stops poll, to save resource.
When receiving running background instruction, the data texturing in drafting context is removed to avoid residual using rendering thread
Influence of the data texturing stayed to screen buffer.
Referring to FIG. 9, it illustrates the sides of the presentation of video frames method of the live video of another embodiment offer of the application
Method flow chart, the presentation of video frames method of the live video can be applied in the live streaming client in terminal shown in Fig. 3.It should
The presentation of video frames method of live video, comprising:
Step 901, live video stream is obtained, which includes live streaming picture data stream and interactive data stream, is somebody's turn to do
Interactive data stream includes at least one of present data flow and barrage data flow, live video stream, present data flow and barrage
Data flow has different traffic identifier.
Live video stream is server to live streaming client push, the video flowing for playing in direct broadcasting room.
Live video stream further includes main broadcaster user and spectators the user generation in interaction in addition to including live streaming picture data stream
Interactive data stream.Optionally, interactive data stream includes at least one of present data flow and barrage data flow.Wherein, gift
The data flow that object data flow generates when being gifts, barrage data flow are the data flows generated when sending barrage.
In one possible implementation, live streaming client first sends live video acquisition request, service to server
Device determines live video stream according to the live video acquisition request, which is sent to live streaming client.
Step 902, for every kind of data flow, a mission thread and a task queue are created, and will be in the data flow
The data segment for belonging to same live video frame is added in task queue as a task.
In the present embodiment, live streaming client creates a mission thread and a task queue to every kind of data flow.For example,
Live video stream includes live streaming picture data stream, barrage data flow and present data flow, then client, which is broadcast live, to be live streaming picture
Face data stream creates a mission thread and a task queue, creates a mission thread and a task for barrage data flow
Queue creates a mission thread and a task queue for present data flow.
For each data flow, which can be divided into several tasks and be added to the data flow by live streaming client
In corresponding task queue.
It is a kind of possible when being achieved in that interception is fixed in a stream when data flow is divided into several tasks
Long data, using obtained data segment as a task, which is to belong to a live video frame in data flow
Data.For example, fixed duration is 1s, then after receiving data flow, the data that interception receives in 0-1 seconds, the number that will be obtained
A task is divided into according to section to be added in task queue;The data received in interception 1-2s, obtained data segment is divided
It is added in task queue for a task, and so on.
Step 903, for mission thread corresponding to the task queue there are task, using the mission thread to task into
Row processing, obtains processing result.
Wherein, the implementation process of step 903 and the implementation process of step 403 are identical, do not repeat herein.
Step 904, the processing result respectively obtained is sent to rendering thread using each mission thread.
For the mission thread of each processing task, after mission thread often obtains a processing result, i.e., by the processing
As a result it is sent to rendering thread.
Step 905, each processing result is added in screen buffer using rendering thread.
Thread is rendered according to the sequence for receiving processing result, each processing result is added in screen buffer, under
Two kinds of situations in adding procedure are illustrated.
1) when current time rendering thread receives a processing result, rendering thread directly adds the processing result
Into screen buffer.
2) when current time rendering thread receives at least two processing results:
If it is determined that at least two processing result corresponds to different timestamps, then according to timestamp by early to late suitable
At least two processing result is successively added in screen buffer by sequence.
If it is determined that at least two processing result corresponds to identical timestamp, i.e., when there are at least two mission threads are same
When sending the processing result for corresponding to same live video frame to rendering thread, each processing result added using rendering thread
It is added in screen buffer, may include the following steps:
Step 9051, at least two processing results for corresponding to same live video frame are received using rendering thread.
Step 9052, the processing priority of the corresponding data flow of each processing result is determined using rendering thread.
Since rendering thread is according to processing result to be added to the sequence in screen buffer to render processing result, it is
The processing result of important task is first rendered in the same live video frame of guarantee, optionally, can be according to the place of data flow
Priority is managed to determine that each processing result is added to the sequence in screen buffer.
In the present embodiment, priority, the height of the priority of data flow can be arranged according to the importance of each data flow
With importance positive correlation.That is, data flow is more important, priority is higher.It still include live streaming picture with live video stream
It is illustrated for face data stream, present data flow and barrage data flow, then the priority of live streaming picture data stream can be set
Highest, the priority that barrage data flow is arranged are minimum.
Step 9053, it is polled using rendering thread according to processing priority, the processing that each poll is obtained
As a result it is added in screen buffer.
For example, rendering thread receives the processing result of live streaming picture task and the processing result of present task simultaneously, and
The priority that picture data stream is broadcast live is higher than the priority of present data flow, then renders whether thread elder generation poll has live streaming picture to appoint
The processing result of business adds the processing result of the live streaming picture task when being polled to the processing result of live streaming picture task
Into screen buffer;Whether poll has the processing result of present task to rendering thread again, when the processing for being polled to present task
When as a result, the processing result of the present task is added in screen buffer.
Step 906, successively each processing result in screen buffer is rendered using rendering thread, is obtained each
Rendering result.
Wherein, successively each processing result in screen buffer is rendered using rendering thread, obtains each wash with watercolours
Dye is as a result, may include the following steps:
Step 9061, the drafting context that the corresponding process of client is broadcast live is assigned to rendering thread.
Context is drawn for generating context environmental, is used when GPU is carried out to rendering result and rendered upper screen.Wherein,
One process corresponds to a drafting context, and process here is the corresponding process of live streaming client, i.e. creation mission thread
With the process of rendering thread.
Step 9062, it is added to the sequence in screen buffer according to processing result using rendering thread, successively from view
A processing result is read in frequency buffer area.
Step 9063, for each processing result, it is added to drafting up and down using rendering thread creation texture, and by texture
Wen Zhong renders processing result, obtains intermediate data, and intermediate data is added in texture, obtains rendering result.
Step 907, it when obtaining the corresponding each rendering result of a live video frame every time, is sent to GPU and starts wash with watercolours
Order is had a finger in every pie, beginning render instruction is used to indicate GPU and starts to render the corresponding each rendering result of live video frame, obtains live streaming view
Frequency frame, the live video frame include live streaming picture and interactive data.
In the present embodiment, after obtaining each rendering result, live streaming client can notify GPU immediately to rendering result into
It row rendering and plays, since other rendering results of same live video frame at this time may be not ready, will lead to picture and broadcast
Put it is not smooth, so, optionally, can also be reinformed after often obtaining the corresponding all rendering results of a live video frame
GPU renders the corresponding all rendering results of the live video frame, obtains live video frame.
Step 908, live video frame is played.
When live streaming client receives the running background instruction of user's sending, after being withdrawn into according to running background instruction
Platform operation.In the related technology, if closed line journey, mission thread and rendering thread not will continue to carry out task live streaming client
Processing, and GPU is notified to generate live video frame and play out, since the operating system of terminal does not allow the live streaming visitor of running background
Family end continues to play live video frame, so, operating system will cause live streaming client collapse to prevent live streaming client terminal playing
Live video frame.If client, which is broadcast live, closes thread, user may can forget that client just is broadcast live in running background, reduce
The utilization rate of client is broadcast live.In the present embodiment, when live streaming client is withdrawn into running background, step 608 is executed, also with solution
The certainly above problem.
Step 909, it when receiving running background instruction, is sent to GPU and stops render instruction, stopped render instruction and be used for
Instruction GPU stopping renders rendering result.
In the present embodiment, be broadcast live client not closed line journey in running background, and mission thread will continue to task into
Row processing, and processing result is sent to rendering thread, processing result is added in screen buffer by rendering thread, and indicates
GPU stopping renders rendering result.In this way, would not also play video since GPU does not render rendering result
Frame, operating system not will cause live streaming client collapse.In addition, since client not closed line journey is broadcast live, so, such as audio
The thread of processing etc can also continue to the sound of output video, to prompt user's live streaming client also running, to mention
The utilization rate of height live streaming client.
Optionally, this method further include: when receiving running background instruction, notice rendering thread stops poll.
Polling purpose is that the processing result of task important in same live video frame is preferentially added to video buffer
Qu Zhong, preferentially to be rendered to obtain rendering result to the processing result, so that GPU is preferentially rendered and played the rendering result.
In live streaming client in running background, since GPU does not need to render rendering result and played, so, it does not need to close
Note processing result is added to the sequence in screen buffer, that is, rendering thread can be corresponding by same live video frame at random
At least two processing results are added in screen buffer, at this point, live streaming client can notify rendering thread to stop poll, with
Save resource.
It should be noted that rendering thread starts poll when receiving at least two processing results at the same time, without to
It renders thread and sends instruction to notify it to start poll.
Optionally, this method further include: when receiving running background instruction, removed using rendering thread and draw context
In data texturing, by draw context be assigned to process.
In live streaming client in running background, it is also necessary to remove data texturing, otherwise, remaining data texturing will affect
Screen buffer.
In a kind of possible implementation, when live streaming client receives running background instruction, notice rendering thread stops
Only poll, rendering thread stop poll, and the data texturing in context is drawn in cleaning, will draw context and are assigned to process, and
It is sent to GPU and stops render instruction, to indicate that GPU stopping renders rendering result.
In conclusion the presentation of video frames method of live video provided by the embodiments of the present application, since what task was seized is
The process resource of the mission thread of the task being handled, so, when creating a task queue to each mission thread, can keep away
Exempt from the problem of task in different task queue seizes the process resource of same mission thread, so as to avoid due to seizing processing
The problem that resource causes the reduced performance of terminal, fever hot, improves the performance of terminal.In addition, due to each mission thread
It can handle each task, the picture of each task in live video frame rendered completely, to improve straight
Broadcast the fluency of picture broadcasting.In addition, handling task by multiple tasks thread parallel, the processing progress of task can be accelerated,
The problem of live streaming picture plays Caton is avoided, the fluency that live streaming picture plays is improved.
When receiving running background instruction, notice rendering thread stops poll, to save resource.
When receiving running background instruction, the data texturing in drafting context is removed to avoid residual using rendering thread
Influence of the data texturing stayed to screen buffer.
Referring to FIG. 10, it illustrates the knots of the video frame generating apparatus of the Online Video of the application one embodiment offer
The video frame generating apparatus of structure block diagram, the Online Video can be applied in the client in terminal shown in Fig. 3.This is regarded online
The video frame generating apparatus of frequency, comprising:
Receiving module 1010 includes different types of sub-data flow in video data stream, often for receiving video data stream
Seed data stream has different traffic identifier;
Creation module 1020, every seed data stream for receiving for receiving module 1010, creates a task line
Journey and a task queue, and it is added to task team for the data segment for belonging to same video frame in sub-data flow as a task
In column;
Processing module 1030, for utilizing mission thread for mission thread corresponding to the task queue there are task
Task is handled, processing result is obtained;
Generation module 1040 obtains video frame for rendering to each processing result that processing module 1030 obtains.
Optionally, generation module 1040 are also used to:
The processing result respectively obtained is sent to rendering thread using each mission thread;
Each processing result is added in screen buffer using rendering thread;
Successively each processing result in screen buffer is rendered using rendering thread, obtains each rendering knot
Fruit;
Notice GPU renders each rendering result, obtains video frame.
Optionally, when there are the processing that at least two mission threads correspond to same video frame to rendering thread transmission simultaneously
When as a result, generation module 1040 is also used to:
At least two processing results for corresponding to same video frame are received using rendering thread;
The processing priority of the corresponding sub-data flow of each processing result is determined using rendering thread;
It is polled using rendering thread according to processing priority, the processing result that each poll is obtained is added to
In screen buffer.
Optionally, generation module 1040, when being also used to platform operating instruction upon receipt, notice rendering thread stops wheel
It askes.
Optionally, generation module 1040 are also used to:
The drafting context of the corresponding process of client is assigned to rendering thread;
It is added to the sequence in screen buffer according to processing result using rendering thread, successively from screen buffer
Read a processing result;
For each processing result, using rendering thread creation texture, and texture is added to and is drawn in context, to place
Reason result is rendered, and obtains intermediate data, intermediate data is added in texture, obtain rendering result.
Optionally, the device further include:
Module is removed, when for platform operating instruction upon receipt, removes the line drawn in context using rendering thread
Data are managed, context will be drawn and be assigned to process.
Optionally, generation module 1040 are also used to when obtaining the corresponding each rendering result of a video frame every time, to
Hardware, which is sent, starts render instruction, and beginning render instruction is used to indicate GPU and starts the corresponding each rendering result of render video frame,
Obtain video frame.
Optionally, the device further include:
Sending module sends to GPU when for platform operating instruction upon receipt and stops render instruction, stops rendering and refers to
Order is used to indicate GPU stopping and renders to rendering result.
In conclusion the video frame generating apparatus of Online Video provided by the embodiments of the present application, since what task was seized is
The process resource of the mission thread of the task being handled, so, when creating a task queue to each mission thread, can keep away
Exempt from the problem of task in different task queue seizes the process resource of same mission thread, so as to avoid due to seizing processing
The problem that resource causes the reduced performance of terminal, fever hot, improves the performance of terminal.In addition, due to each mission thread
It can handle each task, the picture of each task in video frame rendered completely, is broadcast to improve picture
The fluency put.In addition, handling task by multiple tasks thread parallel, the processing progress of task can be accelerated, avoid picture
Face plays the problem of Caton, improves the fluency of picture broadcasting.
When receiving running background instruction, notice rendering thread stops poll, to save resource.
When receiving running background instruction, the data texturing in drafting context is removed to avoid residual using rendering thread
Influence of the data texturing stayed to screen buffer.
Figure 11 is please referred to, it illustrates the knots of the presentation of video frames device of the live video of the application one embodiment offer
Structure block diagram, the presentation of video frames device of the live video can be applied in the live streaming client in terminal shown in Fig. 3.This is straight
Broadcast the presentation of video frames device of video, comprising:
Module 1110 is obtained, for obtaining live video stream, live video stream includes live streaming picture data stream and interaction number
According to stream, interactive data stream includes at least one of present data flow and barrage data flow, live video stream, present data flow and
Barrage data flow has different traffic identifier;
Creation module 1120, for for obtaining the obtained every kind of data flow of module 1110, create a mission thread and
One task queue, and it is added to task queue for the data segment for belonging to same live video frame in data flow as a task
In;
Processing module 1130, for utilizing mission thread for mission thread corresponding to the task queue there are task
Task is handled, processing result is obtained;
Generation module 1140, for being rendered to obtain live video to each processing result that processing module 1130 obtains
Frame, live video frame include live streaming picture and interactive data;
Playing module 1150, for playing the live video frame of the generation of generation module 1140.
Optionally, generation module 1140 are also used to:
The processing result respectively obtained is sent to rendering thread using each mission thread;
Each processing result is added in screen buffer using rendering thread;
Successively each processing result in screen buffer is rendered using rendering thread, obtains each rendering knot
Fruit;
Notice GPU renders each rendering result, obtains live video frame.
Optionally, when there are at least two mission threads to send simultaneously to rendering thread corresponding to same live video frame
When processing result, generation module 1040 is also used to:
At least two processing results for corresponding to same live video frame are received using rendering thread;
The processing priority of the corresponding sub-data flow of each processing result is determined using rendering thread;
It is polled using rendering thread according to processing priority, the processing result that each poll is obtained is added to
In screen buffer.
Optionally, generation module 1040, when being also used to platform operating instruction upon receipt, notice rendering thread stops wheel
It askes.
Optionally, generation module 1040 are also used to:
The drafting context that the corresponding process of client is broadcast live is assigned to rendering thread;
It is added to the sequence in screen buffer according to processing result using rendering thread, successively from screen buffer
Read a processing result;
For each processing result, using rendering thread creation texture, and texture is added to and is drawn in context, to place
Reason result is rendered, and obtains intermediate data, intermediate data is added in texture, obtain rendering result.
Optionally, the device further include:
Module is removed, when for platform operating instruction upon receipt, removes the line drawn in context using rendering thread
Data are managed, context will be drawn and be assigned to process.
Optionally, generation module 1040 are also used to obtaining the corresponding each rendering result of a live video frame every time
When, to GPU send start render instruction, start render instruction be used to indicate GPU start render live video frame it is corresponding each
Rendering result obtains live video frame.
Optionally, the device further include:
Sending module sends to GPU when for platform operating instruction upon receipt and stops render instruction, stops rendering and refers to
Order is used to indicate GPU stopping and renders to rendering result.
In conclusion the presentation of video frames device of live video provided by the embodiments of the present application, since what task was seized is
The process resource of the mission thread of the task being handled, so, when creating a task queue to each mission thread, can keep away
Exempt from the problem of task in different task queue seizes the process resource of same mission thread, so as to avoid due to seizing processing
The problem that resource causes the reduced performance of terminal, fever hot, improves the performance of terminal.In addition, due to each mission thread
It can handle each task, the picture of each task in video frame rendered completely, is broadcast to improve picture
The fluency put.In addition, handling task by multiple tasks thread parallel, the processing progress of task can be accelerated, avoid picture
Face plays the problem of Caton, improves the fluency of picture broadcasting.
When receiving running background instruction, notice rendering thread stops poll, to save resource.
When receiving running background instruction, the data texturing in drafting context is removed to avoid residual using rendering thread
Influence of the data texturing stayed to screen buffer.
Figure 12 shows the structural block diagram of the terminal 1200 of one exemplary embodiment of the application offer.The terminal 1200 can
To be portable mobile termianl, such as: smart phone, tablet computer, MP3 player (Moving Picture Experts
Group Audio Layer III, dynamic image expert's compression standard audio level 3), MP4 (Moving Picture
Experts Group Audio Layer IV, dynamic image expert's compression standard audio level 4) player, laptop
Or desktop computer.Terminal 1200 be also possible to referred to as user equipment, portable terminal, laptop terminal, terminal console etc. other
Title.
In general, terminal 1200 includes: processor 1201 and memory 1202.
Processor 1201 may include one or more processing cores, such as 4 core processors, 8 core processors etc..Place
Reason device 1201 can use DSP (Digital Signal Processing, Digital Signal Processing), FPGA (Field-
Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array, may be programmed
Logic array) at least one of example, in hardware realize.Processor 1201 also may include primary processor and coprocessor, master
Processor is the processor for being handled data in the awake state, also referred to as CPU (Central Processing
Unit, central processing unit);Coprocessor is the low power processor for being handled data in the standby state.?
In some embodiments, processor 1201 can be integrated with GPU (Graphics Processing Unit, image processor),
GPU is used to be responsible for the rendering and drafting of content to be shown needed for display screen.In some embodiments, processor 1201 can also be wrapped
AI (Artificial Intelligence, artificial intelligence) processor is included, the AI processor is for handling related machine learning
Calculating operation.
Memory 1202 may include one or more computer readable storage mediums, which can
To be non-transient.Memory 1202 may also include high-speed random access memory and nonvolatile memory, such as one
Or multiple disk storage equipments, flash memory device.In some embodiments, the non-transient computer in memory 1202 can
Storage medium is read for storing at least one instruction, at least one instruction performed by processor 1201 for realizing this Shen
Please in embodiment of the method provide Online Video video frame generating method and/or live video presentation of video frames method.
In some embodiments, terminal 1200 is also optional includes: peripheral device interface 1203 and at least one periphery are set
It is standby.It can be connected by bus or signal wire between processor 1201, memory 1202 and peripheral device interface 1203.It is each outer
Peripheral equipment can be connected by bus, signal wire or circuit board with peripheral device interface 1203.Specifically, peripheral equipment includes:
In radio circuit 1204, touch display screen 1205, camera 1206, voicefrequency circuit 1207, positioning component 1208 and power supply 1209
At least one.
Peripheral device interface 1203 can be used for I/O (Input/Output, input/output) is relevant outside at least one
Peripheral equipment is connected to processor 1201 and memory 1202.In some embodiments, processor 1201, memory 1202 and periphery
Equipment interface 1203 is integrated on same chip or circuit board;In some other embodiments, processor 1201, memory
1202 and peripheral device interface 1203 in any one or two can be realized on individual chip or circuit board, this implementation
Example is not limited this.
Radio circuit 1204 is for receiving and emitting RF (Radio Frequency, radio frequency) signal, also referred to as electromagnetic signal.
Radio circuit 1204 is communicated by electromagnetic signal with communication network and other communication equipments.Radio circuit 1204 is by telecommunications
Number being converted to electromagnetic signal is sent, alternatively, the electromagnetic signal received is converted to electric signal.Optionally, radio circuit
1204 include: antenna system, RF transceiver, one or more amplifiers, tuner, oscillator, digital signal processor, volume solution
Code chipset, user identity module card etc..Radio circuit 1204 can by least one wireless communication protocol come with it is other
Terminal is communicated.The wireless communication protocol includes but is not limited to: Metropolitan Area Network (MAN), each third generation mobile communication network (2G, 3G, 4G and
5G), WLAN and/or WiFi (Wireless Fidelity, Wireless Fidelity) network.In some embodiments, radio frequency electrical
Road 1204 can also include NFC (Near Field Communication, wireless near field communication) related circuit, the application
This is not limited.
Display screen 1205 is for showing UI (User Interface, user interface).The UI may include figure, text,
Icon, video and its their any combination.When display screen 1205 is touch display screen, display screen 1205 also there is acquisition to exist
The ability of the touch signal on the surface or surface of display screen 1205.The touch signal can be used as control signal and be input to place
Reason device 1201 is handled.At this point, display screen 1205 can be also used for providing virtual push button and/or dummy keyboard, it is also referred to as soft to press
Button and/or soft keyboard.In some embodiments, display screen 1205 can be one, and the front panel of terminal 1200 is arranged;Another
In a little embodiments, display screen 1205 can be at least two, be separately positioned on the different surfaces of terminal 1200 or in foldover design;
In still other embodiments, display screen 1205 can be flexible display screen, is arranged on the curved surface of terminal 1200 or folds
On face.Even, display screen 1205 can also be arranged to non-rectangle irregular figure, namely abnormity screen.Display screen 1205 can be with
Using LCD (Liquid Crystal Display, liquid crystal display), OLED (Organic Light-Emitting Diode,
Organic Light Emitting Diode) etc. materials preparation.
CCD camera assembly 1206 is for acquiring image or video.Optionally, CCD camera assembly 1206 includes front camera
And rear camera.In general, the front panel of terminal is arranged in front camera, the back side of terminal is arranged in rear camera.?
In some embodiments, rear camera at least two is that main camera, depth of field camera, wide-angle camera, focal length are taken the photograph respectively
As any one in head, to realize that main camera and the fusion of depth of field camera realize background blurring function, main camera and wide
Pan-shot and VR (Virtual Reality, virtual reality) shooting function or other fusions are realized in camera fusion in angle
Shooting function.In some embodiments, CCD camera assembly 1206 can also include flash lamp.Flash lamp can be monochromatic temperature flash of light
Lamp is also possible to double-colored temperature flash lamp.Double-colored temperature flash lamp refers to the combination of warm light flash lamp and cold light flash lamp, can be used for
Light compensation under different-colour.
Voicefrequency circuit 1207 may include microphone and loudspeaker.Microphone is used to acquire the sound wave of user and environment, and
It converts sound waves into electric signal and is input to processor 1201 and handled, or be input to radio circuit 1204 to realize that voice is logical
Letter.For stereo acquisition or the purpose of noise reduction, microphone can be separately positioned on the different parts of terminal 1200 to be multiple.
Microphone can also be array microphone or omnidirectional's acquisition type microphone.Loudspeaker is then used to that processor 1201 or radio frequency will to be come from
The electric signal of circuit 1204 is converted to sound wave.Loudspeaker can be traditional wafer speaker, be also possible to piezoelectric ceramics loudspeaking
Device.When loudspeaker is piezoelectric ceramic loudspeaker, the audible sound wave of the mankind can be not only converted electrical signals to, can also be incited somebody to action
Electric signal is converted to the sound wave that the mankind do not hear to carry out the purposes such as ranging.In some embodiments, voicefrequency circuit 1207 may be used also
To include earphone jack.
Positioning component 1208 is used for the current geographic position of positioning terminal 1200, to realize navigation or LBS (Location
Based Service, location based service).Positioning component 1208 can be the GPS (Global based on the U.S.
Positioning System, global positioning system), the dipper system of China, Russia Gray receive this system or European Union
The positioning component of Galileo system.
Power supply 1209 is used to be powered for the various components in terminal 1200.Power supply 1209 can be alternating current, direct current
Electricity, disposable battery or rechargeable battery.When power supply 1209 includes rechargeable battery, which can support wired
Charging or wireless charging.The rechargeable battery can be also used for supporting fast charge technology.
In some embodiments, terminal 1200 further includes having one or more sensors 1210.One or more sensing
Device 1210 includes but is not limited to: acceleration transducer 1211, gyro sensor 1212, pressure sensor 1213, fingerprint sensing
Device 1214, optical sensor 1215 and proximity sensor 1216.
Acceleration transducer 1211 can detecte the acceleration in three reference axis of the coordinate system established with terminal 1200
Size.For example, acceleration transducer 1211 can be used for detecting component of the acceleration of gravity in three reference axis.Processor
The 1201 acceleration of gravity signals that can be acquired according to acceleration transducer 1211, control touch display screen 1205 with transverse views
Or longitudinal view carries out the display of user interface.Acceleration transducer 1211 can be also used for game or the exercise data of user
Acquisition.
Gyro sensor 1212 can detecte body direction and the rotational angle of terminal 1200, gyro sensor 1212
Acquisition user can be cooperateed with to act the 3D of terminal 1200 with acceleration transducer 1211.Processor 1201 is according to gyro sensors
The data that device 1212 acquires, following function may be implemented: action induction (for example changing UI according to the tilt operation of user) is clapped
Image stabilization, game control and inertial navigation when taking the photograph.
The lower layer of side frame and/or touch display screen 1205 in terminal 1200 can be set in pressure sensor 1213.When
When the side frame of terminal 1200 is arranged in pressure sensor 1213, user can detecte to the gripping signal of terminal 1200, by
Reason device 1201 carries out right-hand man's identification or prompt operation according to the gripping signal that pressure sensor 1213 acquires.Work as pressure sensor
1213 when being arranged in the lower layer of touch display screen 1205, is grasped by processor 1201 according to pressure of the user to touch display screen 1205
Make, realization controls the operability control on the interface UI.Operability control include button control, scroll bar control,
At least one of icon control, menu control.
Fingerprint sensor 1214 is used to acquire the fingerprint of user, is collected by processor 1201 according to fingerprint sensor 1214
Fingerprint recognition user identity, alternatively, by fingerprint sensor 1214 according to the identity of collected fingerprint recognition user.Knowing
Not Chu the identity of user when being trusted identity, authorize the user to execute relevant sensitive operation by processor 1201, which grasps
Make to include solving lock screen, checking encryption information, downloading software, payment and change setting etc..Fingerprint sensor 1214 can be set
Set the front, the back side or side of terminal 1200.When being provided with physical button or manufacturer Logo in terminal 1200, fingerprint sensor
1214 can integrate with physical button or manufacturer Logo.
Optical sensor 1215 is for acquiring ambient light intensity.In one embodiment, processor 1201 can be according to light
The ambient light intensity that sensor 1215 acquires is learned, the display brightness of touch display screen 1205 is controlled.Specifically, work as ambient light intensity
When higher, the display brightness of touch display screen 1205 is turned up;When ambient light intensity is lower, the aobvious of touch display screen 1205 is turned down
Show brightness.In another embodiment, the ambient light intensity that processor 1201 can also be acquired according to optical sensor 1215, is moved
The acquisition parameters of state adjustment CCD camera assembly 1206.
Proximity sensor 1216, also referred to as range sensor are generally arranged at the front panel of terminal 1200.Proximity sensor
1216 for acquiring the distance between the front of user Yu terminal 1200.In one embodiment, when proximity sensor 1216 is examined
When measuring the distance between the front of user and terminal 1200 and gradually becoming smaller, by processor 1201 control touch display screen 1205 from
Bright screen state is switched to breath screen state;When proximity sensor 1216 detect the distance between front of user and terminal 1200 by
When gradual change is big, touch display screen 1205 is controlled by processor 1201 and is switched to bright screen state from breath screen state.
It, can be with it will be understood by those skilled in the art that the restriction of the not structure paired terminal 1200 of structure shown in Figure 12
Including than illustrating more or fewer components, perhaps combining certain components or being arranged using different components.
The application one embodiment provides a kind of computer readable storage medium, is stored at least in the storage medium
One instruction, at least a Duan Chengxu, code set or instruction set, at least one instruction, an at least Duan Chengxu, the generation
Code collection or instruction set are loaded by the processor and are executed the video frame generating method to realize Online Video as described above, or
Person, at least one instruction, an at least Duan Chengxu, the code set or instruction set are loaded and are executed by the processor
To realize the presentation of video frames method of live video as described above.
The application one embodiment provides a kind of electronic equipment, and the electronic equipment includes processor and memory, institute
It states and is stored at least one instruction in memory, described instruction is loaded by the processor and executed to realize and exist as described above
The video frame generating method of line video, alternatively, described instruction loaded by the processor and executed it is as described above straight to realize
Broadcast the presentation of video frames method of video.
It should be understood that the video frame generating apparatus of Online Video provided by the above embodiment is carrying out video frame life
At the presentation of video frames device of, live video when playing video frame, only illustrate with the division of above-mentioned each functional module
It is bright, in practical application, it can according to need and be completed by different functional modules above-mentioned function distribution, i.e., by Online Video
The internal structure of video frame generating apparatus is divided into different functional modules, by the inside of the presentation of video frames device of live video
Structure is divided into different functional modules to complete all or part of the functions described above.In addition, above-described embodiment provides
The video frame generating apparatus of Online Video and the video frame generating method embodiment of Online Video belong to same design, live streaming view
The presentation of video frames device of frequency and the presentation of video frames embodiment of the method for live video belong to same design, implement process
It is detailed in embodiment of the method, which is not described herein again.
Those of ordinary skill in the art will appreciate that realizing that all or part of the steps of above-described embodiment can pass through hardware
It completes, relevant hardware can also be instructed to complete by program, the program can store in a kind of computer-readable
In storage medium, storage medium mentioned above can be read-only memory, disk or CD etc..
The above is not to limit the embodiment of the present application, all within the spirit and principle of the embodiment of the present application, institute
Any modification, equivalent substitution, improvement and etc. of work, should be included within the protection scope of the embodiment of the present application.
Claims (15)
1. a kind of video frame generating method of Online Video, which is characterized in that in client, which comprises
Video data stream is received, includes different types of sub-data flow in the video data stream, every seed data stream has not
Same traffic identifier;
For every seed data stream, a mission thread and a task queue are created, and will be belonged in the sub-data flow same
The data segment of one video frame is added in the task queue as a task;
For mission thread corresponding to the task queue there are task, using the mission thread to the task at
Reason, obtains processing result;
Each processing result is rendered, video frame is obtained.
2. obtaining video the method according to claim 1, wherein described render each processing result
Frame, comprising:
The processing result respectively obtained is sent to rendering thread using each mission thread;
Each processing result is added in screen buffer using the rendering thread;
Successively each processing result in the screen buffer is rendered using the rendering thread, obtains each rendering
As a result;
Notice graphics processor GPU renders each rendering result, obtains the video frame.
3. according to the method described in claim 2, it is characterized in that, when there are at least two mission threads simultaneously to the rendering
It is described to be added to each processing result using the rendering thread when thread sends the processing result for corresponding to same video frame
In screen buffer, comprising:
At least two processing results for corresponding to same video frame are received using the rendering thread;
The processing priority of the corresponding sub-data flow of each processing result is determined using the rendering thread;
It is polled using the rendering thread according to the processing priority, the processing result that each poll is obtained adds
It is added in the screen buffer.
4. according to the method described in claim 2, it is characterized in that, the method also includes:
When receiving running background instruction, the rendering thread is notified to stop poll.
5. according to the method described in claim 2, it is characterized in that, described successively slow to the video using the rendering thread
The each processing result rushed in area is rendered, and each rendering result is obtained, comprising:
The drafting context of the corresponding process of the client is assigned to the rendering thread;
It is added to the sequence in the screen buffer according to the processing result using the rendering thread, successively from described
A processing result is read in screen buffer;
For each processing result, using the rendering thread creation texture, and the texture is added to the drafting or more
Wen Zhong renders the processing result, obtains intermediate data, and the intermediate data is added in the texture, is obtained
The rendering result.
6. according to the method described in claim 5, it is characterized in that, the method also includes:
When receiving running background instruction, the data texturing in the drafting context is removed using the rendering thread, it will
The drafting context is assigned to the process.
7. being obtained described the method according to claim 1, wherein described render each rendering result
Video frame, comprising:
When obtaining the corresponding each rendering result of a video frame every time, is sent to graphics processor GPU and starts render instruction,
The beginning render instruction is used to indicate the GPU and starts to render the corresponding each rendering result of the video frame, obtains described
Video frame.
8. method according to any one of claims 1 to 7, which is characterized in that the method also includes:
It when receiving running background instruction, is sent to graphics processor GPU and stops render instruction, the stopping render instruction being used
The rendering result is rendered in the instruction GPU stopping.
9. a kind of presentation of video frames method of live video, which is characterized in that for being broadcast live in client, which comprises
Live video stream is obtained, the live video stream includes live streaming picture data stream and interactive data stream, the interactive data
Stream includes at least one of present data flow and barrage data flow, the live video stream, the present data flow and described
Barrage data flow has different traffic identifier;
For every kind of data flow, a mission thread and a task queue are created, and will be belonged in the data flow with always
The data segment for broadcasting video frame is added in the task queue as a task;
For mission thread corresponding to the task queue there are task, using the mission thread to the task at
Reason, obtains processing result;
Each processing result is rendered to obtain live video frame, the live video frame includes live streaming picture and interaction number
According to;
Play the live video frame.
10. according to the method described in claim 9, it is characterized in that, described rendered to each processing result is broadcast live
Video frame, comprising:
The processing result respectively obtained is sent to rendering thread using each mission thread;
Each processing result is added in screen buffer using the rendering thread;
Successively each processing result in the screen buffer is rendered using the rendering thread, obtains each rendering
As a result;
Notice graphics processor GPU renders each rendering result to obtain the live video frame.
11. a kind of video frame generating apparatus of Online Video, which is characterized in that in client, described device to include:
Receiving module includes different types of sub-data flow, every seed in the video data stream for receiving video data stream
Data flow has different traffic identifier;
Creation module, every seed data stream for receiving for the receiving module, creates a mission thread and one
Task queue, and it is added to the task team for the data segment for belonging to same video frame in the sub-data flow as a task
In column;
Processing module, for for mission thread corresponding to the task queue there are task, using the mission thread to institute
The task of stating is handled, and each processing result is obtained;
Generation module obtains video frame for rendering to each processing result that the processing module obtains.
12. device according to claim 10, which is characterized in that the generation module is also used to:
The processing result respectively obtained is sent to rendering thread using each mission thread;
Each processing result is added in screen buffer using the rendering thread;
Successively each processing result in the screen buffer is rendered using the rendering thread, obtains each rendering
As a result;
Notice graphics processor GPU renders each rendering result, obtains the video frame.
13. a kind of presentation of video frames device of live video, which is characterized in that for being broadcast live in client, described device includes:
Module is obtained, for obtaining live video stream, the live video stream includes that picture data stream and interactive data stream is broadcast live,
The interactive data stream includes at least one of present data flow and barrage data flow, the live video stream, the present
Data flow and the barrage data flow have different traffic identifier;
Creation module, every kind of data flow for obtaining for the acquisition module, creates a mission thread and a task
Queue, and be added to the data segment for belonging to same video frame in the data flow as a task in the task queue;
Processing module, for for mission thread corresponding to the task queue there are task, using the mission thread to institute
The task of stating is handled, and processing result is obtained;
Generation module obtains live video frame for being rendered to each processing result that the processing module obtains, described
Live video frame includes live streaming picture and interactive data;
Playing module, the live video frame generated for playing the generation module.
14. a kind of computer readable storage medium, which is characterized in that be stored at least one instruction, extremely in the storage medium
A few Duan Chengxu, code set or instruction set, at least one instruction, an at least Duan Chengxu, the code set or instruction
Collection is loaded by the processor and is executed the video frame generation side to realize Online Video as described in any of the claims 1 to 8
Method, alternatively, at least one instruction, an at least Duan Chengxu, the code set or instruction set are loaded by the processor
And the presentation of video frames method executed to realize the live video as described in claim 9 or 10.
15. a kind of electronic equipment, which is characterized in that the electronic equipment includes processor and memory, is deposited in the memory
At least one instruction is contained, described instruction is loaded by the processor and executed as described in any of the claims 1 to 8 to realize
The video frame generating method of Online Video, alternatively, described instruction is loaded by the processor and executed to realize such as claim 9
Or the presentation of video frames method of live video described in 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810398279.1A CN110213636B (en) | 2018-04-28 | 2018-04-28 | Method and device for generating video frame of online video, storage medium and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810398279.1A CN110213636B (en) | 2018-04-28 | 2018-04-28 | Method and device for generating video frame of online video, storage medium and equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213636A true CN110213636A (en) | 2019-09-06 |
CN110213636B CN110213636B (en) | 2023-01-10 |
Family
ID=67778957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810398279.1A Active CN110213636B (en) | 2018-04-28 | 2018-04-28 | Method and device for generating video frame of online video, storage medium and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213636B (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400038A (en) * | 2020-03-10 | 2020-07-10 | 山东汇贸电子口岸有限公司 | Video and picture multi-resolution self-adaptive video watermarking method and system |
CN112423111A (en) * | 2020-11-05 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Graphic engine and graphic processing method suitable for player |
CN112711477A (en) * | 2021-03-29 | 2021-04-27 | 北京拓课网络科技有限公司 | Method and device for switching application programs and electronic equipment |
CN113360708A (en) * | 2021-05-31 | 2021-09-07 | 北京达佳互联信息技术有限公司 | Video playing method and device, electronic equipment and storage medium |
CN113760394A (en) * | 2020-06-03 | 2021-12-07 | 阿里巴巴集团控股有限公司 | Data processing method and device, electronic equipment and storage medium |
CN113923519A (en) * | 2021-11-11 | 2022-01-11 | 深圳万兴软件有限公司 | Video rendering method and device, computer equipment and storage medium |
CN114071224A (en) * | 2020-07-31 | 2022-02-18 | 腾讯科技(深圳)有限公司 | Video data processing method and device, computer equipment and storage medium |
CN114157918A (en) * | 2021-11-02 | 2022-03-08 | 统信软件技术有限公司 | Media file playing method and device, computing equipment and readable storage medium |
CN114339415A (en) * | 2021-12-23 | 2022-04-12 | 天翼云科技有限公司 | Client video playing method and device, electronic equipment and readable medium |
CN114630184A (en) * | 2022-03-23 | 2022-06-14 | 广州方硅信息技术有限公司 | Video rendering method, device, equipment and computer readable storage medium |
CN114697705A (en) * | 2020-12-29 | 2022-07-01 | 深圳云天励飞技术股份有限公司 | Video stream object processing method and device, video stream processing system and electronic equipment |
CN116761032A (en) * | 2023-08-18 | 2023-09-15 | 荣耀终端有限公司 | Video playing method, readable medium and electronic device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593231A (en) * | 2012-08-14 | 2014-02-19 | 腾讯科技(深圳)有限公司 | Data processing method and device and mobile terminal |
CN105898538A (en) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | Play method and device and mobile terminal equipment based on Android platform |
CN105933641A (en) * | 2016-05-18 | 2016-09-07 | 阿里巴巴集团控股有限公司 | User state reminding method and device in video communication |
CN106095506A (en) * | 2016-06-14 | 2016-11-09 | 乐视控股(北京)有限公司 | A kind of page loading method and device |
CN107493510A (en) * | 2017-09-19 | 2017-12-19 | 武汉斗鱼网络科技有限公司 | Live TV stream player method, device, computer-readable storage medium and equipment in direct broadcasting room |
US20180103261A1 (en) * | 2016-10-07 | 2018-04-12 | Microsoft Technology Licensing, Llc | Browser-based video decoder using multiple cpu threads |
CN107911709A (en) * | 2017-11-17 | 2018-04-13 | 广州酷狗计算机科技有限公司 | live interface display method, device and terminal |
-
2018
- 2018-04-28 CN CN201810398279.1A patent/CN110213636B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593231A (en) * | 2012-08-14 | 2014-02-19 | 腾讯科技(深圳)有限公司 | Data processing method and device and mobile terminal |
CN105898538A (en) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | Play method and device and mobile terminal equipment based on Android platform |
CN105933641A (en) * | 2016-05-18 | 2016-09-07 | 阿里巴巴集团控股有限公司 | User state reminding method and device in video communication |
CN106095506A (en) * | 2016-06-14 | 2016-11-09 | 乐视控股(北京)有限公司 | A kind of page loading method and device |
US20180103261A1 (en) * | 2016-10-07 | 2018-04-12 | Microsoft Technology Licensing, Llc | Browser-based video decoder using multiple cpu threads |
CN107493510A (en) * | 2017-09-19 | 2017-12-19 | 武汉斗鱼网络科技有限公司 | Live TV stream player method, device, computer-readable storage medium and equipment in direct broadcasting room |
CN107911709A (en) * | 2017-11-17 | 2018-04-13 | 广州酷狗计算机科技有限公司 | live interface display method, device and terminal |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400038A (en) * | 2020-03-10 | 2020-07-10 | 山东汇贸电子口岸有限公司 | Video and picture multi-resolution self-adaptive video watermarking method and system |
CN113760394A (en) * | 2020-06-03 | 2021-12-07 | 阿里巴巴集团控股有限公司 | Data processing method and device, electronic equipment and storage medium |
CN114071224B (en) * | 2020-07-31 | 2023-08-25 | 腾讯科技(深圳)有限公司 | Video data processing method, device, computer equipment and storage medium |
CN114071224A (en) * | 2020-07-31 | 2022-02-18 | 腾讯科技(深圳)有限公司 | Video data processing method and device, computer equipment and storage medium |
CN112423111A (en) * | 2020-11-05 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Graphic engine and graphic processing method suitable for player |
CN114697705A (en) * | 2020-12-29 | 2022-07-01 | 深圳云天励飞技术股份有限公司 | Video stream object processing method and device, video stream processing system and electronic equipment |
CN114697705B (en) * | 2020-12-29 | 2024-03-22 | 深圳云天励飞技术股份有限公司 | Video stream object processing method and device, video stream processing system and electronic equipment |
CN112711477A (en) * | 2021-03-29 | 2021-04-27 | 北京拓课网络科技有限公司 | Method and device for switching application programs and electronic equipment |
CN112711477B (en) * | 2021-03-29 | 2021-06-25 | 北京拓课网络科技有限公司 | Method and device for switching application programs and electronic equipment |
CN113360708B (en) * | 2021-05-31 | 2024-05-10 | 北京达佳互联信息技术有限公司 | Video playing method and device, electronic equipment and storage medium |
CN113360708A (en) * | 2021-05-31 | 2021-09-07 | 北京达佳互联信息技术有限公司 | Video playing method and device, electronic equipment and storage medium |
CN114157918A (en) * | 2021-11-02 | 2022-03-08 | 统信软件技术有限公司 | Media file playing method and device, computing equipment and readable storage medium |
CN114157918B (en) * | 2021-11-02 | 2024-05-14 | 统信软件技术有限公司 | Media file playing method and device, computing equipment and readable storage medium |
CN113923519B (en) * | 2021-11-11 | 2024-02-13 | 深圳万兴软件有限公司 | Video rendering method, device, computer equipment and storage medium |
CN113923519A (en) * | 2021-11-11 | 2022-01-11 | 深圳万兴软件有限公司 | Video rendering method and device, computer equipment and storage medium |
CN114339415B (en) * | 2021-12-23 | 2024-01-02 | 天翼云科技有限公司 | Client video playing method and device, electronic equipment and readable medium |
CN114339415A (en) * | 2021-12-23 | 2022-04-12 | 天翼云科技有限公司 | Client video playing method and device, electronic equipment and readable medium |
CN114630184A (en) * | 2022-03-23 | 2022-06-14 | 广州方硅信息技术有限公司 | Video rendering method, device, equipment and computer readable storage medium |
CN116761032A (en) * | 2023-08-18 | 2023-09-15 | 荣耀终端有限公司 | Video playing method, readable medium and electronic device |
CN116761032B (en) * | 2023-08-18 | 2024-04-23 | 荣耀终端有限公司 | Video playing method, readable medium and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN110213636B (en) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213636A (en) | Video frame generating method, device, storage medium and the equipment of Online Video | |
CN109600678A (en) | Information displaying method, apparatus and system, server, terminal, storage medium | |
CN110213616B (en) | Video providing method, video obtaining method, video providing device, video obtaining device and video providing equipment | |
CN109874043B (en) | Video stream sending method, video stream playing method and video stream playing device | |
CN111093108B (en) | Sound and picture synchronization judgment method and device, terminal and computer readable storage medium | |
CN109982102A (en) | The interface display method and system and direct broadcast server of direct broadcasting room and main broadcaster end | |
CN108966008A (en) | Live video back method and device | |
CN109618212A (en) | Information display method, device, terminal and storage medium | |
CN108833963A (en) | Method, computer equipment, readable storage medium storing program for executing and the system of display interface picture | |
CN109413453B (en) | Video playing method, device, terminal and storage medium | |
CN109302385A (en) | Multimedia resource sharing method, device and storage medium | |
CN108900859A (en) | Live broadcasting method and system | |
CN110213608A (en) | Show method, apparatus, equipment and the readable storage medium storing program for executing of virtual present | |
CN109348247A (en) | Determine the method, apparatus and storage medium of audio and video playing timestamp | |
CN109191549A (en) | Show the method and device of animation | |
CN110297917A (en) | Live broadcasting method, device, electronic equipment and storage medium | |
CN109920065A (en) | Methods of exhibiting, device, equipment and the storage medium of information | |
CN110213612A (en) | Living broadcast interactive method, apparatus and storage medium | |
CN107948702B (en) | Synchronous method, device, terminal and the storage medium of Application Status | |
CN108762881A (en) | Interface method for drafting, device, terminal and storage medium | |
WO2021143386A1 (en) | Resource transmission method and terminal | |
CN109922356A (en) | Video recommendation method, device and computer readable storage medium | |
CN110139116A (en) | Method for switching between, device and storage medium is broadcast live | |
CN110418152A (en) | It is broadcast live the method and device of prompt | |
CN108900921A (en) | Even wheat live broadcasting method, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |