gpt4 book ai didi

ffmpeg - 使用 ffmpeg 按特定顺序合并视频

转载 作者:行者123 更新时间:2023-12-04 23:21:57 31 4
gpt4 key购买 nike

我使用以下内容按数字顺序合并视频。for f in *; do mv "$f" "${f: -17}"; done &&. find *.ts|. sed 's:\:\ :g'| sed 's/^/file /' > fraglist.txt && ffmpeg -f concat -safe 0 -i fraglist.txt -c copy output.ts; rm fraglist.txt这对于命名如下的文件非常有用......
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
但是,如果我需要以下合并的内容,则顺序取决于文件名中有多少位...
1708.ts 9803.ts 13798.ts 17815.ts 21804.ts 25819.ts
29832.ts
我可以使用什么命令来按该顺序合并第二组文件?谢谢您的帮助!

最佳答案

使用 printf 简化您的整个流程单独制作txt文件内容,并使用sort提供自然/版本排序:

printf "file '%s'\n" *.ts | sort -V > fraglist.txt
ffmpeg -f concat -i fraglist.txt -c copy output.ts
结果:
file '1708.ts'
file '9803.ts'
file '13798.ts'
file '17815.ts'
file '21804.ts'
file '25819.ts'
file '29832.ts'
  • 无需rm fraglist.txt作为 sort重定向 ( > ) 将覆盖 fraglist.txt .
  • 请注意,我删除了 -safe 0 (一个特定于 concat demuxer 的选项)来自 ffmpeg命令,因为在这个确切的示例中您不需要它。但是如果你得到 Unsafe file name错误(例如由于包含空格的特殊字符),那么您将需要添加它。
  • 关于ffmpeg - 使用 ffmpeg 按特定顺序合并视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64012061/

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