使用 FFMPEG 时使用“-acodec”选项时编解码器参数不正确

Incorrect Codec Parameters While using '-acodec' option while Working with FFMPEG

我正在使用 FFMPEG 库。我正在使用以下命令将特定压缩代码的流捕获到具有指定格式的目标文件:

ffmpeg -i rtsp://username:password@server-ip/filename -acodec adpcm_ms -t 10 -f mp3 C:\FFMPEG_Recordings\ADPCM_10.mp3

我收到以下错误:

Could not write header for output file #0 (incorrect codec parameters ?): Error number -22 occurred

因此,当我针对“-f”选项指定一些其他文件格式时,它会正常执行。如:

ffmpeg -i rtsp://username:password@server-ip/filename -acodec adpcm_ms -t 10 -f mov C:\FFMPEG_Recordings\ADPCM_10.mp3

因此,当我针对“-f”选项指定 'mov' 时,它工作正常并且捕获 'mp3' 格式的媒体文件中的流。

我无法理解为什么会出现此错误?以及为什么我要在 'mp3' 文件格式中捕获流时必须针对“-f”格式指定 'mov'?

简而言之,您正在尝试创建一个具有非 mp3 编解码器的 mp3 文件,这是无意义的,因此不起作用。 mov 工作的原因是因为 mov 中的 adpcm-ms 是受支持的编解码器配置。

混合 mp3 时,使用 mp3 音频编解码器。使用 adpcm-ms 时,您只能使用 boa、caf、mov、avi 和 wav。