小编Nic*_* C.的帖子

使用无损视频编解码器归档(单色)科学视频数据

基本问题: 以无损方式存储/存档科学视频数据的合适编解码器是什么

我正在尝试帮助我的研究小组存储/存档一些用显微镜记录的视频。这些(灰度)视频采用未压缩(原始视频)BGR24 格式,660x492@61fps,通常时长约 1 分钟。我的实验室伙伴们对这些文件的庞大规模(每个千兆字节)感到疯狂。我建议使用无损编解码器压缩它们。(这里需要无损是因为视频是科学数据;因此有损编解码器可能会以不良/意外方式改变内容。)

这是我尝试过的。首先,我抓取了其中一个视频的前 10 秒,并使用 FFMpeg 转换为单色(原始)格式。

ffmpeg -t 10 -i RecordedData.avi -c:v rawvideo -pix_fmt gray raw_gray.mkv
Run Code Online (Sandbox Code Playgroud)

然后,我尝试使用 libx264 的无损模式(通过设置-crf 0)来压缩生成的文件

ffmpeg -i raw-gray.mkv -c:v libx264 -crf 0 -pix_fmt yuv420p -color_range pc x264-yuv420p.mkv
Run Code Online (Sandbox Code Playgroud)

最后,我从 raw 和 h264 MKV 文件中提取了原始 YUV 数据并进行了比较。

ffmpeg -i raw-gray.mkv -c:v rawvideo -pix_fmt gray raw-gray.yuv
ffmpeg -i x264-yuv420p.mkv -c:v rawvideo -pix_fmt gray x264-decompressed.yuv
diff -sq raw-gray.yuv x264-decompressed.yuv
Run Code Online (Sandbox Code Playgroud)

在这里,diff命令报告当我期望它们相同时文件不同。为什么是这样?这只是一些轻微的舍入错误,还是我在进行 H264(据称是无损)压缩后可能会丢失一些东西?发生了一些像素格式转换 ( gray (YUV400) <-> YUV420),但颜色 (UV) …

video compression codec ffmpeg

10
推荐指数
1
解决办法
3798
查看次数

标签 统计

codec ×1

compression ×1

ffmpeg ×1

video ×1