如何连接 wav 文件列表?

Posted

技术标签:

【中文标题】如何连接 wav 文件列表?【英文标题】:How to concatenate a list of wav files? 【发布时间】:2021-03-25 16:08:01 【问题描述】:

我在 file.txt 中有一个 wav 文件列表

1.wav
2.wav
...

我使用下面的命令来执行操作。

ffmpeg -f concat -safe 0 -i file.txt -c copy output.wav

但是我得到了

[concat @ 0x5574a8046900] Line 1: unknown keyword 1.wav: Invalid data found when processing input

为什么这不起作用?

【问题讨论】:

【参考方案1】:

Based on this wiki page,你需要修改你的file.txt如下:

file '1.wav'
file '2.wav'
# ... etc

命令本身应该可以正常工作。

页面摘录:

... 这个解复用器从文本文件中读取文件列表和其他指令,并一个接一个地解复用它们,就好像它们的所有数据包都被混合在一起一样。 ...

说明

创建一个 mylist.txt 文件,其中包含您希望以下列形式连接的所有文件(以 # 开头的行被忽略):

# this is a comment
file '/path/to/file1.wav'
file '/path/to/file2.wav'
file '/path/to/file3.wav'

【讨论】:

【参考方案2】:

如果您的 .wav 文件不包含空格等特殊字符,您可以这样做:

files=(1.wav 2.wav ...)

ffmpeg -f concat -safe 0 $files[@]/#/-i  -c copy output.wav

【讨论】:

以上是关于如何连接 wav 文件列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 wav 文件中存在的笔记列表?

使用python重命名文件夹中的文件名列表

尝试保存列表对象〜1gb大小时R崩溃

根据格式信息对波形文件列表进行排序

使用 ajax 加载 wav 文件

如何使用 python 连接两个 wav 文件?