在 Maverick 中,有一个选项可以从 YouTube、Vimeo 等网站下载 Flash 视频,方法是在关闭窗口之前将目录中的flashxx**文件复制/tmp到另一个位置。但是在 Natty 的 Firefox 4 中,这不再起作用。为什么?
use*_*124 28
您可以使用多个 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 视频!
小智 26
Flash 插件的更新将位置从/tmpFirefox 缓存目录(例如~/.mozilla/firefox/bq95m4w1.default/Cache)更改为。不幸的是,缓存的闪存文件不像以前那么容易找到,但它是可能的。
以下命令列出了 Firefox 缓存中的所有 Flash 文件。
find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
Run Code Online (Sandbox Code Playgroud)
在较新版本的 ubuntu 上尝试
find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
Run Code Online (Sandbox Code Playgroud)
如果您导航到您的 /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}'
Run Code Online (Sandbox Code Playgroud)
输出将是这样的:
/proc/4691/fd/17
/proc/4691/fd/18
Run Code Online (Sandbox Code Playgroud)
这将列出您下载的所有 Flash 流。例如,我的 Firefox 4 浏览器中有 2 个 Flash 视频。如果要复制它,只需使用以下命令:
cp /proc/4691/fd/17 ~/Videos/Flash/sample.flv
Run Code Online (Sandbox Code Playgroud)
来源:http : //n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/
这个小脚本会将您下载的 Flash 文件保存到自定义目录。
制作要保存文件的目录,例如 ~/Videos/flvs
mkdir ~/Videos/flvs
Run Code Online (Sandbox Code Playgroud)打开 gedit 并复制并粘贴此脚本。
#!/bin/bash
# flvcache script
CACHE=~/.mozilla/firefox/*.default/Cache
OUTPUTDIR=~/Videos/flvs
MINFILESIZE=2M
for f in `find $CACHE -size +$MINFILESIZE`
do
cp "$f" "$OUTPUTDIR/$o"
done
nautilus "$OUTPUTDIR"&
Run Code Online (Sandbox Code Playgroud)将文件另存为saveflashall.sh,然后为文件添加可执行权限
chmod +x saveflashall.sh
Run Code Online (Sandbox Code Playgroud)然后运行它。
./saveflashall.sh
Run Code Online (Sandbox Code Playgroud)然后它会打开上面创建的第一个文件夹中的文件。定制以包含所有文件(适用于 mpeg 和 mp4),而不仅仅是 flvs。
学分转到http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html
| 归档时间: |
|
| 查看次数: |
113414 次 |
| 最近记录: |