我正在开发一种具有视频支持的移动VOIP应用程序。大多数现代智能手机都配备了硬件H.264编码器/解码器。但是,大多数仅支持有限数量的编码配置文件。特别是我对SVC感兴趣,通常不支持SVC。最简单的解决方案是使用软件编码器。但是,显然,它有它的缺点。
最近我想到了创建混合硬件+软件编码器的想法。其中包括硬件编码器和“浅层软件编程器”。
我知道(非常笼统地说)H.264在宏块方面有效。编码流包含宏块的指令:完全重传(以类似jpeg的数据的形式),其运动参数,或者只是没有。
完整的软件重新编码将处理这样的编码流,解析/实现它,并对其图像数据执行,然后对结果图像进行编码,包括处理每个宏块,决策策略,构建运动矢量,最后,编码所有指令。
这个想法是做一个“浅”的重新编码。我虽然要解析传入的编码流,但不是执行其指令 - 只需将它们用作编码器的源,即在H.264复杂编码方案中对其进行编码,具有所需的精度(即比特率)等,而无需实际分析图像,寻找运动矢量等。
在本质上,它使用的是解码器+编码器,但有一个快捷方式,因此实际图像不是由解码器创建的,也不是由编码器分析的。
这听起来可行吗?是否有尝试做类似的事情?