在需要简单而强大的功能后,我可以下载YouTube播放列表并找到更好的选择,我最近开始在命令行中使用youtube-dl(使用ffmpeg)。我目前正在处理和测试下载的播放列表的质量,但我遇到了将播放列表转换为192kbps的M4A音频的问题。这是我正在使用的:
youtube-dl --extract-audio --audio-format m4a --audio-quality 192 --playlist-items 1-26 https://www.youtube.com/playlist?list=PLR3nWwHlZ9WBpi3uWsjSe6r1PiA8MTbnE
--audio-quality 192
似乎没有注册,即使语法似乎正如我所知,并且当下载和提取音频文件时,它们包含一系列不同的比特率,从189到254.任何人都可以告诉我为什么我可能会遇到这个问题?
答案 0 :(得分:3)
根据youtube-dl
帮助文件,对于比特率,您需要在K
之后指定192
。否则,它将其视为可变比特率:
-audio-quality QUALITY指定ffmpeg / avconv音频质量, 插入 介于0(更好)和9(更差)之间的值 对于VBR或特定比特率,如128K (默认5)
请参阅:Post Processing Options in helpfile
基于评论的更新:存在未解决的问题,表明ffmpeg不会报告处理时遇到的所有错误,尤其是mp4(m4a)编解码器。见Issue 8230。替代格式可以是变通方法。另一个解决方法可能是更改系统的mp4编解码器,以便ffmpeg对它们更满意。
如果这些解决方法都不适合您,请使用--verbose
选项发布运行命令的输出,以便我们可以看到调试信息。
由于不影响MP3,因此更新:
由于已知ffmpeg
有一些mp4编解码器问题,您可以尝试的另一件事是使用avconv
和avprobe
代替ffmpeg
和ffprobe
youtube-dl
的后处理器。您可以在此处下载最新的Windows二进制文件:LibAV Windows binaries。不要忘记将可执行文件添加到PATH
系统环境变量中,以便youtube-dl
可以找到它们。
然后在--prefer-avconv
命令中添加youtube-dl
选项,看看它是否表现得更好。
使用已知BUG详细信息进行编辑:
看起来你可能已经错过了以前错过的这个bug版本M4a Audio file post-processing skipped - 虽然开发人员已经解决了bug描述中略有不同的情况,但它似乎也出现在你的情况中。可能值得将详细信息发布到youtube-dl
Github Issue Tracker。
此时切换到其他格式(如mp3
)可能是唯一的解决方法。