gpt4 book ai didi

php - 创建/合并多个视频文件的命名约定

转载 作者:搜寻专家 更新时间:2023-10-31 21:56:17 29 4
gpt4 key购买 nike

我正在尝试连接一些 .mp4 文件。我首先创建中间 .mpg 剪辑,然后使用“cat”命令将它们合并在一起;然后将其转换为 .mp4 文件

例如,

ffmpeg -i input1.mp4 -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.mp4 -qscale:v 1 intermediate2.mpg

//现在将它们合并在一起

cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.mp4

现在,我想合并目录中的所有 .mpg 文件如果我有最多 9 个 .mpg 文件,则以下命令有效

cat folder/*.mpg > intermediate_all.mpg

但是,如果我得到超过 9 个 .mpg 文件,电影序列就会中断,这意味着没有。 10 剪辑出现后没有。 1 个我不想要的剪辑。 ffmpeg 是否可以遵循任何命名约定。在 imagemagick 中,我可以轻松地使用以下语法并且它有效,但在 ffmpeg 中它不起作用。

cat folder/%d.mpg or cat folder/%d.mpg[0-10] 

最佳答案

当然。创建中间文件时,像这样对数字进行零填充:

ffmpeg -i input1.mp4 -qscale:v 1 intermediate01.mpg
ffmpeg -i input2.mp4 -qscale:v 1 intermediate02.mpg

然后当您执行 cat *.mpg 时,它会以正确的顺序拾取它们。如果您使用循环来制作中间文件,请使用 printf 对数字进行零填充,如下所示:

#!/bin/bash

for i in {1..20}; do
inname=input${i}.mp4
outname=$(printf "intermediate%03d.mpg" $i)
echo Converting "$inname" to "$outname"
ffmpeg -i "$inname" -qscale:v 1 "$outname"
done

输出

Converting input1.mp4 to intermediate001.mpg
ffmpeg -i input1.mp4 -qscale:v 1 intermediate001.mpg
Converting input2.mp4 to intermediate002.mpg
ffmpeg -i input2.mp4 -qscale:v 1 intermediate002.mpg
Converting input3.mp4 to intermediate003.mpg
ffmpeg -i input3.mp4 -qscale:v 1 intermediate003.mpg
Converting input4.mp4 to intermediate004.mpg
ffmpeg -i input4.mp4 -qscale:v 1 intermediate004.mpg
Converting input5.mp4 to intermediate005.mpg
ffmpeg -i input5.mp4 -qscale:v 1 intermediate005.mpg
Converting input6.mp4 to intermediate006.mpg
ffmpeg -i input6.mp4 -qscale:v 1 intermediate006.mpg
Converting input7.mp4 to intermediate007.mpg
ffmpeg -i input7.mp4 -qscale:v 1 intermediate007.mpg
Converting input8.mp4 to intermediate008.mpg
ffmpeg -i input8.mp4 -qscale:v 1 intermediate008.mpg
Converting input9.mp4 to intermediate009.mpg
ffmpeg -i input9.mp4 -qscale:v 1 intermediate009.mpg
Converting input10.mp4 to intermediate010.mpg
ffmpeg -i input10.mp4 -qscale:v 1 intermediate010.mpg
Converting input11.mp4 to intermediate011.mpg
ffmpeg -i input11.mp4 -qscale:v 1 intermediate011.mpg
Converting input12.mp4 to intermediate012.mpg
ffmpeg -i input12.mp4 -qscale:v 1 intermediate012.mpg
Converting input13.mp4 to intermediate013.mpg
ffmpeg -i input13.mp4 -qscale:v 1 intermediate013.mpg
Converting input14.mp4 to intermediate014.mpg
ffmpeg -i input14.mp4 -qscale:v 1 intermediate014.mpg
Converting input15.mp4 to intermediate015.mpg
ffmpeg -i input15.mp4 -qscale:v 1 intermediate015.mpg
Converting input16.mp4 to intermediate016.mpg
ffmpeg -i input16.mp4 -qscale:v 1 intermediate016.mpg
Converting input17.mp4 to intermediate017.mpg
ffmpeg -i input17.mp4 -qscale:v 1 intermediate017.mpg
Converting input18.mp4 to intermediate018.mpg
ffmpeg -i input18.mp4 -qscale:v 1 intermediate018.mpg
Converting input19.mp4 to intermediate019.mpg
ffmpeg -i input19.mp4 -qscale:v 1 intermediate019.mpg
Converting input20.mp4 to intermediate020.mpg
ffmpeg -i input20.mp4 -qscale:v 1 intermediate020.mpg

关于php - 创建/合并多个视频文件的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33329773/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com