我使用Firefox和Video DownloadHelper插件从YouTube等下载视频。
这些插件和网站如何自动获取这些视频的下载链接?
我使用Firefox和Video DownloadHelper插件从YouTube等下载视频。
这些插件和网站如何自动获取这些视频的下载链接?
Answers:
至少有两种方法可以实现此目的:
该软件拦截下载流并保存它检测到的所有视频(这是最可能的情况)
该软件只是将其从网络浏览器的缓存中复制出来(尽管并非不可能,但这不太可能是出于两个原因:1.需要所有受支持的网络浏览器以及某些视频播放器的专门知识;以及2.并非所有视频完全存储在磁盘上,因为这取决于视频播放器)
编辑:添加了第三和第四种可能性...
该软件通过制作与查看器插件相同的下载请求来请求视频,然后在接收到数据时保存数据(这与上面列出的第一种可能性不同,并且可能需要对它进行一些反向工程用Flash或某些数据包嗅探确定URI实际构造方式的电影播放器)
该软件将替换视频播放器的默认处理程序(或者可以替换Flash Player处理程序,并在其认可的网站(例如YouTube.com,Video.Google.com等)上充当临时处理程序,但用于网站和Flash无法明确识别的动画内容只是将工作传递给以前的Flash Player插件,从而为用户创建了一个更加“透明”的效果)
YouTube对每个视频都有唯一的URL。某些网站提供在线脚本,可将YouTube视频转换为MP4或类似的视频文件扩展名。该脚本通常将视频下载到其FFMPEG服务器,然后将其转换为MP4或任何其他受支持的格式,然后让您下载该流式视频。
有一种名为youtube-dl的工具,可以通过提取有关视频文件及其位置的所有必要信息,然后根据用户的规范(通过RTMPDump或直接下载)进行下载(许多YouTube视频提供多种格式)来执行此操作)。
Python源可用,并且应在Linux,Windows和Mac OS X上运行(前提是已安装Python解释器)。
我认为这就是大多数下载器的工作方式。