这似乎是一个有点奇怪的要求:我想下载我所看到的 YouTube 视频。我知道我必须使用 wireshark 之类的程序来捕获数据包,而且我知道这是可能的。假设我的网络上有 3 台计算机和 1 部智能手机。假设我在手机上观看 YouTube 视频。我现在想在任何一台计算机上录制此视频,以便我以后可以观看(录制的意思是捕获数据包,这样我就不必再次下载并浪费带宽)。有什么程序可以为我做到这一点吗?我想要这个的原因是我用多媒体共享在电视上观看 YouTube 视频。现在,一旦我看到视频,如果我想在稍后的时间观看,我必须再次下载整个视频。
答案1
我提出一个更简单的解决方案!
设置一台装有 Linux 的计算机,也许是 Raspberry Pi,以减少持续功耗。嗅探您的家庭网络以查找 youtube http 请求。使用 下载视频并将youtube-dl
其保存到您的电视可以访问的驱动器中。它不会立即或节省带宽,但您不必将原始数据包重新组装成视频。
使用 apt-get 和 Update 安装 Youtube-DL
sudo apt-get install -y youtube-dl && sudo youtube-dl -U && sudo youtube-dl -U
下载 Youtube 视频以供离线观看
youtube-dl WebAddressOfYoutubeVideo
答案2
据我所知,您想从 Youtube 下载视频文件,这并不是很困难,并且互联网上有很多不同的服务可以做到这一点。
例如使用此服务 -http://savefrom.net 假设你想下载视频,有地址https://www.youtube.com/watch?v=TTqpEJh03fI- 你去http://savefrom.net将视频地址粘贴到搜索栏中,按下载 - 服务将在页面右侧带来一些直接下载链接,其中包含不同的视频格式和质量(FLV,MP4,3GP),然后选择最适合您的一个并在您的电脑上下载视频文件。
答案3
如果我要尝试这样做,我会先安装一个(透明或非透明的)HTTP 代理,然后开始摆弄它的选项来缓存 youtube.com 上的所有内容
我不知道 youtube.com 是否支持 HTTP 缓存,如果不支持,则可能需要破解 HTTP 代理的源。
这(希望)可以防止您的手机重复下载视频,但您的电视可能会要求更高质量的视频,否则您的手机将无法处理。这是另一个问题。
答案4
如果您知道在播放视频之前想要保留它,那么您可以使用扩展、插件或用户脚本(我推荐 YousableTubeFix)。
如果你不知道您想在开始之前保留它,那么除非您碰巧有一个数据包嗅探器由于某种原因在后台不断运行,否则您唯一的选择就是从浏览器缓存中复制它(这在智能手机上可能很困难)。
问题在于,视频流网站不仅在流式传输时锁定视频文件(这意味着您无法复制它),而且还用标志对其进行标记,导致操作系统在锁关闭后立即删除它,因此您无法强行关闭锁。
最好的办法是使用类似解锁者复制它。不要关闭锁,因为文件将被删除!而是使用它的复制函数从缓存中复制文件并重命名。
您需要在开始播放视频之前或视频仍处于锁定状态时清除浏览器缓存,以便更轻松地识别正确的文件(也可以按大小对文件进行排序,因为视频往往最大)。
更新:
以上信息适用于旧版本的 Chrome。在较新的版本(~21、22 左右及以上?)中,Chrome 不再使用临时目录中的锁定临时文件。相反,它现在将流媒体视频保存到用户数据目录(例如%localappdata%\Google\Chrome\User Data\Default\Cache
),并且可以轻松从操作系统(例如 Windows 资源管理器)复制文件。但是它们仍然没有描述性文件名,必须先识别它们。如果您在开始播放视频之前先清除浏览器缓存,然后按大小对文件进行排序,这会更容易。
这使得从手机复制缓存的视频变得更加容易。
但请注意,这仍然只适用于某些视频,例如 YouTube 上的视频;使用其他流媒体视频方式的网站,例如实时流媒体传输协议仍然无法工作,因为他们仍然使用“原生文件”在 Windows 中(并且可能临时文件在 *nix/Mac 中)。因此,它们仍然必须使用相同的流捕获工具进行“翻录”像之前一样。