在 Maverick 中,可以选择从 YouTube、Vimeo 等网站下载 Flash 视频,方法是在关闭窗口之前将目录中的flashxx**
文件复制到另一个位置。/tmp
但是在 Natty 的 Firefox 4 中,这不再起作用了。为什么?
在 Maverick 中,可以选择从 YouTube、Vimeo 等网站下载 Flash 视频,方法是在关闭窗口之前将目录中的flashxx**
文件复制到另一个位置。/tmp
但是在 Natty 的 Firefox 4 中,这不再起作用了。为什么?
您可以使用多个 Firefox 插件从许多网站(例如 Youtube)中提取 FLV 文件。
我将在下面展示如何使用最新版本的 Flash 插件手动执行此操作。
然后,从命令行运行命令
$ lsof -n | grep Flash
它显示了文件(甚至是内存文件!),并过滤到那些
Flash
以他们的名字命名的文件。你得到类似的东西
plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)
.现在,有一个,
/tmp/FlashXXVkHEM6
但它已被删除。在 Linux 中,如果一个文件被删除,只有在之前打开它的所有程序都关闭时,它才会真正消失。也就是说,Flash 插件使用了一个技巧来隐藏 /tmp/FlashXXVkHEM6 文件。它创建它并立即创建
deletes
它。但是由于 Flash 插件一直在运行,它显然仍然可以使用它。从上面的行我们注意到 number
2461
,它是进程 ID。在你的情况下,它可能会有所不同。然后,运行$ cd /proc/2461/fd
最后执行
$ ls -l
这将向您显示内存文件,特别是
lrwx------ 1 user user 64 2011-09-16 10:23 17 -> /tmp/FlashXXVkHEM6 (deleted)
数字“17”(在我的例子中)是您可以用来访问已删除
/tmp/FlashXXVkHEM6
的. 因此,只需运行$ cp 17 /tmp/myyoutubevideo.flv
然后你恢复了 Youtube 视频!
而已!您手动恢复了 Youtube 视频!
Flash 插件的更新将位置从
/tmp
Firefox 缓存目录(例如~/.mozilla/firefox/bq95m4w1.default/Cache
)更改。不幸的是,缓存的闪存文件不像以前那么容易找到,但它是可能的。以下命令列出了 Firefox 缓存中的所有 flash 文件。
在较新版本的 ubuntu 上尝试
如果您导航到您的 /proc 文件夹,您将看到一堆以数字命名的文件夹,其中包括一个与第二个字段中的数字匹配的文件夹。
现在导航到这个文件夹,然后是它的子文件夹“fd”。在此文件夹中,您将看到一整套数字。这些与文件描述符本身有关。
在此文件夹中运行
ls -l
,您将看到这些数字中的每一个都链接到管道、套接字或文件。其中,第四个字段中的数字将符号链接到我们之前找到的 /tmp/Flash* 文件。
要测试这是正确的文件,您可以通过 mplayer 或 vlc (
mplayer filedescriptornumber
/vlc filedescriptornumber
) 运行它。如果您在查找文件名时遇到问题,请尝试ls -l | grep Flash
.为了简单起见,请在控制台中尝试此命令:
输出将是这样的:
这将列出所有下载的 Flash 流。例如,我的 firefox 4 浏览器中有 2 个 flash 视频。如果要复制它,只需使用以下命令:
来源: http: //n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/
这个小脚本会将您下载的 Flash 文件保存到自定义目录中。
创建您希望保存文件的目录,例如 ~/Videos/flvs
打开 gedit 并复制并粘贴此脚本。
将文件保存为saveflashall.sh,然后给文件添加可执行权限
然后运行它。
然后它将打开上面创建的第一个文件夹中的文件。定制为包括所有文件(适用于 mpeg 和 mp4),而不仅仅是 flvs。
学分转到http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html
据我所知,这不是由于 Firefox 也不是 natty,而是 Flash 更新...
wireshark
您可以使用或使用诸如youtube-dl
获取电影文件之类的工具来捕获 http 流。但请记住,这可能不合法,因此请查看您当地的立法...
您应该使用flashgot下载视频。
Ubuntu 12.04 (Precise) - Firefox 11 Instructions chlumma1 的 bash 脚本的修改版本。
使用文本编辑器,将以下代码保存到名为“getvids.sh”的文件中。将其移动到您要保存视频的位置。右键单击该文件,转到属性,将权限更改为“允许作为程序执行”。
您所要做的就是单击脚本,选择“在终端中运行”,它将所有视频文件保存到该目录。要保存整个视频,必须在浏览器中完成加载。它将保存来自几乎任何网站的视频,包括youtube、vimeo、dailymotion、metacafe、liveleak、facebook。只需删除您不想要的任何视频文件。
(如果您想要的视频没有被保存,那么该网站可能使用了任何缓存检索程序都无法保存的专有流格式。例如:Hulu、netflix、一些 youtube 视频?)此外,VLC 播放器是一个非常适合观看 Flash 视频。
对终端稍有了解的人可以编辑前两个变量并实现一些额外的功能。或者,要实时查看文件,您可以在终端中键入以找出它们的位置
for i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done
PS。此外,出色的工作 chlumma1,但稍微放下了 C 编程风格的循环;)
Flash 插件的最新版本通过将其标记为已删除来隐藏临时文件。实际上,视频流被下载到“已删除文件”。但是,即使文件被删除,如果文件被进程打开,那么您可以找到它的文件描述符,从而找到文件内容。
这个简单的脚本打印出打开的 Flash 视频的文件描述符:
而且,您可能希望从文件描述符创建一个常规文件,例如:
否则文件描述符不是很方便(记住,它是一个被删除的文件!)
无论您的浏览器如何,该方法都应该有效。
点击此链接 (
~/.mozilla/firefox/ewzggcll.default/Cache
)除非我真的很困惑(不要这么想),否则“ewzggcll”不会出现在您的机器中。您会发现随机的字母(可能还有数字?)集合,这很可能是您的 Linux 和 Firefox 安装所独有的。尽管如此,这个看起来很奇怪的随机集合很重要,因为它对于获取缓存至关重要。
希望这可以帮助!(HTH)
虽然没有直接回答这个问题,但我遇到了同样的问题,经过一番搜索发现Clipgrab更容易使用。