ffmpeg 默认音频编解码器而不是使用 acodec 选项指定它
ffmpeg default audio codec instead of specifying it with acodec option
在 raspberry pi 中,我关注 i2s 麦克风分线板并按照指南建议的方式使用它。当我尝试使用 ffmpeg 将音频从它录制到带有 ffmpeg -f alsa -i dmic_sv out.wav
命令的文件时。我会收到以下错误
[alsa @ 0x22e21c0] cannot set sample format 0x10000 2 (Invalid argument)
dmic_sv: Input/output error
当我使用 -acodec
明确指定使用的编解码器时,它工作正常:
ffmpeg -f alsa -acodec pcm_s32le -i dmic_sv out.wav
并且 ffmpeg 的输出将重新编码为 pcm_s16le
Input #0, alsa, from 'dmic_sv':
Duration: N/A, start: 1597597938.887969, bitrate: 3072 kb/s
Stream #0:0: Audio: pcm_s32le, 48000 Hz, stereo, s32, 3072 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s32le (native) -> pcm_s16le (native))
如何在不明确指定的情况下告诉 ffmpeg 默认使用带符号的 32 位小端字节序? ffmpeg 在哪里获得这个默认值,我可以以某种方式配置它吗?
在 raspberry pi 中,我关注 i2s 麦克风分线板并按照指南建议的方式使用它。当我尝试使用 ffmpeg 将音频从它录制到带有 ffmpeg -f alsa -i dmic_sv out.wav
命令的文件时。我会收到以下错误
[alsa @ 0x22e21c0] cannot set sample format 0x10000 2 (Invalid argument)
dmic_sv: Input/output error
当我使用 -acodec
明确指定使用的编解码器时,它工作正常:
ffmpeg -f alsa -acodec pcm_s32le -i dmic_sv out.wav
并且 ffmpeg 的输出将重新编码为 pcm_s16le
Input #0, alsa, from 'dmic_sv':
Duration: N/A, start: 1597597938.887969, bitrate: 3072 kb/s
Stream #0:0: Audio: pcm_s32le, 48000 Hz, stereo, s32, 3072 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s32le (native) -> pcm_s16le (native))
如何在不明确指定的情况下告诉 ffmpeg 默认使用带符号的 32 位小端字节序? ffmpeg 在哪里获得这个默认值,我可以以某种方式配置它吗?