WO2017096947A1 - Real-time control method and device for real-time transcoding - Google Patents

Real-time control method and device for real-time transcoding Download PDF

Info

Publication number
WO2017096947A1
WO2017096947A1 PCT/CN2016/096002 CN2016096002W WO2017096947A1 WO 2017096947 A1 WO2017096947 A1 WO 2017096947A1 CN 2016096002 W CN2016096002 W CN 2016096002W WO 2017096947 A1 WO2017096947 A1 WO 2017096947A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
transcoding
real
consuming
certain number
Prior art date
Application number
PCT/CN2016/096002
Other languages
French (fr)
Chinese (zh)
Inventor
白茂生
Original Assignee
乐视控股(北京)有限公司
乐视云计算有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 乐视控股(北京)有限公司, 乐视云计算有限公司 filed Critical 乐视控股(北京)有限公司
Publication of WO2017096947A1 publication Critical patent/WO2017096947A1/en

Links

Images

Classifications

    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo

Definitions

  • the present application relates to the field of video technologies, and in particular, to a real-time control method and apparatus for real-time transcoding.
  • Real-time transcoding is a kind of video transcoding technology that has been developed rapidly and gradually applied in recent years, and its function is consistent with offline transcoding.
  • the real-time transcoding consumes a huge amount of CPU and memory. How to provide a smooth live broadcast transcoding in the case of limited transcoding resources is a technical problem to be solved.
  • the embodiment of the present invention provides a real-time control method and device for real-time transcoding, which is used to solve the defect that the real-time transcoding system lacks resources and causes transcoding to be fluent, realizing real-time control of video transcoding and ensuring live broadcast.
  • the fluency is used to solve the defect that the real-time transcoding system lacks resources and causes transcoding to be fluent, realizing real-time control of video transcoding and ensuring live broadcast.
  • the embodiment of the present application provides a real-time control method for real-time transcoding, including:
  • the coding parameters are adjusted for transcoding control.
  • the embodiment of the present application provides a real-time control device for real-time transcoding, including:
  • An information obtaining module configured to obtain current feedback information in real time during transcoding
  • a calculation module configured to calculate, according to the feedback information, an actual time consumption of a current number of coded frames; and calculate a time-consuming deviation of the certain number of coded frames according to the pre-calculated expected time consumption and the actual time consumption;
  • the transcoding control module is configured to adjust the coding parameters according to the time-consuming deviation to perform transcoding control.
  • the embodiment of the present application provides an electronic device, including the real-time control device for real-time transcoding according to any of the foregoing embodiments.
  • the embodiment of the present application provides a non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium can store computer instructions, which can implement real-time transcoding provided by the embodiments of the present application. Some or all of the various implementations of the real-time control method.
  • An embodiment of the present application provides an electronic device, including: one or more processors; and a memory; wherein the memory stores instructions executable by the one or more processors, the instructions being set to A real-time control method for performing real-time transcoding of any of the above-mentioned applications of the present application.
  • An embodiment of the present application provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer, The computer is caused to perform the real-time control method for real-time transcoding of any of the above embodiments of the present application.
  • the real-time control method and device for real-time transcoding obtained by the embodiment of the present application obtains feedback information of the encoding process in real time by monitoring the encoding process, and adjusts the complexity parameter of the encoding according to the feedback information, thereby realizing the performance of the transcoding system.
  • the adjustment of the transcoding process does not affect the fluency of the live broadcast due to the load of the server; at the same time, the algorithm and framework of the technical solution proposed by the embodiment of the present application are relatively simple, and can be easily extended to other transcoders. Such as H.265.
  • Embodiment 1 is a technical flowchart of Embodiment 1 of the present application.
  • FIG. 2 is a diagram showing an example of time-consuming deviation level and coding parameter mapping in the embodiment of the present application
  • FIG. 3 is a schematic structural diagram of a device according to Embodiment 2 of the present application.
  • FIG. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • a real-time control method for real-time transcoding provided by an embodiment of the present application mainly includes the following steps:
  • Step 110 Acquire current encoded feedback information in real time during transcoding
  • Video Transcoding refers to converting a video stream that has been compression-coded into another video stream to accommodate different network bandwidths, different terminal processing capabilities, and different user requirements.
  • the transcoding is essentially a process of decoding and re-encoding.
  • the core of the embodiment of the present application is to control the encoding complexity parameter of the encoding according to the encoded feedback information, thereby realizing real-time control of transcoding.
  • the feedback information in this embodiment includes the frame rate value of the transcoding, the encoding time of each frame in the current certain number of encoded frames, and the frame rate is the number of frames encoded per second.
  • the transcoder transcodes with the default encoding parameters, and monitors the performance of the encoder in real time during the transcoding process.
  • the encoder usually has a lookahead buffer (LAB, first buffer) to analyze the complexity of the input in real time.
  • LAB lookahead buffer
  • the time_expected is the expected time consuming, and the number of frames is the total number of the certain number of encoded frames.
  • Step 120 Calculate an actual time consumption of a current number of coded frames according to the feedback information.
  • the time_elasped is the actual time consuming
  • the time_frame is the coding time of each frame
  • N is the sum of the number of coded frames
  • i is the sequence number of each frame, where i ⁇ [1, N].
  • Step 130 Calculate a time-consuming deviation of the certain number of coded frames according to the pre-calculated expected time consumption and the actual time consumption;
  • the time-consuming deviation is calculated as follows:
  • Time_delte (time elasped -time expected )/time_expected
  • time_delta is the time-consuming deviation value
  • time_expected is the expected time consuming
  • Step 140 Adjust the coding parameters to perform transcoding control according to the time-consuming deviation.
  • the time-consuming deviation level is preset, and the coding parameters to be adjusted are preset for each of the time-consuming deviation levels.
  • enc_delay_thresh_0 to enc_delay_thresh_100 indicate the actual encoding of the encoder
  • the difference between the time consumption and the expected time consumption is different.
  • the embodiment of the present application takes the percentage as the difference between the actual coding time consumption and the expected time consumption.
  • enc_delay_thresh_0 indicates that the actual coding time consumption and the expected time consumption deviation are 10%, in units of 1 s. Then the deviation is 100ms.
  • the above data is used for example only, and is not limited to the embodiment of the present application.
  • step 130 after the time-consuming deviation time_delta is calculated, the time-consuming deviation level set in advance is queried according to the time-consuming deviation, corresponding coding parameters are obtained, and corresponding parameters are adjusted for the coding.
  • the contribution of each parameter adjustment to the overall system performance is adjusted in advance, and a specific analysis is performed in advance.
  • FIG. 2 is a diagram showing an example of time-consuming deviation level and coding parameter mapping according to an embodiment of the present application.
  • the previous time-consuming deviation level interval is a subset of the next time-consuming deviation level interval.
  • thresh is a different time-consuming deviation level
  • parameter NULL deviation within 10%, that can be adjusted
  • parameter Disable_i8x8 do not do i_8x8 intra prediction, only do i_4x4 and i_16x16
  • parameter Subme-1 sub-pixel motion estimation complexity, minus 1 is based on the existing parameters minus 1
  • parameter Subme-2 sub-pixel motion estimation complexity, minus 2 is based on the existing parameters minus 2
  • parameter Subme-3 sub Pixel motion estimation complexity, minus 3 is reduced by 3 on the basis of existing parameters
  • parameter ME_RANGE motion estimation search range
  • several parameters are combined to indicate that several parameters are simultaneously adjusted, thereby reducing coding complexity.
  • the feedback information of the encoding process is obtained in real time, and the complexity parameter of the encoding is adjusted according to the feedback information, thereby realizing the adjustment of the performance of the transcoding system, so that the transcoding process is not caused by the load of the server. , which affects the fluency of the live broadcast, thereby improving the user's viewing experience.
  • the non-transitory computer readable storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
  • a real-time control device for real-time transcoding provided by an embodiment of the present application mainly includes the following modules: an information acquiring module 310, a computing module 320, and a transcoding control. Module 330.
  • the information obtaining module 310 is configured to obtain current encoded feedback information in real time during the transcoding process
  • the calculating module 320 is configured to calculate an actual time consumption of a current number of coded frames according to the feedback information, and calculate a time-consuming deviation of the certain number of coded frames according to the pre-calculated expected time consumption and the actual time consumption;
  • the transcoding control module 330 is configured to adjust coding parameters according to the time-consuming deviation to perform transcoding control.
  • the calculating module 320 is further configured to: obtain, from the feedback information, an encoding time of each frame in the certain number of encoded frames, and accumulate the actual time consumption of the certain number of encoded frames.
  • the calculating module 320 is further configured to: before calculating a time-consuming deviation of the certain number of encoded frames, acquire the encoded frame rate value, and calculate, according to the frame rate value, the quantity of the encoded frame. The expectation is time consuming.
  • the transcoding control module 330 is further configured to: preset a time-consuming deviation level, and preset an encoding parameter to be adjusted for each of the time-consuming deviation levels.
  • the transcoding control module 330 is further configured to: query the pre-set time-consuming deviation level according to the time-consuming deviation, obtain a corresponding encoding parameter, and perform corresponding parameter adjustment on the encoding.
  • the device shown in FIG. 3 can perform the method of the corresponding embodiment of FIG. 1 and FIG. 2 .
  • the implementation principle and technical effects can refer to the content of the embodiment corresponding to FIG. 1 and FIG. 2 , and details are not described herein again.
  • an electronic device including the real-time control device for real-time transcoding described in any of the foregoing embodiments.
  • a non-transitory computer readable storage medium is also provided, the non-transitory computer readable storage medium storing computer executable instructions executable by any of the above methods
  • the real-time control method of real-time transcoding in the example is also provided.
  • FIG. 4 is a schematic diagram showing the hardware structure of an electronic device for performing real-time transcoding real-time control according to an embodiment of the present application. As shown in FIG. 4, the device includes:
  • processors 410 and memory 420 One or more processors 410 and memory 420, one processor 410 is exemplified in FIG.
  • the apparatus for performing the real-time control method of real-time transcoding may further include: an input device 430 and an output device 440.
  • the processor 410, the memory 420, the input device 430, and the output device 440 may be connected by a bus or other means, as exemplified by a bus connection in FIG.
  • the memory 420 is used as a non-transitory computer readable storage medium, and can be used for storing a non-volatile software program, a non-volatile computer executable program, and a module, as in the real-time control method of the real-time transcoding in the embodiment of the present application.
  • Program instructions/modules eg, information acquisition module 310, calculation module 320, and transcoding control module 330 shown in FIG. 3
  • the processor 410 executes various functional applications and data processing of the server by running non-volatile software programs, instructions and modules stored in the memory 420, that is, a real-time control method for real-time transcoding of the above method embodiments.
  • the memory 420 may include a storage program area and an storage data area, wherein the storage program area may store an operating system, an application required for at least one function; the storage data area may store data created according to the use of the real-time control device of the real-time transcoding Wait.
  • memory 420 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device.
  • memory 420 can optionally include memory remotely located relative to processor 410, which can be connected to a real-time control device for real-time transcoding via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the input device 430 can receive the input digital or character information and generate a key signal input related to user settings and function control of the real-time control device of the real-time transcoding.
  • Output device 440 can include a display device such as a display screen.
  • the one or more modules are stored in the memory 420, and when executed by the one or more processors 410, perform a real-time control method of real-time transcoding in any of the above method embodiments.
  • the electronic device of the embodiment of the present application exists in various forms, including but not limited to:
  • Mobile communication devices These devices are characterized by mobile communication functions and are mainly aimed at providing voice and data communication.
  • Such terminals include: smart phones (such as iPhone), multimedia phones, functional phones, and low-end phones.
  • Ultra-mobile personal computer equipment This type of equipment belongs to the category of personal computers, with calculation and processing. Features, generally also have mobile Internet features. Such terminals include: PDAs, MIDs, and UMPC devices, such as the iPad.
  • Portable entertainment devices These devices can display and play multimedia content. Such devices include: audio, video players (such as iPod), handheld game consoles, e-books, and smart toys and portable car navigation devices.
  • the server consists of a processor, a hard disk, a memory, a system bus, etc.
  • the server is similar to a general-purpose computer architecture, but because of the need to provide highly reliable services, processing power and stability High reliability in terms of reliability, security, scalability, and manageability.
  • the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. Those of ordinary skill in the art can understand and implement without deliberate labor.

