如何从流媒体网站访问 Flash 文件?

如何从流媒体网站访问 Flash 文件?

在 Maverick 中,有一个选项可以从 YouTube、Vimeo 等网站下载 Flash 视频,方法是在关闭窗口之前将目录flashxx**中的文件复制/tmp到另一个位置。但在 Natty 中的 Firefox 4 中,这个选项不再起作用。为什么?

答案1

您可以使用多个 Firefox 插件从许多网站(例如 Youtube)提取 FLV 文件。

下面我将展示如何使用最新版本的 Flash 插件手动执行此操作。

  1. 访问 YouTube 视频并等待其完全下载。
  2. 然后,从命令行运行命令

    $ lsof -n | grep Flash

    显示文件(甚至记忆Flash文件!),并过滤名称中包含的文件。

  3. 你会得到类似

    plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)

    现在有一个/tmp/FlashXXVkHEM6但是已被删除。

  4. 在 Linux 中,如果删除了某个文件,则只有关闭之前打开该文件的所有程序后,该文件才会真正消失。也就是说,Flash 插件使用了一种技巧来隐藏 /tmp/FlashXXVkHEM6 文件。它会创建该文件并立即删除deletes。但由于 Flash 插件一直在运行,因此它显然仍可以使用该文件。

  5. 从上面的行中我们注意到数字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 视频!

答案2

Flash 插件的更新将位置从 更改/tmp为 Firefox 缓存目录(例如~/.mozilla/firefox/bq95m4w1.default/Cache)。遗憾的是,缓存的 Flash 文件不像以前那么容易找到,但这是可能的。

以下命令列出 Firefox 缓存中的所有 Flash 文件。

find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash

在较新版本的 ubuntu 上尝试

find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash

答案3

如果您导航到 /proc 文件夹,您将看到一堆以数字命名的文件夹,其中包括与第二个字段中的数字匹配的文件夹。

现在导航到此文件夹,然后导航到其子文件夹“fd”。在此文件夹中,您将看到一整组数字。这些数字与文件描述符本身有关。

在此文件夹中运行ls -l,您将看到每个数字都链接到管道、套接字或文件。

其中,第四个字段的数字将符号链接到我们之前找到的 /tmp/Flash* 文件。

要测试这是否是正确的文件,您可以通过 mplayer 或 vlc ( mplayer filedescriptornumber/ vlc filedescriptornumber) 运行它。如果您找不到文件名,请尝试ls -l | grep Flash

为了方便起见,在控制台中尝试此命令:

stat -c %N /proc/*/fd/* 2>&1|awk -F[\`\'] '/Flash/{print$2}'

输出将会像这样:

/proc/4691/fd/17
/proc/4691/fd/18

这将列出您下载的所有 Flash 流。例如,我的 Firefox 4 浏览器中有 2 个 Flash 视频。如果您想复制它,只需使用此命令:

cp /proc/4691/fd/17 ~/Videos/Flash/sample.flv

来源:http://n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/

答案4

据我所知,这不是由于 Firefox 或 Natty 造成的,而是由于 Flash 更新……

您可以捕获 http 流wireshark或者使用类似的工具youtube-dl来获取电影文件。

但请记住,这可能不合法,因此请检查当地的立法......

相关内容