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

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

我无法通过Winamp上的YouTube DL收听M4A Dash Audio,在YouTube-DL上有一个选项 ffmpeg -i input.m4a -vn -acodec copy output.m4a

答案1

YouTube-dl 2015.01.23.4和新较新将自动更正M4A文件的标题,如果系统上存在FFMPEG。

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

--ffmpeg-location <path to ffmpeg binary or its containing directory>在调用YouTube-DL时使用命令行参数,以允许YouTube-DL通过FFMPEG自动纠正此问题。

答案2

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

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

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

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

答案3

我擅自使用了您的ffmpeg命令,得到了以下结果:yt "My Youtube File.mp4"

放置在 system32 中的文件yt.bat包含:

@echo off
move %1 "_%~n1"
ffmpeg -i "_%~n1" -vn -c:a copy "%~n1.m4a"
del "_%~n1"

*自动将其重命名为m4a,可以在代码中更改。

**需要通过临时文件然后使用 rm、mv,否则文件和文件名会被损坏。

相关内容