WO2017096947A1 - 实时转码的实时控制方法及装置 - Google Patents
实时转码的实时控制方法及装置 Download PDFInfo
- 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
- 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.)
- Ceased
Links
Images
Classifications
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234309—Processing 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
本申请实施例提供一种实时转码的实时控制方法及装置。在转码过程中实时获取当前编码的反馈信息;根据所述反馈信息计算当前一定数量编码帧的实际耗时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;根据所述耗时偏差,调整编码参数进行转码控制。实现了在有限的转码资源情况下,仍能提供流畅的直播体验的转码。
Description
本申请要求于2015年12月7日提交中国专利局、申请号为201510891571.3、申请名称为“实时转码的实时控制方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及视频技术领域,尤其涉及一种实时转码的实时控制方法及装置。
近年来,广播以及IP网络视频应用的发展,高清视频时代正式来临。对数字设备来说,视频画面质量大幅提升的同时也给视频内容处理带来不便。
随着云计算及虚拟化技术越来越多的普及和应用,云端实时转码已经成为目前互联网视频网站普遍采用的方式。实时转码是近年来高速发展和逐步广泛应用的一种视频转码技术,功能上与离线转码一致。
实时转码对CPU及内存的消耗是巨大的,如何在有限的转码资源情况下,仍能提供流畅的直播体验的转码是一个亟待解决的技术问题。
发明内容
本申请实施例提供一种实时转码的实时控制方法及装置,用以解决现有技术中,实时转码系统资源不足导致转码不流畅的缺陷,实现视频转码的实时控制,保证了直播的流畅性。
本申请实施例提供一种实时转码的实时控制方法,包括:
在转码过程中实时获取当前编码的反馈信息;
根据所述反馈信息计算当前一定数量编码帧的实际耗时;
根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;
根据所述耗时偏差,调整编码参数进行转码控制。
本申请实施例提供一种实时转码的实时控制装置,包括:
信息获取模块,用于在转码过程中实时获取当前编码的反馈信息;
计算模块,用于根据所述反馈信息计算当前一定数量编码帧的实际耗时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;
转码控制模块,用于根据所述耗时偏差,调整编码参数进行转码控制。
本申请实施例提供一种电子设备,包括前述任一实施例所述的实时转码的实时控制装置。
本申请实施例提供一种非暂态计算机可读存储介质,其中,该非暂态计算机可读存储介质可存储有计算机指令,该计算机指令执行时可实现本申请实施例提供的实时转码的实时控制方法的各实现方式中的部分或全部步骤。
本申请实施例提供一种电子设备,包括:一个或多个处理器;以及,存储器;其中,所述存储器存储有可被所述一个或多个处理器执行的指令,所述指令被设置为用于执行本申请上述任一项实时转码的实时控制方法。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本申请实施例上述任一项实时转码的实时控制方法。
本申请实施例提供的实时转码的实时控制方法及装置,通过对编码过程进行监控,实时获取编码过程的反馈信息,根据反馈信息对编码的复杂度参数进行调整,从而实现了转码系统性能的调整,使得转码过程不会因为服务器的负载,而影响直播的流畅性;与此同时,本申请实施例提出的技术方案算法和框架实现较为简单,很容易扩展至其它的转码器,如H.265。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一的技术流程图;
图2为本申请实施例耗时偏差等级与编码参数映射示例图;
图3为本申请实施例二的装置结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1是本申请实施例一的技术流程图,结合图1,本申请实施例提供的一种实时转码的实时控制方法主要包括如下的步骤:
步骤110:在转码过程中实时获取当前编码的反馈信息;
视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程,本申请实施例的核心在于,根据编码的反馈信息来控制编码的编码复杂度参数,从而实现转码的实时控制。
本实施例所述的反馈信息包括转码的帧率值、当前一定数量编码帧中每一帧的编码耗时等,其中,帧率(Frame rate)即为每秒编码的帧数。
转码器以默认编码参数进行转码,在转码过程中,实时监控编码器的性能。通常编码器为了更好的进行帧率控制,通常都会有lookahead buffer(LAB,先行缓冲),来实时分析输入内容的复杂度。
如果设置LAB=25,那么真正的第一个编码帧会在25帧之后输出,同理,若设置LAB=30,那么真正的第一个编码帧会在30帧之后输出。
根据所述帧率值计算所述一定数量编码帧的所述期望耗时的计算公式如下:
time_expected=帧数/帧率值
其中,time_expected为所述期望耗时,帧数为所述一定数量编码帧的总数。
假设当前帧率为25fps/s,设置LAB=帧率值=25,则编码器的延时为1s。若LAB=30,则需根据帧率换算编码器编码完成30帧的耗时时间的换算结果为(30×1s)/25=1.2s。
步骤120:根据所述反馈信息计算当前一定数量编码帧的实际耗时;
从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。具体计算公式如下所示:
其中,time_elasped为所述实际耗时,time_frame为所述每一帧的编码耗时,N为编码帧数量的总和,i为每一帧的序号,其中i∈[1,N]。
步骤130:根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;
耗时偏差计算公式如下:
[根据细则26改正08.09.2016]
time_delte=(timeelasped-timeexpected)/time_expected
time_delte=(timeelasped-timeexpected)/time_expected
其中,time_delta为耗时偏差值,time_expected为期望耗时。
步骤140:根据所述耗时偏差,调整编码参数进行转码控制。
本申请实施例中,预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。
本实施例中,耗时偏差等级的示例如下:
enc_delay_thresh_0=10;
enc_delay_thresh_10=30;
enc_delay_thresh_30=50;
enc_delay_thresh_50=70;
enc_delay_thresh_70=100;
enc_delay_thresh_100=200;
其中,enc_delay_thresh_0至enc_delay_thresh_100表示编码器实际编码
耗时与期望耗时的不同偏差值,本申请实施例以百分比作为实际编码耗时与期望耗时的差异,如enc_delay_thresh_0表示实际编码耗时与期望耗时偏差为10%,以1s为单位,则表示偏差为100ms。当然上述数据仅供举例使用,对本申请实施例并不构成限制。
当步骤130中,计算出耗时偏差time_delta后,根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。当然对应每个参数调整对整体系统性能的贡献,预先会做具体的分析。
图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:运动估计搜索范围;几个参数组合在一起表示几个参数同时调整,以此来降低编码复杂度。
本实施例通过对编码过程进行监控,实时获取编码过程的反馈信息,根据反馈信息对编码的复杂度参数进行调整,从而实现了转码系统性能的调整,使得转码过程不会因为服务器的负载,而影响直播的流畅性,从而提升了用户的观看体验。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非暂态计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的非暂态计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
实施例二
图3是本申请实施例二的装置结构示意图,结合图3,本申请实施例提供的一种实时转码的实时控制装置,主要包括如下模块:信息获取模块310、计算模块320、转码控制模块330。
所述信息获取模块310,用于在转码过程中实时获取当前编码的反馈信息;
所述计算模块320,用于根据所述反馈信息计算当前一定数量编码帧的实际耗时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;
所述转码控制模块330,用于根据所述耗时偏差,调整编码参数进行转码控制。
具体地,所述计算模块320进一步用于:从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。
具体地,所述计算模块320进一步用于:在计算所述一定数量编码帧的耗时偏差之前,获取所述编码的帧率值,根据所述帧率值计算所述一定数量编码帧的所述期望耗时。
具体地,所述转码控制模块330进一步用于:预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。
具体地,所述转码控制模块330进一步用于:根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。
图3所示装置可以执行图1、图2对应实施例的方法,其实现原理和技术效果可以参考图1、图2对应的实施例的内容,此处不再赘述。
在本申请另一实施例中,还提供一种电子设备,包括前述任一实施例所述的实时转码的实时控制装置。
在本申请另一实施例中,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的实时转码的实时控制方法。
图4是本申请实施例提供的执行实时转码的实时控制方法的电子设备的硬件结构示意图,如图4所示,该设备包括:
一个或多个处理器410以及存储器420,图4中以一个处理器410为例。
执行实时转码的实时控制方法的设备还可以包括:输入装置430和输出装置440。
处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器420作为一种非暂态计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的实时转码的实时控制方法对应的程序指令/模块(例如,附图3所示的信息获取模块310、计算模块320和转码控制模块330)。处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例实时转码的实时控制方法。
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实时转码的实时控制装置的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至实时转码的实时控制装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可接收输入的数字或字符信息,以及产生与实时转码的实时控制装置的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行上述任意方法实施例中的实时转码的实时控制方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理
功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
- 一种实时转码的实时控制方法,其特征在于,应用于电子设备,包括如下步骤:在转码过程中实时获取当前编码的反馈信息;根据所述反馈信息计算当前一定数量编码帧的实际耗时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;根据所述耗时偏差,调整编码参数进行转码控制。
- 根据权利要求1所述的方法,其特征在于,根据所述反馈信息计算当前一定数量编码帧的实际耗时,进一步包括:从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。
- 根据权利要求1所述的方法,其特征在于,计算所述一定数量编码帧的耗时偏差之前,进一步包括:获取所述编码的帧率值,根据所述帧率值计算所述一定数量编码帧的所述期望耗时。
- 根据权利要求1所述的方法,其特征在于,根据所述耗时偏差,调整编码参数,进一步包括:预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。
- 根据权利要求1或4所述的方法,其特征在于,根据所述耗时偏差,调整编码参数,进一步包括:根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。
- 一种实时转码的实时控制装置,其特征在于,包括如下模块:信息获取模块,用于在转码过程中实时获取当前编码的反馈信息;计算模块,用于根据所述反馈信息计算当前一定数量编码帧的实际耗 时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;转码控制模块,用于根据所述耗时偏差,调整编码参数进行转码控制。
- 根据权利要求6所述的装置,其特征在于,所述计算模块进一步用于:从所述反馈信息中获取所述一定数量编码帧中每一帧的编码耗时,累加得到所述一定数量编码帧的实际耗时。
- 根据权利要求6所述的装置,其特征在于,所述计算模块进一步用于:在计算所述一定数量编码帧的耗时偏差之前,获取所述编码的帧率值,根据所述帧率值计算所述一定数量编码帧的所述期望耗时。
- 根据权利要求6所述的装置,其特征在于,所述转码控制模块进一步用于:预先设置耗时偏差等级,并对每个所述耗时偏差等级预设需调整的编码参数。
- 根据权利要求6或9所述的装置,其特征在于,所述转码控制模块进一步用于:根据所述耗时偏差,查询预先设置的所述耗时偏差等级,获得相应的编码参数,并对所述编码进行相应的参数调整。
- 一种电子设备,其特征在于,包括如权利要求6-10任一项所述的实时转码的实时控制装置。
- 一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5任一所述方法。
- 一种电子设备,其特征在于,包括:一个或多个处理器;以及,与所述一个或多个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个或多个处理器执行的指令,所述指令被 所述一个或多个处理器执行,以使所述一个或多个处理器能够:在转码过程中实时获取当前编码的反馈信息;根据所述反馈信息计算当前一定数量编码帧的实际耗时;根据预先计算的期望耗时与所述实际耗时计算所述一定数量编码帧的耗时偏差;根据所述耗时偏差,调整编码参数进行转码控制。
- 一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1-5所述的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510891571.3 | 2015-12-07 | ||
| CN201510891571.3A CN105898371A (zh) | 2015-12-07 | 2015-12-07 | 实时转码的实时控制方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017096947A1 true WO2017096947A1 (zh) | 2017-06-15 |
Family
ID=57002944
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2016/096002 Ceased WO2017096947A1 (zh) | 2015-12-07 | 2016-08-19 | 实时转码的实时控制方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN105898371A (zh) |
| WO (1) | WO2017096947A1 (zh) |
Cited By (1)
| 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1781313A (zh) * | 2003-04-30 | 2006-05-31 | 诺基亚有限公司 | 图像编码方法 |
| CN1860792A (zh) * | 2003-09-02 | 2006-11-08 | 索尼株式会社 | 视频编码设备、控制视频编码方法和控制视频编码程序 |
| US20120281748A1 (en) * | 2011-05-02 | 2012-11-08 | Futurewei Technologies, Inc. | Rate Control for Cloud Transcoding |
| CN102868708A (zh) * | 2011-07-04 | 2013-01-09 | 腾讯科技(深圳)有限公司 | 一种获得转码后的目标文件的方法和系统 |
| WO2013082750A1 (zh) * | 2011-12-06 | 2013-06-13 | 华为技术有限公司 | 实时转码方法及设备 |
| CN103188521A (zh) * | 2011-12-29 | 2013-07-03 | 北京大学 | 转码分配方法及装置,转码方法及设备 |
| CN103297807A (zh) * | 2013-06-21 | 2013-09-11 | 哈尔滨工业大学深圳研究生院 | 一种基于hadoop平台的提高视频转码效率的方法 |
| US20130304934A1 (en) * | 2011-09-29 | 2013-11-14 | Avvasi Inc. | Methods and systems for controlling quality of a media session |
| CN103458270A (zh) * | 2013-09-09 | 2013-12-18 | 深圳市融创天下科技股份有限公司 | 视频转码系统和方法 |
| CN103686207A (zh) * | 2013-12-04 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 转码任务的调度方法和系统 |
| CN104159126A (zh) * | 2014-08-07 | 2014-11-19 | 西安交通大学 | 基于Map-Reduce的视频转码任务调度方法 |
Family Cites Families (2)
| 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 (zh) * | 2009-10-21 | 2013-09-18 | 三星电子(中国)研发中心 | 自适应转码方法和系统 |
-
2015
- 2015-12-07 CN CN201510891571.3A patent/CN105898371A/zh active Pending
-
2016
- 2016-08-19 WO PCT/CN2016/096002 patent/WO2017096947A1/zh not_active Ceased
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1781313A (zh) * | 2003-04-30 | 2006-05-31 | 诺基亚有限公司 | 图像编码方法 |
| CN1860792A (zh) * | 2003-09-02 | 2006-11-08 | 索尼株式会社 | 视频编码设备、控制视频编码方法和控制视频编码程序 |
| US20120281748A1 (en) * | 2011-05-02 | 2012-11-08 | Futurewei Technologies, Inc. | Rate Control for Cloud Transcoding |
| CN102868708A (zh) * | 2011-07-04 | 2013-01-09 | 腾讯科技(深圳)有限公司 | 一种获得转码后的目标文件的方法和系统 |
| US20130304934A1 (en) * | 2011-09-29 | 2013-11-14 | Avvasi Inc. | Methods and systems for controlling quality of a media session |
| WO2013082750A1 (zh) * | 2011-12-06 | 2013-06-13 | 华为技术有限公司 | 实时转码方法及设备 |
| CN103188521A (zh) * | 2011-12-29 | 2013-07-03 | 北京大学 | 转码分配方法及装置,转码方法及设备 |
| CN103297807A (zh) * | 2013-06-21 | 2013-09-11 | 哈尔滨工业大学深圳研究生院 | 一种基于hadoop平台的提高视频转码效率的方法 |
| CN103458270A (zh) * | 2013-09-09 | 2013-12-18 | 深圳市融创天下科技股份有限公司 | 视频转码系统和方法 |
| CN103686207A (zh) * | 2013-12-04 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 转码任务的调度方法和系统 |
| CN104159126A (zh) * | 2014-08-07 | 2014-11-19 | 西安交通大学 | 基于Map-Reduce的视频转码任务调度方法 |
Cited By (1)
| 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 (zh) | 2016-08-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10856030B1 (en) | Bitrate selection for video streaming | |
| US12155840B2 (en) | Video processing method, video processing apparatus, smart device, and storage medium | |
| US10601891B2 (en) | Cloud streaming service system and cloud streaming service method for utilizing an optimal GPU for video decoding based on resource conditions, and apparatus for the same | |
| US9712589B2 (en) | System and method for playing a video on mobile web environments | |
| US20170195617A1 (en) | Image processing method and electronic device | |
| CN106331750B (zh) | 一种基于感兴趣区域的云游戏平台自适应带宽优化方法 | |
| US20150341634A1 (en) | Method, apparatus and system to select audio-video data for streaming | |
| WO2017185609A1 (zh) | 一种视频处理方法及设备 | |
| US20160285943A1 (en) | Cloud operation resource dynamic allocation system and method thereof | |
| US20250211736A1 (en) | Video data processing method and apparatus, computer device, and storage medium | |
| CN103503462B (zh) | 实时转码方法及设备 | |
| Chen et al. | Energy-efficient 360-degree video streaming on multicore-based mobile devices | |
| US20140099039A1 (en) | Image processing device, image processing method, and image processing system | |
| WO2015085873A1 (zh) | 视频码流的获取方法及装置 | |
| WO2017096947A1 (zh) | 实时转码的实时控制方法及装置 | |
| US20230421779A1 (en) | Decoding processing method and apparatus, computer device, and storage medium | |
| CN114827638A (zh) | 一种vr视频云直播方法、装置及设备 | |
| US12088817B2 (en) | Data coding method and apparatus, and computer-readable storage medium | |
| Tamizhselvi et al. | Adaptive video streaming in mobile cloud computing | |
| CN115002452B (zh) | 一种视频处理方法、视频处理装置、电子设备及存储介质 | |
| Dragić et al. | Power consumption and bandwidth savings with video transcoding to mobile device-specific spatial resolution | |
| Liu et al. | AKI360: Enabling Highly Interactive 360-degree Video Streaming by Adaptive Keyframe Interval | |
| CN103596012A (zh) | 一种实时的基于avs的视频帧率转码中帧间宏块类型选择方法 | |
| US20240013461A1 (en) | Interactive Animation Generation | |
| Lee et al. | Fast modified region detection for mobile VNC systems |
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 |
