FFmpeg concat多路分配器正在更改比特率


2

我正在使用concat demuxer来合并一些wav文件。

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

files.txt将文件存储为:

文件'C:\ Users \ folderpath \ input1.wav'

文件'C:\ Users \ folderpath \ input2.wav'

等等

如何在此命令中添加-b来设置比特率?现在没有它,文件正在加速-输入文件为256kbps,输出为705kbps。我在命令的不同部分尝试了几个-b和-ab,但无法使它正常工作。


这两个文件的属性是什么?ffprobe file。WAV文件的比特率是一个简单的固定函数=bitdepth x sampling rate x no. of channels
Gyan

输入属性是:元数据:编码器:Lavf57.73.100持续时间:00:00:01.15,比特率:256 kb / s流#0:0:音频:pcm_s16le([1] [0] [0] [0] / 0x0001 ),16000 Hz,1通道,s16,256 kb / s输出属性是:元数据:编码器:Lavf58.2.103持续时间:00:00:13.82,比特率:705 kb / s流#0:0:音频:pcm_s16le([ 1] [0] [0] [0] / 0x0001),44100 Hz,1个通道,s16、705 kb / s
Ashley Guinan

两个文件的输入属性都相同吗?
Gyan

不,那是问题所在。谢谢!我有一些实际声音为256k的文件,并尝试使用ffmpeg -y -f lavfi -i aevalsrc = 0:duration = 2 silence.wav将空声音填充为空。wavaevalsrc的默认值为44100 Hz,我通过将其修复添加采样率:ffmpeg -y -f lavfi -i aevalsrc = 0:duration = 2:sample_rate = 16000 -acodec pcm_s16le silence.wav
Ashley Guinan

Answers:


0

并非我的所有输入文件都是256k,有些不是705k,所以concat demuxer使用了第一个文件705k。

我通过修复我创建的输入文件来修复它:

ffmpeg -f lavfi -i aevalsrc=0:duration=2:sample_rate=16000 silence.wav

关键是将sample_rate添加到aevalsrc文件中-这部分是在Mulvya的帮助下添加的。


1
the concat demuxer used the largest->它将使用第一个输入的属性。
Gyan

编辑更改。感谢您的帮助和对答案的更正。
Ashley Guinan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.