Flash内容下载

Flash内容下载,flash,flv,playback,Flash,Flv,Playback,我一直在想,像youtube这样的网站(潘多拉做mp4s) 通过flash播放器播放他们的音乐 播放每首曲目时,它们都会下载到用户的计算机上,例如/tmp/FlashXX***** 这允许用户将flv移出该文件夹,以便以后播放 然而当用户将flv移出/tmp文件夹时,播放器会继续非常愉快地播放音乐/视频。flash player如何处理文件的删除,为什么不抛出错误 更重要的是,如果玩家在没有FLV的情况下玩得很开心,为什么首先要将FLV下载给用户?即使从临时文件夹中删除文件,内容仍会继续播放

我一直在想,像youtube这样的网站(潘多拉做mp4s)

  • 通过flash播放器播放他们的音乐
  • 播放每首曲目时,它们都会下载到用户的计算机上,例如/tmp/FlashXX*****
这允许用户将flv移出该文件夹,以便以后播放

然而当用户将flv移出/tmp文件夹时,播放器会继续非常愉快地播放音乐/视频。flash player如何处理文件的删除,为什么不抛出错误


更重要的是,如果玩家在没有FLV的情况下玩得很开心,为什么首先要将FLV下载给用户?

即使从临时文件夹中删除文件,内容仍会继续播放,因为Flash已将文件读取到内存中以显示它。从概念上讲,这与将本地存储的图像拖动到浏览器中时,如果删除该文件,浏览器不会停止显示图像的原因相同

至于文件被存储的原因,它只是被缓存,就像浏览器显示的任何其他文件一样,这样,如果你重新加载页面,你就不必(一定)重新加载媒体文件


对于视频,可能会有一些警告——例如,如果你在视频中向前或向后搜索,我不能保证如果删除了缓存版本,视频是否会从内存中播放。。。我可以想象,在某些情况下,Flash无法将整个电影保存在内存中。但一般情况下,答案应如下所述。

即使从临时文件夹中删除文件,内容仍会继续播放,因为Flash已将文件读入内存以显示它。从概念上讲,这与将本地存储的图像拖动到浏览器中时,如果删除该文件,浏览器不会停止显示图像的原因相同

至于文件被存储的原因,它只是被缓存,就像浏览器显示的任何其他文件一样,这样,如果你重新加载页面,你就不必(一定)重新加载媒体文件


对于视频,可能会有一些警告——例如,如果你在视频中向前或向后搜索,我不能保证如果删除了缓存版本,视频是否会从内存中播放。。。我可以想象,在某些情况下,Flash无法将整个电影保存在内存中。但作为一般情况,答案应该如这里所述。

我假设您描述的是*nix系统上的行为

他们可能只是在使用、或或之类的东西监视文件系统。如果现代版本的Windows允许您移动临时的.flv文件,我会感到惊讶,如果flash没有因为它而关闭,那就太糟糕了


但是,是的,我猜在你的操作系统上,flash player在文件移动时不会感到不安,因为它会收到一个新路径的句柄,以防需要再次读取文件。如果在播放长时间(比如说,一个小时)的视频时故意更改权限或损坏或删除.flv,会发生什么情况?

我假设您描述的是*nix系统上的行为

他们可能只是在使用、或或之类的东西监视文件系统。如果现代版本的Windows允许您移动临时的.flv文件,我会感到惊讶,如果flash没有因为它而关闭,那就太糟糕了


但是,是的,我猜在你的操作系统上,flash player在文件移动时不会感到不安,因为它会收到一个新路径的句柄,以防需要再次读取文件。如果在播放长视频(比如说,一小时)时故意更改权限或损坏或删除.flv会发生什么情况?

这实际上与缓存无关。相反,它的工作原理是Unix文件系统的工作方式。打开文件时,将读取其inode并指示数据在磁盘上的位置。当文件被移动或删除(“取消链接”)时,inode将被移动到新位置或从目录中删除。但是,它所指向的数据在不存在对该inode的引用之前不会失效。换句话说,只要文件保持打开状态,删除或移动它对读取该文件的程序没有影响

这不是Windows文件系统的工作方式,这会导致在尝试删除正在使用的文件时出现常见的“文件已锁定”问题。(免责声明:NTFS可能不支持硬链接,但我敢肯定FAT就是这样。)

它工作得非常好,有时程序甚至会使用一种技巧,通过创建一个文件并立即“删除”它来自动清理它,同时保持它的打开状态。这样,临时文件就可以继续使用,直到程序处理完它,这时它会自动“消失”

顺便说一句,如果您移动那些希望能够关闭和重新打开临时文件的程序,它们将变得混乱。您可以通过使用硬链接制作“副本”来避免这种情况

ln /tmp/Fl* .
此命令将为临时文件创建Flash引用的inode副本,并将其复制到当前目录中。它实际上并不复制文件的内容,只创建对磁盘上相同数据的第二个引用。这样,当Flash关闭时,您仍然有一个指向它发布的数据的“指针”

我已经有一段时间没有研究过这个话题了,我可能弄错了一些术语,所以我建议如果你想进一步理解,请阅读inode和如何工作

从维基百科链接:

解除链接的过程将名称与卷上的数据分离,而不销毁关联的数据。只要至少有一个指向数据的链接仍然存在,数据仍然可以访问。删除最后一个链接后,空间将被视为空闲空间


这实际上与缓存无关。相反,它的工作原理是Unix文件系统的工作方式。Whe