我正在测试智能相机的编码性能(MPEG-4 和 MJPEG)。我在 OpenCV/FFMPEG 中编写了一个用于执行编码的应用程序,该应用程序从相机捕获图像并将它们编码为所需的编码格式。在基准测试中,我了解到 MJPEG 编码比 MPEG-4 编码花费的时间要长得多。我预计情况会有所不同。将单个帧编码为 MPEG-4 大约需要 31 毫秒,而编码为 MJPEG 大约需要 80 毫秒。与 MPEG-4 相比,MJPEG 真的需要这么长时间吗?
问问题
1412 次
1 回答
1
MJPeg 理论上更快,主要是因为没有帧间压缩。
然而,MPEG-4 有一些方法可以更快。这里有几个因素需要考虑:
MPEG-4 实际上可以是两种不同的格式,“第 2 部分”或“第 10 部分”,第 2 部分要快得多。有关详细信息,请参见此处: http ://en.wikipedia.org/wiki/MPEG-4_Part_2 。
编码器的设置可以产生数量级的
差异。给定格式的快速设置可以
比具有较慢设置的相同格式快 10 倍或更多(速度/质量
权衡)。MPEG-4 的编码器是地球上一些最优化的代码。他们仍然大量使用汇编语言。在实践中,它们很容易比另一种没有经过大量优化的格式更快。
如果您的 IO 很慢(网络、硬盘驱动器),这可能会影响结果。
例如没有压缩是最快的吧?但是写入更大的文件需要时间。
因此在实践中,由于这些原因和其他边缘情况,MJPEG 可能会更慢。
于 2011-08-14T17:21:13.177 回答