&引用;无支撑大颗粒pos-123480“;尝试使用ffmpeg将从视频中提取的.opus转换为.wav时

&引用;无支撑大颗粒pos-123480“;尝试使用ffmpeg将从视频中提取的.opus转换为.wav时,ffmpeg,opus,Ffmpeg,Opus,我必须使用ffmpeg将一堆.opus文件转换为.wav。打电话的时候 ffmpeg-i input_file.opus-acodec pcm_s16le-ac 1-ar 16000 output_file.wav 我明白了 不支持的大颗粒pos-123480 这不取决于特定的ffmpeg选项。可以找到一个示例.opus文件。.opus文件是以.mkv容器格式从youtube视频中提取的声音流的一部分,其中.opus作为具有最高可用质量的音频流。相应的ffmpeg调用为 ffmpeg-ss 00

我必须使用ffmpeg将一堆.opus文件转换为.wav。打电话的时候

ffmpeg-i input_file.opus-acodec pcm_s16le-ac 1-ar 16000 output_file.wav

我明白了

不支持的大颗粒pos-123480

这不取决于特定的ffmpeg选项。可以找到一个示例.opus文件。.opus文件是以.mkv容器格式从youtube视频中提取的声音流的一部分,其中.opus作为具有最高可用质量的音频流。相应的ffmpeg调用为

ffmpeg-ss 00:15:00.00-i input_file.mkv-to 00:15:00.00-vn-acodec copy output_file.opus

引发原始异常的行是

if(操作系统->颗粒>(1LL颗粒);
返回AVERROR_INVALIDDATA;
}

它可以在文件的第121-124行中找到。
颗粒
被定义为uint\U 64t


因此,到目前为止,我认为uint可能不应该是负的。我不确定错误是否发生在音频提取过程中,但在尝试转换所述音频之前,或者错误是否在实际转换过程中,我仍然没有被注意到。我也不明白什么是“颗粒”在本文中是指,但可能我不需要。

这些是Ogg Opus文件还是Opus音频包封装在另一个容器中?尝试使用提取音频流


您提供的*.opus URL需要身份验证,我无法访问。

opusinfo对示例文件显示了相同的错误,opusdec也无法转换该文件。我建议您重新下载或下载其他格式。不幸的是,无法重新下载,因为Youtube上没有所有必需的视频。如果我不复制来自原始文件的流,但重新编码(-acodec libopus而不是-acodec copy)我没有遇到这个问题,但输出文件的比特率从119 kb/s下降到83 kb/s。这有点令人不满意,但目前必须这样做。“该.opus文件是从youtube视频提取的声音流的一部分”您是如何下载该文件的?我建议查看您的方法或尝试其他方法,看看这是否是故障点。感谢您仍然关心此问题,并为无法访问的文件感到抱歉,我认为我已正确配置了链接。实际上,我只是在提取时重新编码音频,避免了错误r、 所以目前这个问题的优先级很低。