Landscapes

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

Abstract

Provided are a real-time control method and device for real-time transcoding. In a transcoding process, feedback information about current encoding is acquired in real time; according to the feedback information, actual consumed time of a certain number of current encoding frames is calculated; according to pre-calculated expected consumed time and the actual consumed time, a time-consuming deviation of the certain number of encoding frames is calculated; and according to the time-consuming deviation, an encoding parameter is adjusted to carry out transcoding control. By means of the present invention, in the case where transcoding resources are limited, transcoding with smooth live experience can still be provided.

Description

实时转码的实时控制方法及装置Real-time control method and device for real-time transcoding
本申请要求于2015年12月7日提交中国专利局、申请号为201510891571.3、申请名称为“实时转码的实时控制方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 201510891571.3, filed on Dec. 7, 2015, and entitled "Real-time Control Method and Apparatus for Real-Time Transcoding", the entire contents of which are incorporated herein by reference. In the application.
技术领域Technical field
本申请涉及视频技术领域,尤其涉及一种实时转码的实时控制方法及装置。The present application relates to the field of video technologies, and in particular, to a real-time control method and apparatus for real-time transcoding.
背景技术Background technique
近年来,广播以及IP网络视频应用的发展,高清视频时代正式来临。对数字设备来说,视频画面质量大幅提升的同时也给视频内容处理带来不便。In recent years, the development of broadcasting and IP network video applications, the HD video era has officially arrived. For digital devices, the quality of video images is greatly improved, which also causes inconvenience to video content processing.
随着云计算及虚拟化技术越来越多的普及和应用,云端实时转码已经成为目前互联网视频网站普遍采用的方式。实时转码是近年来高速发展和逐步广泛应用的一种视频转码技术,功能上与离线转码一致。With the increasing popularity and application of cloud computing and virtualization technologies, real-time transcoding in the cloud has become a popular method for Internet video sites. Real-time transcoding is a kind of video transcoding technology that has been developed rapidly and gradually applied in recent years, and its function is consistent with offline transcoding.
实时转码对CPU及内存的消耗是巨大的,如何在有限的转码资源情况下,仍能提供流畅的直播体验的转码是一个亟待解决的技术问题。The real-time transcoding consumes a huge amount of CPU and memory. How to provide a smooth live broadcast transcoding in the case of limited transcoding resources is a technical problem to be solved.
发明内容Summary of the invention
本申请实施例提供一种实时转码的实时控制方法及装置,用以解决现有技术中,实时转码系统资源不足导致转码不流畅的缺陷,实现视频转码的实时控制,保证了直播的流畅性。The embodiment of the present invention provides a real-time control method and device for real-time transcoding, which is used to solve the defect that the real-time transcoding system lacks resources and causes transcoding to be fluent, realizing real-time control of video transcoding and ensuring live broadcast. The fluency.
本申请实施例提供一种实时转码的实时控制方法,包括:The embodiment of the present application provides a real-time control method for real-time transcoding, including:
在转码过程中实时获取当前编码的反馈信息;Obtaining current encoded feedback information in real time during transcoding;
根据所述反馈信息计算当前一定数量编码帧的实际耗时;Calculating an actual time consumption of a current number of coded frames according to the feedback information;
根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;Calculating a time-consuming deviation of the certain number of encoded frames according to the pre-calculated expected time consumption and the actual time consumption;
根据所述耗时偏差,调整编码参数进行转码控制。 According to the time-consuming deviation, the coding parameters are adjusted for transcoding control.
本申请实施例提供一种实时转码的实时控制装置,包括:The embodiment of the present application provides a real-time control device for real-time transcoding, including:
信息获取模块,用于在转码过程中实时获取当前编码的反馈信息;An information obtaining module, configured to obtain current feedback information in real time during transcoding;
计算模块,用于根据所述反馈信息计算当前一定数量编码帧的实际耗时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;a calculation module, configured to calculate, according to the feedback information, an actual time consumption of a current number of coded frames; and calculate a time-consuming deviation of the certain number of coded frames according to the pre-calculated expected time consumption and the actual time consumption;
转码控制模块,用于根据所述耗时偏差,调整编码参数进行转码控制。The transcoding control module is configured to adjust the coding parameters according to the time-consuming deviation to perform transcoding control.
本申请实施例提供一种电子设备,包括前述任一实施例所述的实时转码的实时控制装置。The embodiment of the present application provides an electronic device, including the real-time control device for real-time transcoding according to any of the foregoing embodiments.
本申请实施例提供一种非暂态计算机可读存储介质,其中,该非暂态计算机可读存储介质可存储有计算机指令,该计算机指令执行时可实现本申请实施例提供的实时转码的实时控制方法的各实现方式中的部分或全部步骤。The embodiment of the present application provides a non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium can store computer instructions, which can implement real-time transcoding provided by the embodiments of the present application. Some or all of the various implementations of the real-time control method.
本申请实施例提供一种电子设备,包括:一个或多个处理器;以及,存储器;其中,所述存储器存储有可被所述一个或多个处理器执行的指令,所述指令被设置为用于执行本申请上述任一项实时转码的实时控制方法。An embodiment of the present application provides an electronic device, including: one or more processors; and a memory; wherein the memory stores instructions executable by the one or more processors, the instructions being set to A real-time control method for performing real-time transcoding of any of the above-mentioned applications of the present application.
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本申请实施例上述任一项实时转码的实时控制方法。An embodiment of the present application provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer, The computer is caused to perform the real-time control method for real-time transcoding of any of the above embodiments of the present application.
本申请实施例提供的实时转码的实时控制方法及装置,通过对编码过程进行监控,实时获取编码过程的反馈信息,根据反馈信息对编码的复杂度参数进行调整,从而实现了转码系统性能的调整,使得转码过程不会因为服务器的负载,而影响直播的流畅性;与此同时,本申请实施例提出的技术方案算法和框架实现较为简单,很容易扩展至其它的转码器,如H.265。The real-time control method and device for real-time transcoding provided by the embodiment of the present application obtains feedback information of the encoding process in real time by monitoring the encoding process, and adjusts the complexity parameter of the encoding according to the feedback information, thereby realizing the performance of the transcoding system. The adjustment of the transcoding process does not affect the fluency of the live broadcast due to the load of the server; at the same time, the algorithm and framework of the technical solution proposed by the embodiment of the present application are relatively simple, and can be easily extended to other transcoders. Such as H.265.
附图说明DRAWINGS
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief description of the drawings used in the embodiments or the prior art description will be briefly described below. Obviously, the drawings in the following description It is a certain embodiment of the present application, and other drawings can be obtained according to the drawings without any creative work for those skilled in the art.
图1为本申请实施例一的技术流程图; 1 is a technical flowchart of Embodiment 1 of the present application;
图2为本申请实施例耗时偏差等级与编码参数映射示例图;2 is a diagram showing an example of time-consuming deviation level and coding parameter mapping in the embodiment of the present application;
图3为本申请实施例二的装置结构示意图;3 is a schematic structural diagram of a device according to Embodiment 2 of the present application;
图4为本申请实施例提供的一种电子设备的结构示意图。FIG. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
具体实施方式detailed description
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present application. Some embodiments are applied, not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present application without departing from the inventive scope are the scope of the present application.
实施例一 Embodiment 1
图1是本申请实施例一的技术流程图,结合图1,本申请实施例提供的一种实时转码的实时控制方法主要包括如下的步骤:1 is a technical flowchart of Embodiment 1 of the present application. Referring to FIG. 1, a real-time control method for real-time transcoding provided by an embodiment of the present application mainly includes the following steps:
步骤110:在转码过程中实时获取当前编码的反馈信息;Step 110: Acquire current encoded feedback information in real time during transcoding;
视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程,本申请实施例的核心在于,根据编码的反馈信息来控制编码的编码复杂度参数,从而实现转码的实时控制。Video Transcoding refers to converting a video stream that has been compression-coded into another video stream to accommodate different network bandwidths, different terminal processing capabilities, and different user requirements. The transcoding is essentially a process of decoding and re-encoding. The core of the embodiment of the present application is to control the encoding complexity parameter of the encoding according to the encoded feedback information, thereby realizing real-time control of transcoding.
本实施例所述的反馈信息包括转码的帧率值、当前一定数量编码帧中每一帧的编码耗时等,其中,帧率(Frame rate)即为每秒编码的帧数。The feedback information in this embodiment includes the frame rate value of the transcoding, the encoding time of each frame in the current certain number of encoded frames, and the frame rate is the number of frames encoded per second.
转码器以默认编码参数进行转码,在转码过程中,实时监控编码器的性能。通常编码器为了更好的进行帧率控制,通常都会有lookahead buffer(LAB,先行缓冲),来实时分析输入内容的复杂度。The transcoder transcodes with the default encoding parameters, and monitors the performance of the encoder in real time during the transcoding process. In general, for better frame rate control, the encoder usually has a lookahead buffer (LAB, first buffer) to analyze the complexity of the input in real time.
如果设置LAB=25,那么真正的第一个编码帧会在25帧之后输出,同理,若设置LAB=30,那么真正的第一个编码帧会在30帧之后输出。If LAB=25 is set, the real first encoded frame will be output after 25 frames. Similarly, if LAB=30 is set, the real first encoded frame will be output after 30 frames.
根据所述帧率值计算所述一定数量编码帧的所述期望耗时的计算公式如下:Calculating the expected time-consuming calculation formula of the certain number of encoded frames according to the frame rate value is as follows:
time_expected=帧数/帧率值Time_expected=frame number/frame rate value
其中,time_expected为所述期望耗时,帧数为所述一定数量编码帧的总数。 The time_expected is the expected time consuming, and the number of frames is the total number of the certain number of encoded frames.
假设当前帧率为25fps/s,设置LAB=帧率值=25,则编码器的延时为1s。若LAB=30,则需根据帧率换算编码器编码完成30帧的耗时时间的换算结果为(30×1s)/25=1.2s。Assuming the current frame rate is 25 fps/s and the LAB = frame rate value = 25, the encoder delay is 1 s. If LAB=30, the conversion result of the time-consuming time of 30 frames calculated by the frame rate conversion encoder is (30 × 1 s) / 25 = 1.2 s.
步骤120:根据所述反馈信息计算当前一定数量编码帧的实际耗时;Step 120: Calculate an actual time consumption of a current number of coded frames according to the feedback information.
从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。具体计算公式如下所示:Acquiring the encoding time of each frame in the certain number of encoded frames from the feedback information, and accumulating the actual time consumption of the certain number of encoded frames. The specific calculation formula is as follows:
[根据细则26改正08.09.2016] 
Figure WO-DOC-FIGURE-1
[Correct according to Rule 26 08.09.2016]
Figure WO-DOC-FIGURE-1
其中,time_elasped为所述实际耗时,time_frame为所述每一帧的编码耗时,N为编码帧数量的总和,i为每一帧的序号,其中i∈[1,N]。The time_elasped is the actual time consuming, the time_frame is the coding time of each frame, N is the sum of the number of coded frames, and i is the sequence number of each frame, where i ∈ [1, N].
步骤130:根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;Step 130: Calculate a time-consuming deviation of the certain number of coded frames according to the pre-calculated expected time consumption and the actual time consumption;
耗时偏差计算公式如下:The time-consuming deviation is calculated as follows:
[根据细则26改正08.09.2016] 
time_delte=(timeelasped-timeexpected)/time_expected
[Correct according to Rule 26 08.09.2016]
Time_delte =(time elasped -time expected )/time_expected
其中,time_delta为耗时偏差值,time_expected为期望耗时。Among them, time_delta is the time-consuming deviation value, and time_expected is the expected time consuming.
步骤140:根据所述耗时偏差,调整编码参数进行转码控制。Step 140: Adjust the coding parameters to perform transcoding control according to the time-consuming deviation.
本申请实施例中,预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。In the embodiment of the present application, the time-consuming deviation level is preset, and the coding parameters to be adjusted are preset for each of the time-consuming deviation levels.
本实施例中,耗时偏差等级的示例如下:In this embodiment, an example of the time-consuming deviation level is as follows:
enc_delay_thresh_0=10;Enc_delay_thresh_0=10;
enc_delay_thresh_10=30;Enc_delay_thresh_10=30;
enc_delay_thresh_30=50;Enc_delay_thresh_30=50;
enc_delay_thresh_50=70;Enc_delay_thresh_50=70;
enc_delay_thresh_70=100;Enc_delay_thresh_70=100;
enc_delay_thresh_100=200;Enc_delay_thresh_100=200;
其中,enc_delay_thresh_0至enc_delay_thresh_100表示编码器实际编码 耗时与期望耗时的不同偏差值,本申请实施例以百分比作为实际编码耗时与期望耗时的差异,如enc_delay_thresh_0表示实际编码耗时与期望耗时偏差为10%,以1s为单位,则表示偏差为100ms。当然上述数据仅供举例使用,对本申请实施例并不构成限制。Where enc_delay_thresh_0 to enc_delay_thresh_100 indicate the actual encoding of the encoder The difference between the time consumption and the expected time consumption is different. The embodiment of the present application takes the percentage as the difference between the actual coding time consumption and the expected time consumption. For example, enc_delay_thresh_0 indicates that the actual coding time consumption and the expected time consumption deviation are 10%, in units of 1 s. Then the deviation is 100ms. Of course, the above data is used for example only, and is not limited to the embodiment of the present application.
当步骤130中,计算出耗时偏差time_delta后,根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。当然对应每个参数调整对整体系统性能的贡献,预先会做具体的分析。In step 130, after the time-consuming deviation time_delta is calculated, the time-consuming deviation level set in advance is queried according to the time-consuming deviation, corresponding coding parameters are obtained, and corresponding parameters are adjusted for the coding. Of course, the contribution of each parameter adjustment to the overall system performance is adjusted in advance, and a specific analysis is performed in advance.
图2为本申请实施例耗时偏差等级与编码参数映射示例图,参考图2,前一个耗时偏差等级区间为下一个耗时偏差等级区间的子集。图2中,thresh为不同的耗时偏差等级,参数NULL:偏差在10%之内,认为可以不做调整;参数Disable_i8x8:不做i_8x8的帧内预测,只做i_4x4和i_16x16;参数Subme-1:亚像素运动估计复杂度,减1为在现有参数基础上减1;参数Subme-2:亚像素运动估计复杂度,减2为在现有参数基础上减2;参数Subme-3:亚像素运动估计复杂度,减3为在现有参数基础上减3;参数ME_RANGE:运动估计搜索范围;几个参数组合在一起表示几个参数同时调整,以此来降低编码复杂度。2 is a diagram showing an example of time-consuming deviation level and coding parameter mapping according to an embodiment of the present application. Referring to FIG. 2, the previous time-consuming deviation level interval is a subset of the next time-consuming deviation level interval. In Figure 2, thresh is a different time-consuming deviation level, parameter NULL: deviation within 10%, that can be adjusted; parameter Disable_i8x8: do not do i_8x8 intra prediction, only do i_4x4 and i_16x16; parameter Subme-1 : sub-pixel motion estimation complexity, minus 1 is based on the existing parameters minus 1; parameter Subme-2: sub-pixel motion estimation complexity, minus 2 is based on the existing parameters minus 2; parameter Subme-3: sub Pixel motion estimation complexity, minus 3 is reduced by 3 on the basis of existing parameters; parameter ME_RANGE: motion estimation search range; several parameters are combined to indicate that several parameters are simultaneously adjusted, thereby reducing coding complexity.
本实施例通过对编码过程进行监控,实时获取编码过程的反馈信息,根据反馈信息对编码的复杂度参数进行调整,从而实现了转码系统性能的调整,使得转码过程不会因为服务器的负载,而影响直播的流畅性,从而提升了用户的观看体验。In this embodiment, by monitoring the encoding process, the feedback information of the encoding process is obtained in real time, and the complexity parameter of the encoding is adjusted according to the feedback information, thereby realizing the adjustment of the performance of the transcoding system, so that the transcoding process is not caused by the load of the server. , which affects the fluency of the live broadcast, thereby improving the user's viewing experience.
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非暂态计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的非暂态计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。Finally, it should be understood that those skilled in the art can understand that all or part of the process of implementing the above embodiments can be completed by a computer program to instruct related hardware, and the program can be stored in a non-transitory computer. In a readable storage medium, the program, when executed, may include the flow of an embodiment of the methods as described above. The non-transitory computer readable storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
实施例二 Embodiment 2
图3是本申请实施例二的装置结构示意图,结合图3,本申请实施例提供的一种实时转码的实时控制装置,主要包括如下模块:信息获取模块310、计算模块320、转码控制模块330。 3 is a schematic structural diagram of a device according to Embodiment 2 of the present application. Referring to FIG. 3, a real-time control device for real-time transcoding provided by an embodiment of the present application mainly includes the following modules: an information acquiring module 310, a computing module 320, and a transcoding control. Module 330.
所述信息获取模块310,用于在转码过程中实时获取当前编码的反馈信息;The information obtaining module 310 is configured to obtain current encoded feedback information in real time during the transcoding process;
所述计算模块320,用于根据所述反馈信息计算当前一定数量编码帧的实际耗时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;The calculating module 320 is configured to calculate an actual time consumption of a current number of coded frames according to the feedback information, and calculate a time-consuming deviation of the certain number of coded frames according to the pre-calculated expected time consumption and the actual time consumption;
所述转码控制模块330,用于根据所述耗时偏差,调整编码参数进行转码控制。The transcoding control module 330 is configured to adjust coding parameters according to the time-consuming deviation to perform transcoding control.
具体地,所述计算模块320进一步用于:从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。Specifically, the calculating module 320 is further configured to: obtain, from the feedback information, an encoding time of each frame in the certain number of encoded frames, and accumulate the actual time consumption of the certain number of encoded frames.
具体地,所述计算模块320进一步用于:在计算所述一定数量编码帧的耗时偏差之前,获取所述编码的帧率值,根据所述帧率值计算所述一定数量编码帧的所述期望耗时。Specifically, the calculating module 320 is further configured to: before calculating a time-consuming deviation of the certain number of encoded frames, acquire the encoded frame rate value, and calculate, according to the frame rate value, the quantity of the encoded frame. The expectation is time consuming.
具体地,所述转码控制模块330进一步用于:预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。Specifically, the transcoding control module 330 is further configured to: preset a time-consuming deviation level, and preset an encoding parameter to be adjusted for each of the time-consuming deviation levels.
具体地,所述转码控制模块330进一步用于:根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。Specifically, the transcoding control module 330 is further configured to: query the pre-set time-consuming deviation level according to the time-consuming deviation, obtain a corresponding encoding parameter, and perform corresponding parameter adjustment on the encoding.
图3所示装置可以执行图1、图2对应实施例的方法,其实现原理和技术效果可以参考图1、图2对应的实施例的内容,此处不再赘述。The device shown in FIG. 3 can perform the method of the corresponding embodiment of FIG. 1 and FIG. 2 . The implementation principle and technical effects can refer to the content of the embodiment corresponding to FIG. 1 and FIG. 2 , and details are not described herein again.
在本申请另一实施例中,还提供一种电子设备,包括前述任一实施例所述的实时转码的实时控制装置。In another embodiment of the present application, an electronic device is provided, including the real-time control device for real-time transcoding described in any of the foregoing embodiments.
在本申请另一实施例中,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的实时转码的实时控制方法。In another embodiment of the present application, a non-transitory computer readable storage medium is also provided, the non-transitory computer readable storage medium storing computer executable instructions executable by any of the above methods The real-time control method of real-time transcoding in the example.
图4是本申请实施例提供的执行实时转码的实时控制方法的电子设备的硬件结构示意图,如图4所示,该设备包括:4 is a schematic diagram showing the hardware structure of an electronic device for performing real-time transcoding real-time control according to an embodiment of the present application. As shown in FIG. 4, the device includes:
一个或多个处理器410以及存储器420,图4中以一个处理器410为例。One or more processors 410 and memory 420, one processor 410 is exemplified in FIG.
执行实时转码的实时控制方法的设备还可以包括:输入装置430和输出装置440。 The apparatus for performing the real-time control method of real-time transcoding may further include: an input device 430 and an output device 440.
处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。The processor 410, the memory 420, the input device 430, and the output device 440 may be connected by a bus or other means, as exemplified by a bus connection in FIG.
存储器420作为一种非暂态计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的实时转码的实时控制方法对应的程序指令/模块(例如,附图3所示的信息获取模块310、计算模块320和转码控制模块330)。处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例实时转码的实时控制方法。The memory 420 is used as a non-transitory computer readable storage medium, and can be used for storing a non-volatile software program, a non-volatile computer executable program, and a module, as in the real-time control method of the real-time transcoding in the embodiment of the present application. Program instructions/modules (eg, information acquisition module 310, calculation module 320, and transcoding control module 330 shown in FIG. 3). The processor 410 executes various functional applications and data processing of the server by running non-volatile software programs, instructions and modules stored in the memory 420, that is, a real-time control method for real-time transcoding of the above method embodiments.
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实时转码的实时控制装置的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至实时转码的实时控制装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 420 may include a storage program area and an storage data area, wherein the storage program area may store an operating system, an application required for at least one function; the storage data area may store data created according to the use of the real-time control device of the real-time transcoding Wait. Moreover, memory 420 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, memory 420 can optionally include memory remotely located relative to processor 410, which can be connected to a real-time control device for real-time transcoding via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
输入装置430可接收输入的数字或字符信息,以及产生与实时转码的实时控制装置的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。The input device 430 can receive the input digital or character information and generate a key signal input related to user settings and function control of the real-time control device of the real-time transcoding. Output device 440 can include a display device such as a display screen.
所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行上述任意方法实施例中的实时转码的实时控制方法。The one or more modules are stored in the memory 420, and when executed by the one or more processors 410, perform a real-time control method of real-time transcoding in any of the above method embodiments.
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。The above products can perform the methods provided by the embodiments of the present application, and have the corresponding functional modules and beneficial effects of the execution method. For technical details that are not described in detail in this embodiment, reference may be made to the method provided by the embodiments of the present application.
本申请实施例的电子设备以多种形式存在,包括但不限于:The electronic device of the embodiment of the present application exists in various forms, including but not limited to:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。(1) Mobile communication devices: These devices are characterized by mobile communication functions and are mainly aimed at providing voice and data communication. Such terminals include: smart phones (such as iPhone), multimedia phones, functional phones, and low-end phones.
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理 功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。(2) Ultra-mobile personal computer equipment: This type of equipment belongs to the category of personal computers, with calculation and processing. Features, generally also have mobile Internet features. Such terminals include: PDAs, MIDs, and UMPC devices, such as the iPad.
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。(3) Portable entertainment devices: These devices can display and play multimedia content. Such devices include: audio, video players (such as iPod), handheld game consoles, e-books, and smart toys and portable car navigation devices.
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。(4) Server: A device that provides computing services. The server consists of a processor, a hard disk, a memory, a system bus, etc. The server is similar to a general-purpose computer architecture, but because of the need to provide highly reliable services, processing power and stability High reliability in terms of reliability, security, scalability, and manageability.
(5)其他具有数据交互功能的电子装置。(5) Other electronic devices with data interaction functions.
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. Those of ordinary skill in the art can understand and implement without deliberate labor.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the various embodiments can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware. Based on such understanding, the above-described technical solutions may be embodied in the form of software products in essence or in the form of software products, which may be stored in a computer readable storage medium such as ROM/RAM, magnetic Discs, discs, etc., include instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments or portions of the embodiments.
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。 Finally, it should be noted that the above embodiments are only used to explain the technical solutions of the present application, and are not limited thereto; although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still The technical solutions described in the foregoing embodiments are modified, or the equivalents of the technical features are replaced by the equivalents. The modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (14)

  1. 一种实时转码的实时控制方法,其特征在于,应用于电子设备,包括如下步骤:A real-time control method for real-time transcoding, which is characterized in that it is applied to an electronic device, and includes the following steps:
    在转码过程中实时获取当前编码的反馈信息;Obtaining current encoded feedback information in real time during transcoding;
    根据所述反馈信息计算当前一定数量编码帧的实际耗时;Calculating an actual time consumption of a current number of coded frames according to the feedback information;
    根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;Calculating a time-consuming deviation of the certain number of encoded frames according to the pre-calculated expected time consumption and the actual time consumption;
    根据所述耗时偏差,调整编码参数进行转码控制。According to the time-consuming deviation, the coding parameters are adjusted for transcoding control.
  2. 根据权利要求1所述的方法,其特征在于,根据所述反馈信息计算当前一定数量编码帧的实际耗时,进一步包括:The method according to claim 1, wherein calculating the actual time consumption of the current number of coded frames according to the feedback information further comprises:
    从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。Acquiring the encoding time of each frame in the certain number of encoded frames from the feedback information, and accumulating the actual time consumption of the certain number of encoded frames.
  3. 根据权利要求1所述的方法,其特征在于,计算所述一定数量编码帧的耗时偏差之前,进一步包括:The method according to claim 1, wherein before calculating the time-consuming deviation of the certain number of encoded frames, the method further comprises:
    获取所述编码的帧率值,根据所述帧率值计算所述一定数量编码帧的所述期望耗时。Obtaining the encoded frame rate value, and calculating the expected time consumption of the certain number of encoded frames according to the frame rate value.
  4. 根据权利要求1所述的方法,其特征在于,根据所述耗时偏差,调整编码参数,进一步包括:The method according to claim 1, wherein adjusting the encoding parameters according to the time-consuming deviation further comprises:
    预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。The time-consuming deviation level is preset, and the coding parameters to be adjusted are preset for each of the time-consuming deviation levels.
  5. 根据权利要求1或4所述的方法,其特征在于,根据所述耗时偏差,调整编码参数,进一步包括:The method according to claim 1 or 4, wherein adjusting the encoding parameters according to the time-consuming deviation further comprises:
    根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。And according to the time-consuming deviation, querying the preset time-consuming deviation level, obtaining corresponding coding parameters, and performing corresponding parameter adjustment on the coding.
  6. 一种实时转码的实时控制装置,其特征在于,包括如下模块:A real-time control device for real-time transcoding, comprising the following modules:
    信息获取模块,用于在转码过程中实时获取当前编码的反馈信息;An information obtaining module, configured to obtain current feedback information in real time during transcoding;
    计算模块,用于根据所述反馈信息计算当前一定数量编码帧的实际耗 时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;a calculation module, configured to calculate, according to the feedback information, a actual consumption of a current number of coded frames Calculating a time-consuming deviation of the certain number of coded frames according to the pre-calculated expected time consumption and the actual time consumption;
    转码控制模块,用于根据所述耗时偏差,调整编码参数进行转码控制。The transcoding control module is configured to adjust the coding parameters according to the time-consuming deviation to perform transcoding control.
  7. 根据权利要求6所述的装置,其特征在于,所述计算模块进一步用于:The device according to claim 6, wherein the calculation module is further configured to:
    从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。Acquiring the encoding time of each frame in the certain number of encoded frames from the feedback information, and accumulating the actual time consumption of the certain number of encoded frames.
  8. 根据权利要求6所述的装置,其特征在于,所述计算模块进一步用于:The device according to claim 6, wherein the calculation module is further configured to:
    在计算所述一定数量编码帧的耗时偏差之前,获取所述编码的帧率值,根据所述帧率值计算所述一定数量编码帧的所述期望耗时。Before calculating the time-consuming deviation of the certain number of encoded frames, acquiring the encoded frame rate value, and calculating the expected time consumption of the certain number of encoded frames according to the frame rate value.
  9. 根据权利要求6所述的装置,其特征在于,所述转码控制模块进一步用于:The apparatus according to claim 6, wherein said transcoding control module is further configured to:
    预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。The time-consuming deviation level is preset, and the coding parameters to be adjusted are preset for each of the time-consuming deviation levels.
  10. 根据权利要求6或9所述的装置,其特征在于,所述转码控制模块进一步用于:The apparatus according to claim 6 or 9, wherein the transcoding control module is further configured to:
    根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。And according to the time-consuming deviation, querying the preset time-consuming deviation level, obtaining corresponding coding parameters, and performing corresponding parameter adjustment on the coding.
  11. 一种电子设备,其特征在于,包括如权利要求6-10任一项所述的实时转码的实时控制装置。An electronic device characterized by comprising real-time control device for real-time transcoding according to any one of claims 6-10.
  12. 一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5任一所述方法。A non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium stores computer instructions for causing the computer to perform the method of any of claims 1-5 .
  13. 一种电子设备,其特征在于,包括:An electronic device, comprising:
    一个或多个处理器;以及,One or more processors; and,
    与所述一个或多个处理器通信连接的存储器;其中,a memory communicatively coupled to the one or more processors; wherein
    所述存储器存储有可被所述一个或多个处理器执行的指令,所述指令被 所述一个或多个处理器执行,以使所述一个或多个处理器能够:The memory stores instructions executable by the one or more processors, the instructions being The one or more processors are executed to enable the one or more processors to:
    在转码过程中实时获取当前编码的反馈信息;Obtaining current encoded feedback information in real time during transcoding;
    根据所述反馈信息计算当前一定数量编码帧的实际耗时;Calculating an actual time consumption of a current number of coded frames according to the feedback information;
    根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;Calculating a time-consuming deviation of the certain number of encoded frames according to the pre-calculated expected time consumption and the actual time consumption;
    根据所述耗时偏差,调整编码参数进行转码控制。According to the time-consuming deviation, the coding parameters are adjusted for transcoding control.
  14. 一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1-5所述的方法。 A computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions that, when executed by a computer, cause the computer to execute The method of claims 1-5.
