gpt4 book ai didi

audio - FFmpeg - 如何设置输出样本大小

转载 作者:行者123 更新时间:2023-12-02 23:28:14 26 4
gpt4 key购买 nike

尝试为 .dsf(DSD 音频)文件创建一个简单的命令行播放器,并输出到支持高达 24 位 192 kHz 采样率的 alsa 设备。以下命令几乎可以正常工作,并且可以播放轨道。检查下面的粗体文本,dsf 输入文件被转换为 24 位/192 kHz,但输出随后被截断为 16 位 192 kHz(pcm_s16le,即 16 位小端)。

ffmpeg -i '01 - Sweet Georgia Brown.dsf' -f alsa hw:0,0

显示 ffmpeg 横幅和歌曲元数据(标签)后,结果如下,粗体是我的重点:

时长:00:05:14.83,开始:0.000000,比特率:9234 kb/s
流 #0:0:音频:flac, 192000 Hz,立体声,s32(24 位)
流映射:
流 #0:0 -> #0:0 (flac (native) -> pcm_s16le (native))
按 [q] 停止,按 [?] 寻求帮助
输出#0,alsa,到'hw:0,0':

由于我可以使用另一个播放器(foobar2000)以全分辨率播放此轨道和许多其他轨道,因此编码器中似乎可能有一个选项,它是 FFmpeg 的一部分:Lavf57.83.100 我在任何 FFmpeg 文档中都找不到有帮助的信息.尝试在 FFplay 中查找选项,甚至使用其他 FFmpeg 选项进行猜测,例如此示例。
ffmpeg -sample_fmt s24 -i '01 - Sweet Georgia Brown.dsf' -f alsa hw:0,0 ***** 相同的结果。

我被困住了。有什么建议么?

环境:Linux Mint 19.2,64 位,华硕 Xonar STXii 声卡。

最佳答案

每种输出格式或设备都为其接受的每种媒体类型注册了一个默认编码器。 ALSA 接受音频,其默认编码器是 16 位签名 PCM。

您可以通过指定一个来更改编码器。

ffmpeg -i '01 - Sweet Georgia Brown.dsf' -c:a pcm_s24le -f alsa hw:0,0

关于audio - FFmpeg - 如何设置输出样本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59448519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com