如何使用 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
我正在处理一个转码视频项目,我需要将一个视频文件拆分成多个文件。
输入文件的格式是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