CN111263153B - Video encoding method, device, equipment and storage medium - Google Patents

Video encoding method, device, equipment and storage medium Download PDF

Info

Publication number
CN111263153B
CN111263153B CN202010106043.3A CN202010106043A CN111263153B CN 111263153 B CN111263153 B CN 111263153B CN 202010106043 A CN202010106043 A CN 202010106043A CN 111263153 B CN111263153 B CN 111263153B
Authority
CN
China
Prior art keywords
coding
encoding
strategy
preset
speed
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.)
Active
Application number
CN202010106043.3A
Other languages
Chinese (zh)
Other versions
CN111263153A (en
Inventor
张文忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN202010106043.3A priority Critical patent/CN111263153B/en
Publication of CN111263153A publication Critical patent/CN111263153A/en
Priority to PCT/CN2021/076351 priority patent/WO2021164670A1/en
Application granted granted Critical
Publication of CN111263153B publication Critical patent/CN111263153B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The embodiment of the invention discloses a video coding method, a video coding device, video coding equipment and a storage medium. Wherein, the method comprises the following steps: encoding first original video data by using a preset encoder in a preset time length and adopting a first encoding strategy, and counting encoding time lengths corresponding to all original video frames in the first original video data, wherein the encoding strategy is related to encoding complexity; adjusting the first coding strategy according to the coding duration to obtain a second coding strategy; and encoding second original video data after the first original video data by using a preset encoder and adopting a second encoding strategy. According to the technical scheme provided by the embodiment of the invention, the subsequent coding strategy can be dynamically adjusted according to the actual coding time consumption condition in the preset time length, so that the coding complexity can be dynamically adjusted, and the flexibility of video coding is improved.

Description

Video encoding method, device, equipment and storage medium
Technical Field
Embodiments of the present invention relate to the field of video processing, and in particular, to a video encoding method, apparatus, device, and storage medium.
Background
With the continuous development of multimedia information technology, video information is emerging in large quantities. Video data has become an important information carrier in real life as an integrated medium for expressing information.
Video data contains a large amount of image and sound information, and in some application scenarios, the video data needs to be encoded when video transmission is performed. Taking instant messaging products as an example, video chat or live video broadcast and the like are indispensable basic functions, and the quality of a video coding scheme directly influences the effect and experience of the video chat or live video broadcast. At present, video coding schemes are still not perfect enough and need to be improved.
Disclosure of Invention
The embodiment of the invention provides a video coding method, a video coding device, video coding equipment and a storage medium, which can optimize the existing video coding scheme.
In a first aspect, an embodiment of the present invention provides a video encoding method, where the method includes:
the method comprises the steps that a first original video data is coded by a preset coder in a preset time length by adopting a first coding strategy, and coding time lengths corresponding to all original video frames in the first original video data are counted, wherein the coding strategy is related to coding complexity;
adjusting the first coding strategy according to the coding duration to obtain a second coding strategy;
and encoding second original video data after the first original video data by using the preset encoder and adopting the second encoding strategy.
In a second aspect, an embodiment of the present invention provides a video encoding apparatus, including:
the first encoding module is used for encoding first original video data by using a preset encoder within a preset time length and adopting a first encoding strategy;
the time length counting module is used for counting the coding time length corresponding to each original video frame in the first original video data, wherein the coding strategy is related to the coding complexity;
the strategy adjusting module is used for adjusting the first coding strategy according to the coding duration to obtain a second coding strategy;
and the second coding module is used for coding second original video data after the first original video data by using the preset coder and adopting the second coding strategy.
In a third aspect, an embodiment of the present invention provides a computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the processor implements a video encoding method according to an embodiment of the present invention.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements a video encoding method as provided by an embodiment of the present invention.
In the video coding scheme provided in the embodiment of the present invention, a preset encoder is used to encode first original video data by using a first coding strategy within a preset time period, and coding time periods corresponding to original video frames in the first original video data are counted, wherein the coding strategy is related to coding complexity, the first coding strategy is adjusted according to the coding time periods to obtain a second coding strategy, and the preset encoder is used to encode second original video data after the first original video data by using the second coding strategy. By adopting the technical scheme, the subsequent coding strategy can be dynamically adjusted according to the actual coding time consumption condition in the preset time length, so that the coding complexity can be dynamically adjusted, and the flexibility of video coding can be improved.
Drawings
Fig. 1 is a flowchart illustrating a video encoding method according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating another video encoding method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram illustrating switching between encoding quality and encoding speed according to an embodiment of the present invention;
fig. 4 is a block diagram of a video encoding apparatus according to an embodiment of the present invention;
fig. 5 is a block diagram of a computer device according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures. In addition, the embodiments and features of the embodiments in the present invention may be combined with each other without conflict.
Fig. 1 is a flowchart illustrating a video encoding method according to an embodiment of the present invention, which may be performed by a video encoding apparatus, wherein the apparatus may be implemented by software and/or hardware, and may be generally integrated in a computer device. As shown in fig. 1, the method includes:
step 101, encoding first original video data by using a preset encoder within a preset time length and adopting a first encoding strategy, and counting encoding time lengths corresponding to original video frames in the first original video data, wherein the encoding strategy is related to encoding complexity.
For example, the computer device in the embodiment of the present invention may include mobile devices such as a mobile phone, a tablet computer, and a notebook computer, and may also include other types of computer devices, which is not limited specifically. At present, in many application scenarios involving video transmission, such as video call or live video, video data needs to be encoded and then transmitted. Taking a video call as an example, the device of the call party acquires video information through a camera and other devices to generate original video data, encodes the original video data, and transmits the encoded video data to the call party through the network.
The embodiment of the invention does not limit the specific type of the preset encoder, and can be selected according to actual requirements. For example, for some application scenarios with high real-time requirements, such as real-time video chat, an h.26x-series encoder or a vpx-series encoder may be generally adopted. The h.26x-series encoder is an open source charging encoder series established by the International Telecommunications Union (ITU), and the mainstream of the h.26x-series encoder is h.264, h.265 and the latest h.266 at present; the open-source free encoder series developed by the vpx series encoder *** (***) company are mainly vp8, vp9 and the latest vp10 (av 1). In the related art, under the condition that encoding indexes such as resolution, code rate, and frame rate are not changed, a set of fixed encoding parameters is generally set for an encoder, and then the encoder is called to perform encoding. However, the inventor found that, for different computer devices, especially for different mobile devices, performance differences are large, a set of fixed encoding parameters cannot adapt to actual encoding capabilities of different devices well, and for the same device, in an actual encoding process, for different video data and specific device operating conditions, encoding capabilities of the device may also vary, a scheme of the fixed encoding parameters has poor flexibility, and device encoding performance and encoding quality cannot be well balanced, so that video image quality and video fluency cannot be well balanced.
In the embodiment of the present invention, the specific length of the preset duration may be freely set according to specific situations, for example. The starting time of the preset duration can also be freely set according to specific situations, for example, the starting time can be the time when the video coding event is triggered, or the ending time of the last preset duration (in this case, the preset duration can be understood as a preset period). The triggering condition of the video coding event may be set according to a specific scenario, for example, it may be that a video call successfully establishes a connection. The raw video data may include, for example, video image data captured by an image capturing device such as a camera configured with a computer device, which may include a plurality of raw video frames. The first original video data may refer to original video data that needs to be encoded within a preset time period.
For example, before encoding the first original video data, a preset encoding index of a preset encoder may be set, where the preset encoding index includes at least one of resolution, code rate, and frame rate, and optionally, the preset encoding index may include resolution, code rate, and frame rate.
The encoding strategy in the embodiment of the present invention is related to encoding complexity, which may also be understood as encoding strength, and may be measured by using encoding parameters such as encoding quality or encoding speed, and may be specifically determined according to the type or configuration of a preset encoder. Generally, the higher the coding quality, the higher the coding complexity; the slower the encoding speed, the higher the encoding complexity can be accounted for.
For example, in the process of encoding the first original video data by using the first encoding strategy through the preset encoder, the encoding duration corresponding to each original video frame in the first original video data may be counted by using a timer to time and the like, where the encoding duration may be understood as encoding time consumption, that is, time consumed for encoding the original video frame. For example, a timer is started when a frame of original video data acquired by a camera is input to a preset encoder, and when it is detected that the preset encoder completes an encoding operation, timing is ended, and a time obtained by the timer is recorded as an encoding duration corresponding to the original video frame. It should be noted that there may be idle time between two original video frames, and during the idle time, the encoder is not in the encoding state.
And step 102, adjusting the first coding strategy according to the coding duration to obtain a second coding strategy.
For example, the current encoding situation may be measured by referring to the encoding duration corresponding to each original video frame under the condition that the first encoding policy is adopted, which may be understood as evaluating the current actual encoding capability of the computer device, when the device encoding performance is excessive, the video quality may be improved by increasing the encoding complexity, and when the device encoding performance is insufficient, the video smoothness may be improved by decreasing the encoding complexity. Optionally, the first coding strategy may be adjusted with reference to an average coding duration of a single frame of the video frame, or with reference to a duration of a preset coder in a coding state between units.
And 103, encoding second original video data after the first original video data by using the preset encoder and the second encoding strategy.
Illustratively, after the encoding strategy is adjusted, the obtained second encoding strategy is more suitable for the current encoding capability of the device, the encoding performance and the encoding quality of the device are balanced, and the video quality and the video fluency can be better balanced. For example, the second original video data may include all original video data after the first original video data until the end of the video coding event; the second original video data may include original video data within a preset time period after the first original video data. Optionally, the encoding policy may be adjusted periodically, for example, the second original video data after the first original video data is encoded continuously within a preset time duration by using the second encoding policy through the preset encoder, the encoding time duration corresponding to each original video frame in the second original video data is counted, the second encoding policy is adjusted according to the encoding time duration at this time to obtain a third encoding policy, and the third encoding policy is continuously encoded by using the preset encoder.
The video coding method provided in the embodiment of the invention is characterized in that a preset encoder is used for coding first original video data by adopting a first coding strategy within a preset time length, coding time lengths corresponding to all original video frames in the first original video data are counted, wherein the coding strategy is related to coding complexity, the first coding strategy is adjusted according to the coding time lengths to obtain a second coding strategy, and the preset encoder is used for coding second original video data behind the first original video data by adopting the second coding strategy. By adopting the technical scheme, the subsequent coding strategy can be dynamically adjusted according to the actual coding time-consuming condition in the preset time length, so that the coding complexity can be dynamically adjusted, and the flexibility of video coding can be improved.
In some embodiments, the adjusting the first coding strategy according to the coding duration to obtain a second coding strategy includes: determining a first time length of the preset encoder in an encoding state in unit time according to the encoding time length; and when the first time length is smaller than a first preset threshold value, adjusting the first coding strategy so as to enable the coding complexity corresponding to the obtained second coding strategy to be larger than the coding complexity corresponding to the first coding strategy. The unit time may be, for example, 1 second. The first preset threshold value can be set according to actual conditions. When the first duration is smaller than the first preset threshold, the encoding speed is higher, the idle time of the encoder preset in unit time is more, and the encoding performance of the device is excessive, the first encoding strategy can be adjusted to increase the encoding complexity, which is beneficial to improving the video quality and improving the video quality.
Optionally, the first duration may have a plurality of calculation manners, for example, a quotient between the sum of the encoding durations and the preset duration is calculated, and the first duration in the encoding state of the preset encoder in unit time is determined according to the quotient; for another example, a product of the average value of the encoding durations and the current frame rate of the preset encoder is calculated, and the first duration of the preset encoder in the encoding state in the unit time is determined according to the product. Assuming that the preset duration is C and the sum of the coding durations of all original video frames in the first original video data is t, the first duration may be represented by t/C × 1 second, for example, t is 7 seconds, C is 10 seconds, and the quotient is 0.7, and it is known that the first duration is 0.7 seconds, that is, within a unit duration of 1 second, the preset encoder has 0.7 seconds in a coding state. For another example, if the total number of original video frames in the first original video data is n, and the current frame rate is fps, the first duration may be represented as (t/n) × fps × 1 second, for example, if t is 7 seconds, n is 300 frames, the average value is 7 seconds/300 frames, and fps is 30 frames/second, the product is 0.7, and it is known that the first duration is 0.7 seconds, that is, within a unit duration of 1 second, 0.7 seconds of the encoder is preset to be in the encoding state.
In some embodiments, it may further include: when the first duration is greater than a second preset threshold, adjusting the first coding strategy so that the coding complexity corresponding to the obtained second coding strategy is smaller than the coding complexity corresponding to the first coding strategy, wherein the second preset threshold is greater than the first preset threshold. The second preset threshold is smaller than the unit time, and the specific numerical value can be set according to the actual situation. When the first duration is greater than the second preset threshold, the encoding speed is low, the idle time of the encoder preset in unit time is short, and the encoding performance of the device is insufficient, and the first encoding strategy can be adjusted to reduce the encoding complexity and facilitate the improvement of the video fluency.
In some embodiments, the encoding strategy comprises encoding quality steps and encoding speeds, and one encoding quality step corresponds to at least one encoding speed. The advantage of setting up like this lies in, can adjust the coding strategy in two dimensions, promotes the variety of coding strategy, also makes the coding strategy more reasonable.
In some embodiments, when the first duration is smaller than a first preset threshold, adjusting the first encoding strategy so that the encoding complexity corresponding to the obtained second encoding strategy is greater than the encoding complexity corresponding to the first encoding strategy includes: determining a first adjusting coefficient according to the first duration and the first preset threshold; adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the first adjusting coefficient to obtain a second coding quality gear and a second coding speed; wherein the second encoding speed is lower than the first encoding speed, and/or the second encoding quality gear is higher than the first encoding quality gear. For example, the first adjustment coefficient may be determined according to a quotient of a first preset threshold and a first time duration, and the second encoding speed may be determined according to a difference between the first encoding speed and the first adjustment coefficient. When the first adjusting coefficient exceeds a first threshold value, improving a coding quality gear, namely the second coding quality gear is higher than the first coding quality gear, otherwise, not adjusting the coding quality gear, and keeping the first coding quality gear unchanged, namely the second coding quality gear is equal to the first coding quality gear. In addition, the coding speed can not be adjusted, and the coding quality gear can be directly improved; the coding quality gear can be improved while the coding speed is reduced. Of course, there may be other determination manners for the first adjustment coefficient, the second encoding quality gear, and the second encoding speed, and embodiments of the present invention are not limited in particular.
In some embodiments, the adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the first adjustment coefficient to obtain a second coding quality gear and a second coding speed includes: determining a second coding speed according to the first adjusting coefficient and a first coding speed in the first coding strategy; and when the second coding speed is smaller than the minimum coding speed in the first coding quality gears, determining that the second coding quality gear is a coding quality gear higher than the first coding quality gear, and updating the second coding speed to be a first preset coding speed in the second coding quality gear. The first preset encoding speed can be the highest encoding speed in the second encoding quality gear, and can also be other encoding speeds, and can be set according to actual requirements.
In some embodiments, when the first duration is greater than a second preset threshold, the adjusting the first coding strategy so that the coding complexity corresponding to the obtained second coding strategy is less than the coding complexity corresponding to the first coding strategy includes: determining a second adjustment coefficient according to the first duration and the second preset threshold; adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the second adjusting coefficient to obtain a second coding quality gear and a second coding speed; wherein the second encoding speed is greater than the first encoding speed, and/or the second encoding quality gear is lower than the first encoding quality gear. For example, the second adjustment factor may be determined according to a quotient of the first duration and a second preset threshold, and the second encoding speed may be determined according to a sum of the first encoding speed and the second adjustment factor. And when the second adjusting coefficient exceeds a second threshold value, reducing the coding quality gear, namely the second coding quality gear is lower than the first coding quality gear, otherwise, not adjusting the coding quality gear, and keeping the first coding quality gear unchanged, namely the second coding quality gear is equal to the first coding quality gear. In addition, the coding quality gear can be directly reduced without adjusting the coding speed; the coding quality gear can be reduced while the coding speed is increased. Of course, there may be other determination manners for the second adjustment coefficient, the second encoding quality gear, and the second encoding speed, and the embodiment of the present invention is not particularly limited.
In some embodiments, said adjusting a first encoding quality level and a first encoding speed in said first encoding strategy according to said second adjustment factor comprises: determining a second coding speed according to the second adjusting coefficient and a first coding speed in the first coding strategy; and when the second coding speed exceeds the maximum coding speed in the first coding quality gears, determining that the second coding quality gear is a coding quality gear lower than the first coding quality gear, and updating the second coding speed to a second preset coding speed in the second coding quality gear. The second preset encoding speed may be the lowest encoding speed in the second encoding quality gear, or may be other encoding speeds, and may be set according to actual requirements.
In some embodiments, the encoding the first original video data by using the first encoding strategy with the preset encoder within the preset time duration further includes: detecting whether the network condition meets a preset adjusting condition, and if so, adjusting a preset encoding index in the preset encoder; and coding the first original video data by using a preset coder in a preset time length by adopting a first coding strategy. The advantage of setting up like this is, can be according to the preset coding index in the network state self-adaptation adjustment presets the encoder, further dynamic adjustment video image quality and fluency. Optionally, the network condition includes a network speed, and the preset encoding index includes at least one of a resolution, a code rate, and a frame rate. When the network speed is low (if the current network speed is lower than a first network speed threshold), reducing video coding gears, such as at least one of resolution, code rate and frame rate; when the network speed is fast (for example, the current network speed is greater than the second network speed threshold, and the second network speed threshold is greater than the first network speed threshold), the video coding gear is increased, for example, at least one of resolution, code rate and frame rate is increased.
Fig. 2 is a schematic flowchart of another video encoding method according to an embodiment of the present invention, which is described by taking a vpx-series encoder as an example for encoding in a video call scene. In a vpx-series encoder, the encoding complexity is mainly realized by two parameters, namely encoding quality level (deadline) and encoding speed (cpu used). Wherein the deadline is used to specify the QUALITY level of the encoding, the vpx series generally has three levels, namely REAL TIME, GOOD QUALITY, BEST QUALITY; the cpu used is used to specify the encoding speed at a certain quality level. Optionally, the range of cpu used in REAL TIME file can be limited to the range of [ -16, -1], and the smaller the value, the lower the encoding complexity, i.e. the faster the speed; the range of cpu used in GOOD _ QUALITY file can be limited to the range of [0,5], and the smaller the numerical value is, the higher the coding complexity is, namely the slower the speed is; the CPU used in BEST _ QULAITY file is fixed to 0 and is not adjustable.
Illustratively, the method may comprise:
step 201, detecting that a video call event is triggered.
For example, when a communication connection is established between two parties of a video call in an application program, it may be considered that a video call event is detected to be triggered. Subsequently, the encoding strategy adjustment period C (i.e., the preset duration), the lower threshold T1 (i.e., the first preset threshold) and the upper threshold T2 (i.e., the second preset threshold) of the time consumption of the encoding unit time (the first duration) may be initialized. T1 may be, for example, 0.5 seconds, and T2 may be, for example, 0.9 seconds.
Step 202, encoding the original video data by using a vpx encoder within a preset time length and adopting a current encoding strategy, and counting encoding time lengths corresponding to original video frames in the original video data.
For example, when this step is executed for the first time, the current encoding strategy may include a preset encoding quality level and a preset encoding speed, that is, the vpx encoder is used to encode the original video data with the preset encoding quality level and the preset encoding speed within a preset time duration. At the starting moment of the preset duration, the encoding time t =0, and the encoding frame number n =0. The method comprises the steps of acquiring original data of a video through a camera of the equipment, feeding the original video data into a vpx encoder, calculating encoding time consumption after encoding one frame and accumulating the encoding time consumption to t, and accumulating the frame number n to 1.
Optionally, in the process of executing step 202, detecting whether the network condition meets a preset adjustment condition, if so, adjusting a preset encoding index in a preset encoder, and executing step 202 again; otherwise, execution continues with step 202. It should be noted that, when step 202 is executed again, a new period is entered, it is necessary to reset the encoding time t =0, and the number of encoding frames n =0, and the original video data is encoded from the start time of a new preset duration. For example, the predetermined encoding index may include a resolution, a code rate, and a frame rate, and any one or more of the predetermined encoding indexes may be adjusted when the adjustment is performed.
And step 203, determining a first time length of the preset encoder in the encoding state in the unit time according to the encoding time length.
For example, if the coding duration corresponding to each original video frame in the original video data in the preset duration is counted, assuming that the current frame rate of the vpx encoder is fps, n = fps × C, and the first duration cost = (t/n) × fps × 1 second.
Step 204, judging whether the first time length is smaller than a first preset threshold value, if so, executing step 205; otherwise, step 206 is performed.
Step 205, adjusting the current encoding strategy to increase the encoding complexity corresponding to the encoding strategy, obtaining a new current encoding strategy, and executing step 208.
Illustratively, a first adjustment coefficient is determined according to a first duration and a first preset threshold, and a first coding quality gear and a first coding speed in a current coding strategy are adjusted according to the first adjustment coefficient to obtain a second coding quality gear and a second coding speed, wherein the second coding speed is less than the first coding speed, and the second coding quality gear is higher than or equal to the first coding quality gear. The first coding quality gear and the first coding speed correspond to a current coding strategy, and the second coding quality gear and the second coding speed correspond to an adjusted new coding strategy. The second coding speed can be determined according to the first adjustment coefficient and the first coding speed, when the second coding speed is smaller than the minimum coding speed in the first coding quality gear, the second coding quality gear is determined to be a coding quality gear higher than the first coding quality gear, and the second coding speed is updated to be the first preset coding speed in the second coding quality gear.
Specifically, when the cost is smaller than T1, the first adjustment coefficient k1= T1/cost, and when the obtained value is not an integer, the value may be rounded up or rounded down.
If the first encoding quality gear is the REAL _ TIME gear, the cpu used + = k, that is, the value of the second encoding speed (cpu used 2) is the sum of the value of the first encoding speed (cpu used 1) and k. When the cpu used is switched to-1, if the coding complexity needs to be increased, the dead line is switched to the GOOD _ QUALITY, and the cpu used is also switched to 2, where 2 can be set according to the actual requirement.
If the first encoding QUALITY level is a GOOD _ QUALITY level, the value (cpu used- = k), that is, the value (cpu used 2) of the second encoding speed is the value (cpu used 1) of the first encoding speed minus k. When the cpu used is switched to 0, if the coding complexity needs to be increased, the deadline is switched to BEST _ query, and the cpu used is also switched to 0.
If the first coding quality level is BEST _ quality, it can be considered that the coding complexity has reached the maximum and cannot be increased further.
Step 206, judging whether the first time length is greater than a second preset threshold value, if so, executing step 207; otherwise, step 208 is performed.
And step 207, adjusting the current coding strategy to reduce the coding complexity corresponding to the coding strategy to obtain a new coding strategy.
Illustratively, a second adjusting coefficient is determined according to the first duration and a second preset threshold, and a first coding quality gear and a first coding speed in the first coding strategy are adjusted according to the second adjusting coefficient to obtain a second coding quality gear and a second coding speed, wherein the second coding speed is greater than the first coding speed, and the second coding quality gear is lower than or equal to the first coding quality gear. The second coding speed can be determined according to the second adjustment coefficient and the first coding speed, when the second coding speed reaches the maximum coding speed in the first coding quality gear, the second coding quality gear is determined to be a coding quality gear lower than the first coding quality gear, and the second coding speed is updated to be a second preset coding speed in the second coding quality gear.
Specifically, when the cost is greater than T2, the first adjustment coefficient k1= cost/T2, and when the obtained value is not an integer, the value may be rounded up or rounded down.
If the first encoding quality gear is the REAL _ TIME gear, the value (cpu used 2) of the second encoding speed is equal to the value (cpu used 1) of the first encoding speed minus k. When the cpu used is switched to-16, the encoding complexity is considered to be minimized and cannot be further reduced.
If the first encoding QUALITY level is a GOOD _ QUALITY level, the cpu used + = k, that is, the value of the second encoding speed (cpu used 2) is the value of the first encoding speed (cpu used 1) plus k. After the cpu used is switched to 5, if the encoding complexity needs to be reduced, the decode line is switched to REAL _ TIME, and the cpu used is also switched to-4, where-4 can be set according to the actual requirement.
If the first encoding QUALITY level is BEST _ QUALITY, the default may be switched to GOOD _ QUALITY, and the cpu used may be unchanged.
Fig. 3 is a schematic diagram of coding quality and coding speed switching according to an embodiment of the present invention, and the switching process can be further understood with reference to fig. 3. In the figure, RT is REAL _ TIME, GOOD is GOOD _ QUALITY, and BEST is BEST _ QULAITY.
Step 208, judging whether the video call is ended, if so, ending the process; otherwise, return to execute step 202.
For example, the coding elapsed time and the coding frame number may be reset before determining whether the video call is ended, i.e., t =0, n =0.
According to the video coding method provided by the embodiment of the invention, in a video call scene, a vpx series encoder is used for coding a call video, and the coding quality gear and the coding speed are dynamically adjusted periodically according to the average coding time consumption in unit time so as to realize dynamic adjustment of the coding strength.
Fig. 4 is a block diagram of a video encoding apparatus according to an embodiment of the present invention, where the apparatus may be implemented by software and/or hardware, and may be generally integrated in a computer device, and may perform video encoding by executing a video encoding method. As shown in fig. 4, the apparatus includes:
a first encoding module 401, configured to encode first original video data by using a first encoding strategy through a preset encoder within a preset time duration;
a duration counting module 402, configured to count a coding duration corresponding to each original video frame in the first original video data, where a coding policy is related to coding complexity;
a policy adjusting module 403, configured to adjust the first coding policy according to the coding duration to obtain a second coding policy;
a second encoding module 404, configured to encode, by using the preset encoder, second original video data subsequent to the first original video data by using the second encoding policy.
The video coding device provided in the embodiment of the present invention encodes, within a preset time duration, first original video data by using a preset encoder and using a first coding strategy, and counts coding time durations corresponding to original video frames in the first original video data, where the coding strategy is related to coding complexity, adjusts the first coding strategy according to the coding time durations to obtain a second coding strategy, and encodes, by using the preset encoder and using the second coding strategy, second original video data subsequent to the first original video data. By adopting the technical scheme, the subsequent coding strategy can be dynamically adjusted according to the actual coding time consumption condition in the preset time length, so that the coding complexity can be dynamically adjusted, and the flexibility of video coding can be improved.
In some embodiments, the adjusting the first coding strategy according to the coding duration to obtain a second coding strategy includes:
determining a first time length of the preset encoder in an encoding state in unit time according to the encoding time length;
and when the first time length is smaller than a first preset threshold value, adjusting the first coding strategy so as to enable the coding complexity corresponding to the obtained second coding strategy to be larger than the coding complexity corresponding to the first coding strategy.
In some embodiments, the policy adjustment module is further to:
when the first duration is greater than a second preset threshold, adjusting the first coding strategy so that the coding complexity corresponding to the obtained second coding strategy is smaller than the coding complexity corresponding to the first coding strategy, wherein the second preset threshold is greater than the first preset threshold.
In some embodiments, the determining, according to the encoding duration, a first duration in which the preset encoder is in an encoding state in a unit time includes:
calculating a quotient of the sum of the coding durations and the preset duration, and determining a first duration of the preset encoder in a coding state in unit time according to the quotient; or the like, or, alternatively,
and calculating the product of the average value of the coding time length and the current frame rate of the preset encoder, and determining the first time length of the preset encoder in the coding state in unit time according to the product.
In some embodiments, the encoding strategy comprises encoding quality steps and encoding speeds, and one encoding quality step corresponds to at least one encoding speed.
In some embodiments, when the first duration is smaller than a first preset threshold, adjusting the first encoding strategy so that the encoding complexity corresponding to the obtained second encoding strategy is greater than the encoding complexity corresponding to the first encoding strategy includes:
determining a first adjusting coefficient according to the first duration and the first preset threshold;
adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the first adjusting coefficient to obtain a second coding quality gear and a second coding speed; wherein the second encoding speed is lower than the first encoding speed, and/or the second encoding quality gear is higher than the first encoding quality gear.
In some embodiments, the adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the first adjustment coefficient to obtain a second coding quality gear and a second coding speed includes:
determining a second coding speed according to the first adjusting coefficient and a first coding speed in the first coding strategy;
and when the second coding speed is smaller than the minimum coding speed in the first coding quality gears, determining that the second coding quality gear is a coding quality gear higher than the first coding quality gear, and updating the second coding speed to be a first preset coding speed in the second coding quality gear.
In some embodiments, when the first duration is greater than a second preset threshold, the adjusting the first coding strategy so that the coding complexity corresponding to the obtained second coding strategy is less than the coding complexity corresponding to the first coding strategy includes:
determining a second adjustment coefficient according to the first duration and the second preset threshold;
adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the second adjusting coefficient to obtain a second coding quality gear and a second coding speed; wherein the second encoding speed is greater than the first encoding speed, and/or the second encoding quality gear is lower than the first encoding quality gear.
In some embodiments, said adjusting a first encoding quality level and a first encoding speed in said first encoding strategy according to said second adjustment factor comprises:
determining a second coding speed according to the second adjusting coefficient and the first coding speed in the first coding strategy;
and when the second coding speed exceeds the maximum coding speed in the first coding quality gears, determining that the second coding quality gear is a coding quality gear lower than the first coding quality gear, and updating the second coding speed to a second preset coding speed in the second coding quality gear.
In some embodiments, the apparatus further comprises:
the encoding index adjusting module is used for detecting whether the network condition meets a preset adjusting condition or not in the process of encoding the first original video data by using a preset encoder and a first encoding strategy within the preset time length, and if so, adjusting a preset encoding index in the preset encoder;
the first encoding module is further to: and coding the first original video data by using a preset coder in a preset time length by adopting a first coding strategy.
In some embodiments, the network condition includes a network speed, and the preset encoding index includes at least one of a resolution, a code rate, and a frame rate.
In some embodiments, the pre-set encoder comprises a vpx series encoder.
The embodiment of the invention provides computer equipment, and the video coding device provided by the embodiment of the invention can be integrated in the computer equipment. Fig. 5 is a block diagram of a computer device according to an embodiment of the present invention. The computer device 500 comprises a memory 501, a processor 502 and a computer program stored on the memory 501 and executable on the processor 502, wherein the processor 502 implements the video coding method provided by the embodiment of the invention when executing the computer program.
Embodiments of the present invention also provide a storage medium containing computer-executable instructions, which when executed by a computer processor are configured to perform the video encoding method provided by the embodiments of the present invention.
Storage medium-any of various types of memory devices or storage devices. The term "storage medium" is intended to include: mounting media such as CD-ROM, floppy disk, or tape devices; computer system memory or random access memory such as DRAM, DDRRAM, SRAM, EDORAM, lanbas (Rambus) RAM, etc.; non-volatile memory such as flash memory, magnetic media (e.g., hard disk or optical storage); registers or other similar types of memory elements, etc. The storage medium may also include other types of memory or combinations thereof. In addition, the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system connected to the first computer system through a network (such as the internet). The second computer system may provide program instructions to the first computer for execution. The term "storage media" may include two or more storage media that may reside in different locations, such as in different computer systems that are connected by a network. The storage medium may store program instructions (e.g., embodied as a computer program) that are executable by one or more processors.
The video coding device, the video coding equipment and the storage medium provided in the above embodiments can execute the video coding method provided in any embodiment of the present invention, and have corresponding functional modules and beneficial effects for executing the method. For technical details that are not described in detail in the above embodiments, reference may be made to a video encoding method provided in any embodiment of the present invention.
Note that the above is only a preferred embodiment of the present invention. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in more detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the claims.

Claims (14)

1. A video encoding method, comprising:
the method comprises the steps that a first original video data is coded by a preset coder in a preset time length by adopting a first coding strategy, and coding time lengths corresponding to original video frames in the first original video data are counted, wherein the coding strategy is related to coding complexity;
adjusting the first coding strategy according to the coding duration to obtain a second coding strategy;
encoding second original video data subsequent to the first original video data by using the preset encoder and the second encoding strategy;
wherein the adjusting the first coding strategy according to the coding duration to obtain a second coding strategy includes:
determining a first time length of the preset encoder in an encoding state in unit time according to the encoding time length;
and when the first time length is smaller than a first preset threshold value, adjusting the first coding strategy so as to enable the coding complexity corresponding to the obtained second coding strategy to be larger than the coding complexity corresponding to the first coding strategy.
2. The method of claim 1, further comprising:
when the first duration is greater than a second preset threshold, the first coding strategy is adjusted so that the coding complexity corresponding to the obtained second coding strategy is smaller than the coding complexity corresponding to the first coding strategy, wherein the second preset threshold is greater than the first preset threshold.
3. The method of claim 1, wherein determining the first duration that the preset encoder is in the encoding state in the unit time according to the encoding duration comprises:
calculating a quotient of the sum of the coding durations and the preset duration, and determining a first duration of the preset encoder in a coding state in unit time according to the quotient; or the like, or, alternatively,
and calculating the product of the average value of the coding time length and the current frame rate of the preset encoder, and determining the first time length of the preset encoder in the coding state in unit time according to the product.
4. The method of claim 2, wherein the coding strategy comprises coding quality steps and coding speeds, and one coding quality step corresponds to at least one coding speed.
5. The method of claim 4, wherein when the first duration is smaller than a first preset threshold, adjusting the first coding strategy so that the coding complexity corresponding to the obtained second coding strategy is greater than the coding complexity corresponding to the first coding strategy comprises:
determining a first adjustment coefficient according to the first duration and the first preset threshold;
adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the first adjusting coefficient to obtain a second coding quality gear and a second coding speed; wherein the second encoding speed is lower than the first encoding speed, and/or the second encoding quality gear is higher than the first encoding quality gear.
6. The method of claim 5, wherein the adjusting the first coding quality level and the first coding speed in the first coding strategy according to the first adjustment coefficient to obtain a second coding quality level and a second coding speed comprises:
determining a second coding speed according to the first adjusting coefficient and a first coding speed in the first coding strategy;
and when the second coding speed is smaller than the minimum coding speed in the first coding quality gears, determining that the second coding quality gear is a coding quality gear higher than the first coding quality gear, and updating the second coding speed to be a first preset coding speed in the second coding quality gear.
7. The method of claim 4, wherein when the first duration is greater than a second preset threshold, the adjusting the first coding strategy so that the coding complexity corresponding to the obtained second coding strategy is less than the coding complexity corresponding to the first coding strategy comprises:
determining a second adjustment coefficient according to the first duration and the second preset threshold;
adjusting a first coding quality gear and a first coding speed in the first coding strategy according to the second adjusting coefficient to obtain a second coding quality gear and a second coding speed; wherein the second encoding speed is greater than the first encoding speed, and/or the second encoding quality gear is lower than the first encoding quality gear.
8. The method of claim 7, wherein said adjusting a first encoding quality level and a first encoding speed in said first encoding strategy according to said second adjustment factor comprises:
determining a second coding speed according to the second adjusting coefficient and the first coding speed in the first coding strategy;
and when the second coding speed exceeds the maximum coding speed in the first coding quality gears, determining that the second coding quality gear is a coding quality gear lower than the first coding quality gear, and updating the second coding speed to a second preset coding speed in the second coding quality gear.
9. The method of claim 1, wherein the encoding the first original video data with the first encoding strategy by using a preset encoder within a preset time period further comprises:
detecting whether the network condition meets a preset adjusting condition, and if so, adjusting a preset encoding index in the preset encoder;
and coding the first original video data by using a preset coder in a preset time length by adopting a first coding strategy.
10. The method of claim 9, wherein the network condition comprises a network speed, and wherein the preset coding index comprises at least one of a resolution, a code rate, and a frame rate.
11. The method of claim 1, wherein the pre-set encoder comprises a vpx series encoder.
12. A video encoding apparatus, comprising:
the first encoding module is used for encoding the first original video data by using a preset encoder and adopting a first encoding strategy within a preset time length;
the time length counting module is used for counting the coding time length corresponding to each original video frame in the first original video data, wherein the coding strategy is related to the coding complexity;
the strategy adjusting module is used for adjusting the first coding strategy according to the coding duration to obtain a second coding strategy;
a second encoding module, configured to encode, by using the preset encoder, second original video data subsequent to the first original video data by using the second encoding policy;
wherein the adjusting the first coding strategy according to the coding duration to obtain a second coding strategy includes:
determining a first time length of the preset encoder in an encoding state in unit time according to the encoding time length;
and when the first time length is smaller than a first preset threshold value, adjusting the first coding strategy so as to enable the coding complexity corresponding to the obtained second coding strategy to be larger than the coding complexity corresponding to the first coding strategy.
13. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method according to any of claims 1-11 when executing the computer program.
14. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-11.
CN202010106043.3A 2020-02-20 2020-02-20 Video encoding method, device, equipment and storage medium Active CN111263153B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010106043.3A CN111263153B (en) 2020-02-20 2020-02-20 Video encoding method, device, equipment and storage medium
PCT/CN2021/076351 WO2021164670A1 (en) 2020-02-20 2021-02-09 Video coding method and apparatus, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010106043.3A CN111263153B (en) 2020-02-20 2020-02-20 Video encoding method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111263153A CN111263153A (en) 2020-06-09
CN111263153B true CN111263153B (en) 2022-10-11

Family

ID=70951440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010106043.3A Active CN111263153B (en) 2020-02-20 2020-02-20 Video encoding method, device, equipment and storage medium

Country Status (2)

Country Link
CN (1) CN111263153B (en)
WO (1) WO2021164670A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111263153B (en) * 2020-02-20 2022-10-11 广州市百果园信息技术有限公司 Video encoding method, device, equipment and storage medium
CN112383777B (en) * 2020-09-28 2023-09-05 北京达佳互联信息技术有限公司 Video encoding method, video encoding device, electronic equipment and storage medium
CN113784210B (en) * 2021-09-03 2023-09-22 上海哔哩哔哩科技有限公司 Pre-monitoring frequency playing method and cloud broadcasting guide table service system
CN114827662B (en) * 2022-03-18 2024-06-25 百果园技术(新加坡)有限公司 Video resolution adaptive adjustment method, device, equipment and storage medium
CN117412072A (en) * 2022-07-06 2024-01-16 北京字跳网络技术有限公司 Video resource management method and device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878808A (en) * 2017-03-17 2017-06-20 福建中金在线信息科技有限公司 A kind of video broadcasting method and device
CN107105240A (en) * 2017-03-22 2017-08-29 中南大学 A kind of HEVC SCC complexity control methods and its system
CN109120933A (en) * 2018-10-11 2019-01-01 广州酷狗计算机科技有限公司 Dynamic adjusts method, apparatus, equipment and the storage medium of code rate
CN110365600A (en) * 2019-07-30 2019-10-22 广州市百果园信息技术有限公司 A kind of jamming control method based on BBR, device, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107155107B (en) * 2017-03-21 2018-08-03 腾讯科技(深圳)有限公司 Method for video coding and device, video encoding/decoding method and device
US10834384B2 (en) * 2017-05-15 2020-11-10 City University Of Hong Kong HEVC with complexity control based on dynamic CTU depth range adjustment
CN110166771B (en) * 2018-08-01 2022-09-23 腾讯科技(深圳)有限公司 Video encoding method, video encoding device, computer equipment and storage medium
CN111510715B (en) * 2019-01-31 2022-03-01 上海哔哩哔哩科技有限公司 Video processing method, system, computer device and storage medium
CN111263153B (en) * 2020-02-20 2022-10-11 广州市百果园信息技术有限公司 Video encoding method, device, equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878808A (en) * 2017-03-17 2017-06-20 福建中金在线信息科技有限公司 A kind of video broadcasting method and device
CN107105240A (en) * 2017-03-22 2017-08-29 中南大学 A kind of HEVC SCC complexity control methods and its system
CN109120933A (en) * 2018-10-11 2019-01-01 广州酷狗计算机科技有限公司 Dynamic adjusts method, apparatus, equipment and the storage medium of code rate
CN110365600A (en) * 2019-07-30 2019-10-22 广州市百果园信息技术有限公司 A kind of jamming control method based on BBR, device, equipment and storage medium

Also Published As

Publication number Publication date
CN111263153A (en) 2020-06-09
WO2021164670A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
CN111263153B (en) Video encoding method, device, equipment and storage medium
WO2016131223A1 (en) Frame loss method for video frame and video sending apparatus
CN104125429B (en) The adjusting method and device of video data transmission
US12015770B2 (en) Method for encoding video data, device, and storage medium
CN111225209B (en) Video data plug flow method, device, terminal and storage medium
RU2624641C2 (en) Method and device for video quality control based on network environment
WO2019119950A1 (en) Video coding processing method and apparatus, and application having video coding function
WO2019033877A1 (en) Video frame coding method, terminal, and storage medium
WO2023174254A1 (en) Video posting method and apparatus, and device and storage medium
EP4024945A1 (en) Information processing method, apparatus, and device, and computer readable storage medium
CN111970565A (en) Video data processing method and device, electronic equipment and storage medium
CN109218722B (en) Video coding method, device and equipment
CN107493478B (en) Method and device for setting coding frame rate
CN112840663A (en) Video coding method and device, electronic equipment and storage medium
CN117336534A (en) Data transmission method, device, electronic equipment and storage medium
CN111327864A (en) Video call control method and device, terminal equipment and storage medium
CN107295667B (en) Access resource adjusting method and device
CN114302142A (en) Video encoding method, image transmission apparatus, and storage medium
CN112261354B (en) Data transmission method based on multiple network cameras and related device
CN114979726A (en) Code rate adjusting method, device, server and storage medium
US8791981B2 (en) Bit rate control apparatus and method thereof
CN116996649B (en) Screen projection method and device, storage medium and electronic equipment
US11936698B2 (en) Systems and methods for adaptive video conferencing
KR101637022B1 (en) Apparatus and method for transmitting and receiving content
CN117478958B (en) Video playing method, device, electronic equipment 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231010

Address after: 31a, 15th floor, building 30, maple commercial city, bangrang Road, Brazil

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 5-13 / F, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou, Guangdong 510000

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.