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