PCT/CN2016/096002 2015-12-07 2016-08-19 Real-time control method and device for real-time transcoding WO2017096947A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510891571.3A CN105898371A (en) 2015-12-07 2015-12-07 Real-time transcoding real-time control method and device
CN201510891571.3 2015-12-07

Publications (1)

Publication Number Publication Date
WO2017096947A1 true WO2017096947A1 (en) 2017-06-15

Family

ID=57002944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/096002 WO2017096947A1 (en) 2015-12-07 2016-08-19 Real-time control method and device for real-time transcoding

Country Status (2)

Country Link
CN (1) CN105898371A (en)
WO (1) WO2017096947A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011604A1 (en) * 2021-08-05 2023-02-09 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781313A (en) * 2003-04-30 2006-05-31 诺基亚有限公司 Picture coding method
CN1860792A (en) * 2003-09-02 2006-11-08 索尼株式会社 Video encoding device, video encoding control method, and computer readable storage medium storing video encoding control program
US20120281748A1 (en) * 2011-05-02 2012-11-08 Futurewei Technologies, Inc. Rate Control for Cloud Transcoding
CN102868708A (en) * 2011-07-04 2013-01-09 腾讯科技(深圳)有限公司 Method and system for acquiring transcoded target document
WO2013082750A1 (en) * 2011-12-06 2013-06-13 华为技术有限公司 Real-time transcoding method and device
CN103188521A (en) * 2011-12-29 2013-07-03 北京大学 Method and device for transcoding distribution, method and device for transcoding
CN103297807A (en) * 2013-06-21 2013-09-11 哈尔滨工业大学深圳研究生院 Hadoop-platform-based method for improving video transcoding efficiency
US20130304934A1 (en) * 2011-09-29 2013-11-14 Avvasi Inc. Methods and systems for controlling quality of a media session
CN103458270A (en) * 2013-09-09 2013-12-18 深圳市融创天下科技股份有限公司 Video transcoding system and method
CN103686207A (en) * 2013-12-04 2014-03-26 乐视网信息技术(北京)股份有限公司 Transcoding task scheduling method and system
CN104159126A (en) * 2014-08-07 2014-11-19 西安交通大学 Scheduling method of video trans-coding task based on Map-Reduce

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8594191B2 (en) * 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
CN102045312B (en) * 2009-10-21 2013-09-18 三星电子(中国)研发中心 Self-adaptative transcoding method and system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781313A (en) * 2003-04-30 2006-05-31 诺基亚有限公司 Picture coding method
CN1860792A (en) * 2003-09-02 2006-11-08 索尼株式会社 Video encoding device, video encoding control method, and computer readable storage medium storing video encoding control program
US20120281748A1 (en) * 2011-05-02 2012-11-08 Futurewei Technologies, Inc. Rate Control for Cloud Transcoding
CN102868708A (en) * 2011-07-04 2013-01-09 腾讯科技(深圳)有限公司 Method and system for acquiring transcoded target document
US20130304934A1 (en) * 2011-09-29 2013-11-14 Avvasi Inc. Methods and systems for controlling quality of a media session
WO2013082750A1 (en) * 2011-12-06 2013-06-13 华为技术有限公司 Real-time transcoding method and device
CN103188521A (en) * 2011-12-29 2013-07-03 北京大学 Method and device for transcoding distribution, method and device for transcoding
CN103297807A (en) * 2013-06-21 2013-09-11 哈尔滨工业大学深圳研究生院 Hadoop-platform-based method for improving video transcoding efficiency
CN103458270A (en) * 2013-09-09 2013-12-18 深圳市融创天下科技股份有限公司 Video transcoding system and method
CN103686207A (en) * 2013-12-04 2014-03-26 乐视网信息技术(北京)股份有限公司 Transcoding task scheduling method and system
CN104159126A (en) * 2014-08-07 2014-11-19 西安交通大学 Scheduling method of video trans-coding task based on Map-Reduce

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011604A1 (en) * 2021-08-05 2023-02-09 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
CN105898371A (en) 2016-08-24

