将 YouTube DASH 音频 (youtube-dl) 转换为 m4a (AAC DL)

Sun*_*Sun 8 youtube ffmpeg command-line audio-conversion youtube-dl

我无法收听通过 Winamp 上的 youtube-dl 从 YouTube 下载的 m4a DASH 音频。youtube-dl 中是否有选项可以删除 m4a 文件的 DASH 音频部分并将其下载/保存为 m4a (AAC LC) 而不会降低质量?到目前为止,我正在使用 ffmpeg -i input.m4a -vn -acodec copy output.m4a转换每个文件,以便在 Winamp 中正常播放。

slh*_*hck 7

不,您需要第二个转换步骤。

问题在于,对于 YouTube DASH,MP4 容器的ftyp“主要品牌”设置为dash而不是m4a. 这是 DASH 流的正确方法,但 Winamp 太老了,无法识别它(许多其他程序也是如此)。

现在,一个合理的建议是为 youtube-dl 创建一个功能请求,以添加对 ffmpeg 的后处理支持,以将 MP4 容器的主要品牌转换为更兼容的东西。但目前,这样的事情并不存在。

或者,为 Winamp 提交错误报告以包含对dash品牌的解码支持。由于它可能依赖第三方解码器插件,因此这可能也意味着在其他地方提出错误报告。

  • 是的。您实际上并不是在转换音频比特流本身——您只是在更改元数据。这是一个无损过程,因此您不会损失音频质量。 (3认同)

gal*_*nja 6

如果系统上存在 ffmpeg,youtube-dl 2015.01.23.4 和更新版本将自动更正 m4a 文件的标题。

来源:youtube-dl:使用 --extract-audio 下载的 Youtube m4a 文件无法在某些播放器中播放
您所要做的就是将包含 ffmpeg 二进制文件的目录的路径添加到您的系统路径变量中(就像在 Windows 中一样7):

或者--ffmpeg-location <path to ffmpeg binary or its containing directory>在调用 youtube-dl 时使用命令行参数,以允许 youtube-dl 通过 ffmpeg 自动更正此问题。