video-encoding - 无损 8 位灰度编解码器

标签 video-encoding grayscale lossless-compression

我的相机可以以 8 位灰度(256 色)输出 160 fps 的 1024x1280 像素。

我需要对这个现场进行编码而不造成任何损失。 最好的编解码器是什么?

我可以用 python 或 c++ 编写此代码,并且有很多内核,因此并行化是一种选择。

谢谢

最佳答案

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,这听起来很合理。

关于video-encoding - 无损 8 位灰度编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63562813/

相关文章:

video - H.264 视频和 MPEG-4 视频有什么区别?

python - python中skimage的rgb2gray : AttributeError: Nonetype object has no attribute ndim

pdf - 如何仅使用黑色墨水以编程方式将 PDF 转换为灰度?

python - 制作具有灰度可读百分比的饼图

java - 如何对由 zopfli 压缩的 png 进行充气

android - 无法播放某些视频

c++ - 简单快速的视频编码/解码

ffmpeg - 使用 FFmpeg 的 NVENC 编码器进行 HEVC 10 位编码后的灰色平方伪影

c++ - 在文本压缩期间存储概率表

c - C的多算法压缩库