【发布时间】:2020-08-24 14:14:08
【问题描述】:
我有一台以 8 位灰度(256 色)输出 160 fps 1024x1280 像素的相机。
我需要在没有任何损失的情况下对其进行实时编码。 最好的编解码器是什么?
我可以用 python 或 c++ 编写代码,并且有很多内核,因此可以选择并行化。
谢谢
【问题讨论】:
标签: video-encoding grayscale lossless-compression
我有一台以 8 位灰度(256 色)输出 160 fps 1024x1280 像素的相机。
我需要在没有任何损失的情况下对其进行实时编码。 最好的编解码器是什么?
我可以用 python 或 c++ 编写代码,并且有很多内核,因此可以选择并行化。
谢谢
【问题讨论】:
标签: video-encoding grayscale lossless-compression
Motion JPEG-2000 支持无损和灰度。
ffv1 https://github.com/FFmpeg/FFV1/blob/master/ffv1.md 是另一个常见的无损选项。
您的未压缩数据速率为 160 fps * 1024 * 1280 = 210 Mbytes/s。 我猜是 50% 的压缩,所以你最终会得到大约 100 MBytes/s 的压缩视频。
这应该是 SSD 的可行 I/O 速率。
关于 CPU - 我建议使用简单的并行化,即每个内核运行一个视频压缩器。因此,您必须对输出帧进行某种调度、流水线化和处理。
因此,如果您有一个 16 (32) 核 CPU,每个核需要执行 10 (5) fps,这听起来很合理。
【讨论】: