流式视频下载如何工作?


Answers:


5

至少有两种方法可以实现此目的:

  1. 该软件拦截下载流并保存它检测到的所有视频(这是最可能的情况)

  2. 该软件只是将其从网络浏览器的缓存中复制出来(尽管并非不可能,但这不太可能是出于两个原因:1.需要所有受支持的网络浏览器以及某些视频播放器的专门知识;以及2.并非所有视频完全存储在磁盘上,因为这取决于视频播放器)

    编辑:添加了第三和第四种可能性...

  3. 该软件通过制作与查看器插件相同的下载请求来请求视频,然后在接收到数据时保存数据(这与上面列出的第一种可能性不同,并且可能需要对它进行一些反向工程用Flash或某些数据包嗅探确定URI实际构造方式的电影播放器​​)

  4. 该软件将替换视频播放器的默认处理程序(或者可以替换Flash Player处理程序,并在其认可的网站(例如YouTube.com,Video.Google.com等)上充当临时处理程序,但用于网站和Flash无法明确识别的动画内容只是将工作传递给以前的Flash Player插件,从而为用户创建了一个更加“透明”的效果)


是的,我知道这一点,但是我想要一些有关第一种方法的更详细的信息。即究竟是怎样的软件识别的视频数据流,它是如何拦截流等
ANKIT瑞里

我不确定在不使用代理的情况下如何截取这样的视频流,我认为这些下载器不会这样做。另一种方法是使用页面中的信息来查找实际的视频文件并直接下载它们。有关更多信息,请参见raw.github.com/rg3/youtube-dl/2011.08.04/youtube-dl
2011年

@ user55325:使用数据包嗅探软件的相同方法。
兰道夫·理查森

通常不需要直接挂接到您的网络驱动程序吗?当然,这不是youtube-dl的工作方式;似乎以某种方式过大了。
2011年

@ user55325:好吧,我描述了“ 至少两种方式 ”-我不确定“ youtube-dl”(我假设是这些“视频捕捉”应用程序之一的名称)如何获取视频,但是在至少您现在知道两种可能的方法。可能不需要连接网络驱动程序,因为Windows可能提供了更通用的高级API,并且不需要NIC特定的钩子。
兰道夫·理查森

2

YouTube对每个视频都有唯一的URL。某些网站提供在线脚本,可将YouTube视频转换为MP4或类似的视频文件扩展名。该脚本通常将视频下载到其FFMPEG服务器,然后将其转换为MP4或任何其他受支持的格式,然后让您下载该流式视频。


关于转换,当您说ffmpeg服务器时,是指免费的ffmpeg软件吗?我不知道它有服务器选项
barlop 2011年

视频通常以.FLV格式存储,可以由出色的免费和开源VLC播放器本地播放: videolan.org
Randolf Richardson 2011年

@barlop,服务器使用脚本进行转换。有很多免费和付费的脚本可以进行这种类型的转换。这些脚本大多数是作为youtube的替代克隆脚本开始的。
Ryu

@Ryu我从未尝试过阅读它,但是我想你的意思是从youtube网站,/视频共享网站脚本,视频托管和共享解决方案,服务器端flv转换器之类的东西开始的软件包youtube-clone.com 有趣。我看到ffmpeg包含流式传输,因此,可以说,有ffmpeg服务器之类的东西,就像您说的那样,所以可以看到您正在得到什么。我以前没遇到过。
barlop 2011年

WinCAP驱动程序在Windows服务器和台式机上用于流捕获。您可以在“ URL snooper”上搜索有关如何使用Windows桌面上的此驱动程序捕获流的信息。同样,还有FFMPEG服务器,它们准备处理flv文件,java和媒体文件等媒体内容。
Ryu

0

有一种名为youtube-dl的工具,可以通过提取有关视频文件及其位置的所有必要信息,然后根据用户的规范(通过RTMPDump或直接下载)进行下载(许多YouTube视频提供多种格式)来执行此操作)。

Python源可用,并且应在Linux,Windows和Mac OS X上运行(前提是已安装Python解释器)。

我认为这就是大多数下载器的工作方式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.