如何在 FFMPEG 中使用通配符?

如何在 FFMPEG 中使用通配符?

假设我希望文件夹中的每个 .mp4 文件作为输入文件。

如何做到这一点?它只读取字面意思。

答案1

你正在处理一个目录视频,所以您可能需要使用循环。以下循环将按照您评论中的要求将每个匹配的文件拆分为十分钟的片段:

for i in *.mp4; do 
    ffmpeg -i "$i" -c copy \
    -f segment -segment_time 600 \
    -reset_timestamps 1 \
    "${i/%.mp4/_part%02d.mp4}"; 
done

但是,如果您的输入是目录图片,那么 image2 解复用器允许您使用通配符。只需在非插值字符串中指定-pattern_type glob并传递您的全局模式-i(以便 shell 不会扩展它)。

例如,我在将 JPEG 文件目录转换为 MPEG-4 视频时执行了以下操作:

ffmpeg -f image2 -pattern_type glob -i '*.jpg' output.mp4

请注意,这完全取决于 glob 模式来确定匹配图像文件的处理顺序。

相关内容