【问题标题】:Recording streams audio with ffmpeg for Cloud Speech-to-Text使用 ffmpeg 为 Cloud Speech-to-Text 录制流音频
【发布时间】:2019-11-25 03:27:22
【问题描述】:
晚安
我正在尝试使用以下功能录制音频:
编解码器:flac
采样率:16000hz
我正在使用以下代码行进行测试:
ffmpeg -t 15 -i http://198.15.86.218:9436/stream -codec:a flac -b:a 16k example.flac
但是在查看输出文件时,我得到以下信息:
编解码器:flac
采样率:44000hz
我可以指导正确使用 ffmpeg 选项。
【问题讨论】:
标签:
ffmpeg
stream
google-cloud-speech
【解决方案1】:
-b:a是设置码率*。对于采样率,您必须使用-ar。
使用
ffmpeg -t 15 -i http://198.15.86.218:9436/stream -codec:a flac -ar 16k example.flac
*对于无损编解码器,比特率设置无关紧要。
【解决方案2】:
“免费无损音频编解码器”Flac 是无损的,因此无法精确控制输出比特率。 -b:a 16k 实际上是试图将音频的输出比特率设置为每秒 16k 比特。
在您的情况下,您需要以 16000 Hz 对其进行采样。所以正确的选择是使用 -ar [audio rate]
ffmpeg -t 15 -i http://198.15.86.218:9436/stream -c:a flac -ar 16000 example.flac
如果您想使用 FLAC 编码器控制输出比特率,则可以使用选项 -compression_level 0-15,默认为 5。您可以获取有关控制 FLAC ffmpeg 编码器here 的其他参数的模式详细信息。