Similar Documents

Publication Publication Date Title
US10856030B1 (en) Bitrate selection for video streaming
US9712589B2 (en) System and method for playing a video on mobile web environments
CN111918066A (en) Video encoding method, device, equipment and storage medium
WO2017166630A1 (en) Task priority correctingon method and device
KR102232900B1 (en) System for cloud streaming service, method of cloud streaming service using optumal gpu and apparatus for the same
US20170195617A1 (en) Image processing method and electronic device
WO2017185609A1 (en) Video processing method and device
US20150341634A1 (en) Method, apparatus and system to select audio-video data for streaming
US11539985B2 (en) No reference realtime video quality assessment
US20160285943A1 (en) Cloud operation resource dynamic allocation system and method thereof
US20230023369A1 (en) Video processing method, video processing apparatus, smart device, and storage medium
Huang et al. Measuring the client performance and energy consumption in mobile cloud gaming
CA3182110A1 (en) Reinforcement learning based rate control
WO2015085873A1 (en) Video code stream obtaining method and apparatus
US20220408097A1 (en) Adaptively encoding video frames using content and network analysis
US20140205020A1 (en) Real-time transcoding method and device
WO2017096947A1 (en) Real-time control method and device for real-time transcoding
US20140099039A1 (en) Image processing device, image processing method, and image processing system
US20230018087A1 (en) Data coding method and apparatus, and computer-readable storage medium
US20220239920A1 (en) Video processing method, related apparatus, storage medium, and program product
US10681105B2 (en) Decision engine for dynamically selecting media streams
Tamizhselvi et al. Adaptive video streaming in mobile cloud computing
WO2012154157A1 (en) Apparatus and method for dynamically changing encoding scheme based on resource utilization
Khan et al. SAND and Cloud-based Strategies for Adaptive Video Streaming
US20230421779A1 (en) Decoding processing method and apparatus, computer device, and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16872143

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16872143

Country of ref document: EP

Kind code of ref document: A1