2

如何将一组 YUV 帧转换为视频,然后使用 C 将视频转换为 YUV 帧而不会造成任何损失?(我不想将其转换为 RGB)

4

1 回答 1

1

如果您有原始 YUV 文件,则需要告诉 ffmpeg 使用哪种像素格式/子采样。YUV没有header,所以还需要指定数据的宽高。

以下 ffmpeg 命令使用 x264 编码器将 1080p YUV 4:2:0 编码为 H.264,并将结果放入 mp4 容器中。然而,这个操作不是无损的。

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

要再次获取 YUV 帧,请执行

ffmpeg -i output.mp4 frames.yuv

如果您正在寻找无损编码器,请尝试HuffYUVFFV1

于 2013-10-22T20:05:45.667 回答