![为什么 youtube-dl 将我下载的视频转换为其他格式](https://linux22.com/image/1537810/%E4%B8%BA%E4%BB%80%E4%B9%88%20youtube-dl%20%E5%B0%86%E6%88%91%E4%B8%8B%E8%BD%BD%E7%9A%84%E8%A7%86%E9%A2%91%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%85%B6%E4%BB%96%E6%A0%BC%E5%BC%8F.png)
我正在下载视频,但 youtube-dl 正在使用 ffmeg 将其转换为其他格式。这种情况通常不会发生,我该怎么办?
这是日志,
编辑
如果我尝试在另一台计算机上下载相同的视频,这是我收到的日志,
以下是播放列表的链接 -https://www.youtube.com/playlist?list=PLF88E87B145457F95
我的电脑上肯定有什么不同 :(
答案1
youtube-dl 不会转换任何内容。它已分别下载音频和视频流。但音频无法合并为 MP4,因此它会将它们合并为 MKV。不涉及压缩。用于-f 133+140
获取 MP4。
答案2
有问题的视频可能比较旧。如果它早于 YouTube 从 Flash 切换到 HTML5 视频的时代,那么它可能是一种不适合在计算机上播放的视频或音频格式。
需要注意的是,您无法从文件的扩展名中知道视频格式。MP4 是一种容器格式,能够包含许多不同的视频和音频格式。WebM 也是如此。MKV 将其发挥到极致(据我所知,MKV 可以包含的内容几乎没有限制,除非它必须是某种数据流或文本)。
你可能想要了解媒体信息(它可能在您的包管理器中)。这将让您看到正在使用的视频/音频格式。
编辑:考虑到您的计算机和另一台计算机之间存在差异,存在几种可能性。另一台计算机上的 FFmpeg 可能已使用附加功能进行编译。默认情况下,并非所有 FFmpeg 功能都会进行编译……并且,对于每台计算机上使用的 FFmpeg 软件包的确切二进制版本,将由维护者决定将哪些附加功能编译到二进制文件中或不编译到二进制文件中。这也适用于可能已应用到它的附加补丁。即使在 Windows 上,也可能使用许多不同的 FFmpeg 二进制版本。
youtube-dl 本身也可能存在同样的问题。这也可能是安装了不同版本的 Python 或安装了具有不同维护者的不同 Python 包的结果(因为 youtube-dl 是一个 Python 应用程序)。
这可能是因为其中一个或两个机器都缺少另一台机器上的可选依赖项。
我的意思是很多的可能性。
还值得注意的是,两个日志中显示的文件不是同一个。它们可能是同一个视频,但每个都在下载不同的文件。YouTube 根据所选质量/检测到的连接速度提供不同的文件。