我正在进行转码视频项目,我需要将视频文件拆分成多个文件 .
输入文件为 Y4M 格式 .
Y4M
输出文件也是 Y4M 格式,每个视频文件有 8 帧 .
8
我怎么能用 ffmpeg 做呢?
ffmpeg
我找到了一个解决方案(使用 ffmpeg ) .
以下示例创建示例输入文件(用于测试),并将其拆分为多个部分 .在我的示例中,输入文件包含每秒8帧,并且拆分过程每秒创建一个输出文件 .(我尝试使用选项 -segment_frames 8 而不是 -segment_time 1 ,但它不起作用) .
-segment_frames 8
-segment_time 1
创建输入文件(用于测试):创建 AVI 文件并将 AVI 文件转换为 y4m 格式文件:
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
1 回答
我找到了一个解决方案(使用
ffmpeg
) .以下示例创建示例输入文件(用于测试),并将其拆分为多个部分 .
在我的示例中,输入文件包含每秒8帧,并且拆分过程每秒创建一个输出文件 .
(我尝试使用选项
-segment_frames 8
而不是-segment_time 1
,但它不起作用) .创建输入文件(用于测试):
创建
AVI
文件并将AVI
文件转换为y4m
格式文件:将文件拆分为8帧(每个视频文件1秒):
对于Windows(使用
%%
):对于Linux(使用
%
):