简体   繁体   English

H.264快速重新编码

[英]H.264 fast recoding

I'm working on a (sort of a) VOIP application for mobile with video support. 我正在研究一种具有视频支持的移动VOIP应用程序。 Most of modern smartphones are equipped with hardware H.264 encoder/decoder. 大多数现代智能手机都配备了硬件H.264编码器/解码器。 However most of those support only a limited number of encoding profiles. 但是,大多数仅支持有限数量的编码配置文件。 In particular I'm interested in SVC, which is not supported usually. 特别是我对SVC感兴趣,通常不支持SVC。 The simplest solution would be to use a software encoder. 最简单的解决方案是使用软件编码器。 But, obviously, it has its drawback. 但是,显然,它有它的缺点。

Recently an idea came to me to create a hybrid hardware+software encoder. 最近有一个想法来创建一个混合硬件+软件编码器。 Which consists of a hardware encoder, and a "shallow software recoder". 其中包括硬件编码器和“浅软件编程器”。

I know (in very general terms) that H.264 works in term of a macroblocks. 我知道(非常一般地说)H.264在宏块方面起作用。 The encoded stream contains instructions for macroblocks: either full retransmit (in a form of jpeg-like data), its motion parameters, or just nothing. 编码流包含宏块的指令:完全重传(以类似jpeg的数据的形式),其运动参数,或者什么都不是。

A full software recoding would process such an encoded stream, parse/realize it, and execute on its image data, then encode the resulting image, which includes processing each macroblock, decision on strategy, building motion vectors, and, finally, encoding all the instructions. 完整的软件重新编码将处理这样的编码流,解析/实现它,并对其图像数据执行,然后对结果图像进行编码,包括处理每个宏块,决策策略,构建运动矢量,最后编码所有说明。

The idea is to do a "shallow" recoding. 我们的想法是进行“浅层”重新编码。 I though about parsing an incoming encoded stream, but instead of executing its instructions - just use them as a source for encoder, ie encode them within H.264 sophisticated encoding scheme, with the needed precision (ie bitrate) and etc, without actually analyzing the image, finding motion vectors and etc. 我虽然要解析传入的编码流,但不是执行其指令 - 只需将它们用作编码器的源,即在H.264复杂编码方案中对其进行编码,具有所需的精度(即比特率)等,而无需实际分析图像,查找运动矢量等

In essense, it's using decoder+encoder, but with a shortcut, so that the actual image is not created by the decoder, and not analyzed by the encoder. 在本质上,它使用解码器+编码器,但具有快捷方式,因此实际图像不是由解码器创建的,也不是由编码器分析的。

Does this sounds feasible? 这听起来可行吗? Was there an attempt to do something similar? 是否有尝试做类似的事情?

I don't think it's feasible to do. 我不认为这样做是可行的。 I've heard similar suggestions from people with basic understanding of video encoding without clear knowledge of actual h264 encoding. 我听过那些对视频编码有基本了解的人的类似建议,但没有明确了解实际的h264编码。 It might be possible but that would take prohibitively long time to achieve any sensible results. 这可能是可能的,但这需要花费很长时间才能取得任何明智的结果。 You could for example contract some of the best developers from x264 and that would perhaps cost you around 100K to get any results. 例如,您可以从x264收集一些最好的开发人员,这可能会花费您大约100K来获得任何结果。 Your best bet to validate my answer is to ask x264 or ffmpeg maligning list. 验证我的答案最好的办法是询问x264ffmpeg恶意列表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM