CN111263153A - Video encoding method, device, equipment and storage medium - Google Patents
Video encoding method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN111263153A CN111263153A CN202010106043.3A CN202010106043A CN111263153A CN 111263153 A CN111263153 A CN 111263153A CN 202010106043 A CN202010106043 A CN 202010106043A CN 111263153 A CN111263153 A CN 111263153A
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 claims description 9
- 239000002609 medium Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods 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
-
- 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/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/4402—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 reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—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 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
-
- 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/4402—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 reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—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 reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
-
- 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
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (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
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 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 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 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;
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 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:
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 company google (google) and the vpx series encoders 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 in a manner of timing by a timer, 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 condition 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 fluency 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 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. 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 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. 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 slow (if the current network speed is less 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 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:
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., a preset duration), the lower threshold T1 (i.e., a first preset threshold) and the upper threshold T2 (i.e., a 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.
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 time of the preset time length, the coding time t is 0, and the coding frame number n is 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 to 0, the encoding frame number n to 0, and encode the original video data from the start time of the new preset time 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 counting of the encoding duration corresponding to each original video frame in the original video data in the preset duration is completed, assuming that the current frame rate of the vpx encoder is fps, n is fps × C, and the first duration cost is (t/n) × fps × 1 second.
Illustratively, a first adjusting coefficient is determined according to the first duration and a first preset threshold, and a first coding quality gear and a first coding speed in the current coding strategy are adjusted according to the first adjusting 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 less than T1, the first adjustment coefficient k1 may be 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 + may be k, that is, the value of the second encoding speed (cpu used2) may be the value of the first encoding speed (cpu used1) plus 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 the GOOD _ QUALITY level, the value of the second encoding speed (cpu used2) may be set to k, that is, k is subtracted from the value of the first encoding speed (cpu used 1). When the cpu used is switched to 0, if the coding complexity needs to be increased, the dead 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.
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 may be made 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 of the second encoding speed (cpu used2) may be determined as the value of the first encoding speed (cpu used1) 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 the GOOD _ QUALITY level, the cpu used + may be k, that is, the value of the second encoding speed (cpu used2) is equal to the value of the first encoding speed (cpu used1) 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.
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 is 0 and n is 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 encoding 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 encoding policy, and counts encoding time durations corresponding to original video frames in the first original video data, where the encoding policy is related to encoding complexity, adjusts the first encoding policy according to the encoding time durations to obtain a second encoding policy, and encodes, by using the preset encoder and using the second encoding policy, 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, which when executed by the processor 502 implements the video encoding method provided by the embodiments of the present invention.
Embodiments of the present invention also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, are used 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 medium" 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 (15)
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;
and encoding second original video data after the first original video data by using the preset encoder and the second encoding strategy.
2. The method of claim 1, wherein the adjusting the first coding strategy according to the coding duration to obtain a second coding strategy comprises:
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.
3. The method of claim 2, further comprising:
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.
4. The method of claim 2, 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.
5. The method according to claim 3 or 4, wherein the coding strategy comprises coding quality steps and coding speeds, and one coding quality step corresponds to at least one coding speed.
6. The method of claim 5, 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 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.
7. The method of claim 6, 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.
8. The method of claim 5, 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.
9. The method of claim 8, 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.
10. 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.
11. The method of claim 10, 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.
12. The method of claim 1, wherein the pre-set encoder comprises a vpx series encoder.
13. 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;
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.
14. 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-12 when executing the computer program.
15. 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-12.
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 true CN111263153A (en) | 2020-06-09 |
CN111263153B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383777A (en) * | 2020-09-28 | 2021-02-19 | 北京达佳互联信息技术有限公司 | Video coding method and device, electronic equipment and storage medium |
WO2021164670A1 (en) * | 2020-02-20 | 2021-08-26 | 百果园技术(新加坡)有限公司 | Video coding method and apparatus, device, and storage medium |
CN113784210A (en) * | 2021-09-03 | 2021-12-10 | 上海哔哩哔哩科技有限公司 | Pre-monitoring frequency playing method and cloud director service system |
CN114827662A (en) * | 2022-03-18 | 2022-07-29 | 百果园技术(新加坡)有限公司 | Video resolution self-adaptive adjusting method, device, equipment and storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117412072A (en) * | 2022-07-06 | 2024-01-16 | 北京字跳网络技术有限公司 | Video resource management method and device, electronic equipment and storage medium |
Citations (5)
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 |
US20190253704A1 (en) * | 2017-03-21 | 2019-08-15 | Tencent Technology (Shenzhen) Company Limited | Video encoding method, video decoding method, computer device and storage medium |
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
-
2020
- 2020-02-20 CN CN202010106043.3A patent/CN111263153B/en active Active
-
2021
- 2021-02-09 WO PCT/CN2021/076351 patent/WO2021164670A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878808A (en) * | 2017-03-17 | 2017-06-20 | 福建中金在线信息科技有限公司 | A kind of video broadcasting method and device |
US20190253704A1 (en) * | 2017-03-21 | 2019-08-15 | Tencent Technology (Shenzhen) Company Limited | Video encoding method, video decoding method, computer device and storage medium |
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 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021164670A1 (en) * | 2020-02-20 | 2021-08-26 | 百果园技术(新加坡)有限公司 | Video coding method and apparatus, device, and storage medium |
CN112383777A (en) * | 2020-09-28 | 2021-02-19 | 北京达佳互联信息技术有限公司 | Video coding method and device, electronic equipment and storage medium |
CN112383777B (en) * | 2020-09-28 | 2023-09-05 | 北京达佳互联信息技术有限公司 | Video encoding method, video encoding device, electronic equipment and storage medium |
CN113784210A (en) * | 2021-09-03 | 2021-12-10 | 上海哔哩哔哩科技有限公司 | Pre-monitoring frequency playing method and cloud director service system |
CN113784210B (en) * | 2021-09-03 | 2023-09-22 | 上海哔哩哔哩科技有限公司 | Pre-monitoring frequency playing method and cloud broadcasting guide table service system |
CN114827662A (en) * | 2022-03-18 | 2022-07-29 | 百果园技术(新加坡)有限公司 | Video resolution self-adaptive adjusting method, device, equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2021164670A1 (en) | 2021-08-26 |
CN111263153B (en) | 2022-10-11 |
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 | |
US12015770B2 (en) | Method for encoding video data, device, and storage medium | |
CN111225209B (en) | Video data plug flow method, device, terminal and storage medium | |
CN108347580B (en) | Method for processing video frame data and electronic equipment | |
CN105163134A (en) | Video coding parameter setting method, device and video coding device for live video | |
CN105430532A (en) | Control method and system for adaptive adjustment of video data transmission | |
KR20190122830A (en) | Video frame coding method, terminal and storage medium | |
WO2021057412A1 (en) | Video recording method, device, terminal, and computer-readable 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 | |
CN112840663A (en) | Video coding method and device, electronic equipment and storage medium | |
CN109218722B (en) | Video coding method, device and equipment | |
CN103929682B (en) | Method and device for setting key frames in video live broadcast system | |
CN112689148B (en) | Method, system and storage medium for peak value removal of multi-layer video transmission in cloud conference | |
CN107493478B (en) | Method and device for setting coding frame rate | |
CN117336534A (en) | Data transmission method, device, electronic equipment and storage medium | |
US20230247069A1 (en) | Systems and Methods for Adaptive Video Conferencing | |
CN111327864A (en) | Video call control method and device, terminal equipment and storage medium | |
CN107295667B (en) | Access resource adjusting method and device | |
US10880562B2 (en) | Image processing method and camera thereof | |
CN114979726A (en) | Code rate adjusting method, device, server and storage medium | |
CN112261354B (en) | Data transmission method based on multiple network cameras and related device | |
US8791981B2 (en) | Bit rate control apparatus and method thereof | |
CN116996649B (en) | Screen projection method and device, storage medium and electronic equipment |
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. |