首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ffmpeg按特定顺序合并视频

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

Stack Overflow用户
提问于 2020-09-22 14:37:57
回答 1查看 339关注 0票数 0

我使用下面的数字顺序合并视频。

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

我可以使用什么命令来使第二组文件按该顺序合并?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-22 18:14:06

通过单独使用printf来生成txt文件内容,并使用sort提供自然/版本排序,简化了整个过程:

代码语言:javascript
复制
printf "file '%s'\n" *.ts | sort -V > fraglist.txt
ffmpeg -f concat -i fraglist.txt -c copy output.ts

结果:

代码语言:javascript
复制
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命令中删除了ffmpeg (特定于凹式破碎机的一个选项),因为在这个精确的示例中不需要它。但是,如果您得到Unsafe file name错误(例如由于特殊字符(包括空格)),则需要添加它。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64012061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档