如何使用 FFMPEG 将 Y4M 视频文件拆分为多个 Y4M 文件?

How to split Y4M video file into multiple Y4M files using FFMPEG?

我正在处理一个转码视频项目,我需要将一个视频文件拆分成多个文件。

输入文件的格式是Y4M

输出文件也是 Y4M 格式,每个视频文件有 8 帧。

如何使用 ffmpeg 来实现?

我找到了解决方案(使用 ffmpeg)。

以下示例创建示例输入文件(用于测试),并将其拆分为多个部分。
在我的示例中,输入文件每秒包含 8 帧,拆分过程每秒创建一个输出文件。
(我尝试使用选项 -segment_frames 8 而不是 -segment_time 1,但它不起作用)。

创建输入文件(用于测试):
创建 AVI 文件并将 AVI 文件转换为 y4m 格式文件:

ffmpeg -f lavfi -i testsrc=duration=10:size=160x120:rate=8 -c:v rawvideo -pix_fmt bgr24 -y input.avi
ffmpeg -i input.avi -pix_fmt yuv444p input.y4m

将文件分成 8 帧的片段(每个视频文件 1 秒):

对于Windows(使用%%):

ffmpeg -i input.y4m -f segment -segment_time 1 -pix_fmt yuv444p output%%4d.y4m

对于Linux(使用%):

ffmpeg -i input.y4m -f segment -segment_time 1 -pix_fmt yuv444p output%4d.y4m