我到处寻找尝试将一堆具有不同采样率的FLAC文件合并到一个文件中。到目前为止我尝试过的是:
ffmpeg使用通配符连接:
ffmpeg -f concat -i <( for f in *.flac; do echo "file '$(pwd)/$f'"; done ) -safe 0 output.flac
我得到的每个文件名,(即使我将pwd改为'./'作为亲戚):
ffmpeg unsafe filename
无论文件名是什么。
我尝试过sox:
sox *.flac output.flac
导致:
sox FAIL sox: Input files must have the same sample-rate
我甚至试过将两者结合起来:
#!/usr/bin/env bash
set -eu
for i in *.flac *.ogg *.mp3
do
ffmpeg -i "$i" "$i.wav"
done
sox *.wav combined.wav
与上述相同的错误。
任何人有任何提示吗?我敢肯定,在某些Windows程序中,您可以拖动5个不同的声音文件并轻松组合它们。在linux cmdline上没有一种简单的方法吗?
答案 0 :(得分:1)
safe 0
是concat demuxer的私有选项,因此它必须出现在输入之前,即-f concat -safe 0 -i ...