我读到某处youtube将视频分割成许多短文件,并且在播放时将它们缝合在一起。这使下载视频变得困难。
我想知道,必须有一种方法可以破解它并下载所有类型的视频,甚至是实时流式视频。
谁能指出我一些文档或代码等信息,这说明了我该怎么做。我想在ubuntu机器上做。
我很好奇某些网站能做到吗?
另一种选择是在全屏幕上播放视频并使用某些屏幕录像机进行录制。但这需要一台专用的机器来完成。有什么建议吗?
答案 0 :(得分:2)
“ youtube-dl”程序(您在问题中的标记中提到的)可以为您完成所有这些操作-查找,下载并将所有文件缝合在一起,并输出单个视频文件。您应该获取最新版本,而不要使用发行版提供的版本(发行版软件包可能已过期)。
这很“困难”,因为Google不想让它变得简单-视频的发布者将其上传到youtube上以便观看,下载和在其他地方播放,因此采取了措施来实施。除了发布者的权利外,如果该文件可在没有广告的情况下进行查看,那么Google也将遭受损失。
(顺便说一句:过去,内容作者实际上可以实际允许下载,在视频页面上添加下载链接-我不知道情况是否如此)。
从理论上讲,总有一种“黑客”方式,即您的浏览器可以执行的任何操作也可以在不显示视频的情况下完成,而是保存视频(例如,您可以获取整个浏览器的源代码,对其进行修改以执行此操作-结果将包含所有广告等,与显示的完全一样)。尽管可行,但这确实很困难-并不是一个值得的目标。
Youtube-dl知道该网站自己的javascript的工作原理并模仿-但它实际上并未运行任何实际的youtube代码,因此必须在youtube更新时进行更新。因此,它将总是有些过时,并且某些视频将无法下载。
请勿滥用Youtube,Google不会对此表示友善。最好不要尝试下载超出给定时间段内实际观看次数的视频-youtube会检测到这一点,并要求您解决验证码难题,以证明您不是试图大规模下载内容的机器人(最终可能会完全阻止您)。
答案 1 :(得分:1)
如果有人遇到同样的问题。我有一个YouTube视频,无法使用youtube-dl或我可以找到的任何其他工具下载。
我在Ubuntu上使用了这个
livestreamer --retry-streams 1 https://www.youtube.com/watch?v=YOUTUBE_VIDEO_CODE best -o output.m3u8
ffmpeg -i output.m3u8 -acodec copy -vcodec copy output.mp4
这也适用于实时视频。
这些是工具: