帧间压缩 OpenEXR 序列?

帧间压缩 OpenEXR 序列?

是否可以在具有多个通道/层的 16 位或 32 位 OpenEXR 序列上使用某种类型的帧间压缩(无损或有损)?如果可以,您如何对其进行编码/解码?或者它们仅使用帧内压缩?

答案1

我相信这确实是可能的。假设您熟悉 FFMPEG,一种选择是使用 x265 编解码器 (libx265) 将 OpenEXR 序列转换为 HEVC 比特流。除非您指定“All Intra”编码,否则 libx265 将默认根据默认 GOP 结构使用双向帧间编码对输入文件进行编码。为了获得良好的视觉质量,请确保 FFMPEG 中 x265 的恒定速率因子(感知量化)设置(即“-crf”参数)设置为 18 或更低。请注意,“-crf”参数显然决定了编码视频文件的比特率;例如,“-crf”设置越低,比特率越高,反之亦然。就容器格式而言,也许可以考虑 MP4 或 MKV。

更新(2020/01/07)

jippyjoe4,我下载了您提供的图像文件。作为示例,我使用 x264 编码了高动态范围 (HDR) OpenEXR 文件,以使用 FFMEG 创建 .MP4 视频文件。由于您提供的 OpenEXR 文件是 HDR RGBA 浮点精度图像 (​​128 bpp),FFMPEG 似乎无法正确支持,因此我需要执行基本的下采样操作,以便“out0000.exr”到“out0010.exr”可以被视为 24 bpp PNG 图像。然后我对这些 PNG 图像进行了编码。您可以从以下 URL 下载生成的文件:https://cdn-19.anonfiles.com/faEaA2D9o0/dfc13a5b-1593618919/jippyjoe4.zip。在 .zip 文件中,您将找到 PNG 格式的下采样图像。此外,我还提供了一个批处理文件 (EXR_Video.bat),您将在其中看到以下 FFMPEG 命令:

ffmpeg.exe -r 1 -f concat -i concat.txt -r 1 -c:v libx264 -crf 17 -pix_fmt yuv444p10 视频.mp4

请注意,“video.mp4”是输出文件。在 .zip 文件中,您还会找到“ffmpeg.exe”可执行文件。此外,我建议您安装“K-Lite Codec Pack Full”(K-Lite_Codec_Pack_1556_Mega.exe),它也包含在 .zip 文件中。此编解码器包包含一组编解码器,可让您观看使用各种视频压缩格式编码的视频;它还包括 Media Player Classic。如果您还有其他问题,请告诉我。

相关内容