![如何让 Firefox 上的 YouTube 缓存视频,以便下次播放时无需缓冲?](https://linux22.com/image/1485843/%E5%A6%82%E4%BD%95%E8%AE%A9%20Firefox%20%E4%B8%8A%E7%9A%84%20YouTube%20%E7%BC%93%E5%AD%98%E8%A7%86%E9%A2%91%EF%BC%8C%E4%BB%A5%E4%BE%BF%E4%B8%8B%E6%AC%A1%E6%92%AD%E6%94%BE%E6%97%B6%E6%97%A0%E9%9C%80%E7%BC%93%E5%86%B2%EF%BC%9F.png)
好吧,为了清楚起见,我知道如何禁用 YouTube 的新 DASH 播放,这不是我想要的。
我想做的是让 YouTube 上的视频被缓存,这样如果我下次想再次观看该视频,它就不需要再缓冲了,它会使用 Firefox 上存储的本地缓存。我该如何设置才能做到这一点?
答案1
我使用 Squid3.x 来缓存可流式传输的内容。虽然其他人报告的结果好坏参半,但我对此设置只有一个问题。如果流式传输通过 Flash 进行,则我会收到随机丢弃的流,并显示“Flash 遇到错误”的消息。不过这种情况很少发生。
我使用这个设置:
Desktop <-> RaspberryPi2 <-> RandomRouter <-> StreamingPage
在我得到 Pi 之前,Squid 实例一直在我的桌面上运行。两种情况都按描述和要求运行。
虽然我使用 Squid 和 ramfs 来缓存普通页面,但为了不消耗 PI 上的 Flash,这还不足以缓存大量数据。因此,我连接了一些随机的 USB 盘片驱动器,并让 Squid 可以访问其中的 60Gb。我只需在 Squid 的配置中启用 application/x-shockwave-Flash 的缓存即可。
然后我使用 FF 的代理选择器通过 localhost 或 raspberry 上运行的 squid 实例进行连接。除了缓存内容之外,还可能存在更多神奇之处。这可能会让您感兴趣。
在研究过程中,我发现在官方 squid 主页上,他们描述了另一种设置方法:将 shell 脚本与 squid 结合使用。我没有尝试过这种方法,但它似乎可以为某些人解决这一任务。他们还宣传了一种专为视频流缓存构建的专有解决方案。也许这对您来说是一个简单的解决方案。
如果你愿意,我可以详细介绍我的简单实现,否则请查看squid 的页面
不过,我认为我所描述的并不是你想要的。目前,我的缓存驻留在局域网中的远程主机上,而不是我用来观看流的桌面本地。但我没有感受到任何可察觉的缓冲时间,除非 USB 盘正在执行 IO。我想我应该澄清这一点。