Yan*_*ang 37 video linux flash google-chrome ubuntu
我喜欢保留视频,因为
对于很多有 Flash 视频的网站(包括 Youtube),我可以在 中找到 flv 文件/tmp
,通常命名为FlashXX...
. 但是有些站点设法阻止此文件出现,例如http://blip.tv/file/3627639。这可能根本没有假脱机到磁盘,但这会令人惊讶,因为可以缓冲整个长达一小时的视频,而我的 RAM 不会受到明显影响。
在 Firefox 中,我可以在其缓存目录中找到 flv。但我很好奇如何在 Chrome 中做到这一点。我尝试查看 ~/.cache/google-chrome/ 下,但没有找到任何看起来正确的东西。例如:
$ ls -lt .cache/google-chrome/Cache/ | head
total 261492
-rw------- 1 yang yang 16621568 2010-12-05 03:41 data_1
-rw------- 1 yang yang 966656 2010-12-05 03:40 data_0
-rw------- 1 yang yang 23076864 2010-12-05 03:40 data_2
-rw------- 1 yang yang 262512 2010-12-05 03:40 index
-rw------- 1 yang yang 108412 2010-12-05 03:35 f_005603
-rw------- 1 yang yang 62607 2010-12-05 03:32 f_005602
-rw------- 1 yang yang 54998 2010-12-05 03:32 f_005601
-rw------- 1 yang yang 31127 2010-12-05 03:32 f_005600
-rw------- 1 yang yang 799389 2010-12-05 03:32 f_0055ff
$ ls -1t ~/.cache/google-chrome/Cache/* | head | xargs file
/home/yang/.cache/google-chrome/Cache/data_1: data
/home/yang/.cache/google-chrome/Cache/data_0: data
/home/yang/.cache/google-chrome/Cache/data_2: data
/home/yang/.cache/google-chrome/Cache/index: data
/home/yang/.cache/google-chrome/Cache/f_005603: GIF image data, version 89a, 600 x 471
/home/yang/.cache/google-chrome/Cache/f_005602: PNG image, 600 x 746, 8-bit colormap, non-interlaced
/home/yang/.cache/google-chrome/Cache/f_005601: PNG image, 140 x 342, 8-bit/color RGB, non-interlaced
/home/yang/.cache/google-chrome/Cache/f_005600: JPEG image data, JFIF standard 1.02
/home/yang/.cache/google-chrome/Cache/f_0055ff: JPEG image data, JFIF standard 1.02
/home/yang/.cache/google-chrome/Cache/f_0055fe: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
Run Code Online (Sandbox Code Playgroud)
我尝试查看 Flash 进程的打开文件,但没有看到任何已删除的 Flash 文件,下面的一堆答案说应该存在:
$ ps x | grep npviewer
27148 ? Rl 0:24 /usr/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin /usr/lib/flashplugin-installer/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/27135-2
27504 pts/2 S+ 0:00 grep --color=auto npviewer
$ ls -l /proc/27148/fd/
total 0
lr-x------ 1 yang yang 64 2011-02-16 13:48 0 -> /dev/null
lrwx------ 1 yang yang 64 2011-02-16 13:48 1 -> /home/yang/.xsession-errors
l-wx------ 1 yang yang 64 2011-02-16 13:48 10 -> /home/yang/.mozilla/firefox/8wy5j0z2.default/key3.db
lrwx------ 1 yang yang 64 2011-02-16 13:48 11 -> pipe:[5500575]
lrwx------ 1 yang yang 64 2011-02-16 13:48 12 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 13 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lr-x------ 1 yang yang 64 2011-02-16 13:48 14 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
l-wx------ 1 yang yang 64 2011-02-16 13:48 15 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 16 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 17 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lr-x------ 1 yang yang 64 2011-02-16 13:48 18 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
l-wx------ 1 yang yang 64 2011-02-16 13:48 19 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 2 -> /home/yang/.xsession-errors
lrwx------ 1 yang yang 64 2011-02-16 13:48 20 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lr-x------ 1 yang yang 64 2011-02-16 13:48 21 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 22 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 23 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 24 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 25 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 26 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 27 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 28 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 29 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 3 -> socket:[5496032]
lrwx------ 1 yang yang 64 2011-02-16 13:51 30 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 31 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 32 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 33 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 34 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 35 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
l-wx------ 1 yang yang 64 2011-02-16 13:53 36 -> pipe:[5500575]
lr-x------ 1 yang yang 64 2011-02-16 13:53 37 -> pipe:[5500576]
l-wx------ 1 yang yang 64 2011-02-16 13:53 38 -> pipe:[5500576]
lrwx------ 1 yang yang 64 2011-02-16 13:53 39 -> socket:[5500580]
lrwx------ 1 yang yang 64 2011-02-16 13:48 4 -> socket:[5496131]
lr-x------ 1 yang yang 64 2011-02-16 13:48 5 -> pipe:[5496139]
l-wx------ 1 yang yang 64 2011-02-16 13:48 6 -> pipe:[5496139]
lr-x------ 1 yang yang 64 2011-02-16 13:48 7 -> socket:[5496140]
l-wx------ 1 yang yang 64 2011-02-16 13:48 8 -> socket:[5496141]
lr-x------ 1 yang yang 64 2011-02-16 13:48 9 -> /home/yang/.mozilla/firefox/8wy5j0z2.default/cert8.db
Run Code Online (Sandbox Code Playgroud)
我尝试将strace
所有 chrome 进程用于任何看起来可能正在写入文件的内容:
strace -p (pgrep chrome|xargs -I_ echo -p _)
Run Code Online (Sandbox Code Playgroud)
但是看一下write
/ writev
/select
通话只向我指出了几个FDS获得/proc/_/fd/
证实是管道/插座(大概为进程相互交谈)。在npviewer.bin
过程中也尝试了同样的事情。
我还尝试简单地检查最近修改过的/proc/*/fd/
(任何进程)中指向的所有文件,但没有发现任何看起来像包含 flv.txt 的文件。我还尝试对~/.cache/google-chrome/
.
如果它有所作为,我正在使用 Chrome 的开发频道版本,我相信它(总是?)使用它自己的安全 Flash 实现。在此更新时,我使用的是 Chrome 10.0.648.45 dev。根据http://www.adobe.com/software/flash/about/我正在运行 10.2.152.27。我现在已经尝试了几个 Ubuntu 机器。我现在也尝试了几个 Ubuntu 机器,结果相同。
还有其他人想尝试一下吗?
lio*_*ori 31
我观察到最近的 Flash 插件确实将文件存储在 /tmp 中,但它们使用了删除它们并保持文件句柄打开以保持它们活动的技巧。这意味着它们仍然保留在驱动器上(只要文件句柄由 flash 插件打开),但它们在目录列表中不可见(因为文件已被删除)。
我写了一段时间:从几乎删除的文件中获取 Flash 视频
但这一切都取决于 Flash 插件的版本。它曾经将电影存储在 /tmp 或浏览器的缓存中。
oma*_*mab 24
检查 /proc//fd/ 对我有用:
$ ps x | grep npviewer
24657 ? Sl 12:33 /usr/lib/nspluginwrapper/i386/linux/npviewer.bin ...
$ cd /proc/24657/fd
$ ls -l
total 0
lr-x------ 1 omab omab 64 2011-02-11 02:13 0 -> /dev/null
lrwx------ 1 omab omab 64 2011-02-11 02:13 1 -> /home/omab/.xsession-errors
lr-x------ 1 omab omab 64 2011-02-11 02:13 10 -> /home/omab/.mozilla/firefox/og3emjry.default/key3.db
lrwx------ 1 omab omab 64 2011-02-11 02:13 11 -> /tmp/FlashXX0WG0J5 (deleted)
lr-x------ 1 omab omab 64 2011-02-11 02:13 12 -> pipe:[9004372]
...
Run Code Online (Sandbox Code Playgroud)
文件11,标记为“(deleted)”的那个,仍然指向最初在 /tmp/ 上创建的文件,所以它没有被完全删除:
$ file -L 11
11: Macromedia Flash Video
Run Code Online (Sandbox Code Playgroud)
做一个:
$ mplayer 11
Run Code Online (Sandbox Code Playgroud)
将重现 FLV 文件。
这是一个从上述过程改编的非常方便的命令行。它可能需要对您的分发/安装以及您通常运行的进程进行细微调整。
您可以替换flash
为npviewer
,替换vlc
为mplayer
:
FLASHPID=\`pgrep -f flash\`; vlc /proc/$FLASHPID/fd/\`ls -l /proc/$FLASHPID/fd | grep tmp | cut -d" " -f9\`
Run Code Online (Sandbox Code Playgroud)
小智 10
大多数情况下,Flash 流都是通过 http 请求获取的简单文件。
对于您的视频 http://blip.tv/file/3627639
在谷歌浏览器中,您可以检查网络请求 ( ctrl + shift + i
) 寻找最长的完成情况:
Fosslc-..
/file/get
Run Code Online (Sandbox Code Playgroud)
单击它并将“请求 URL”字段中的 url 复制/粘贴到新选项卡
http://blip.tv/file/get/Fosslc-2...to823.flv?showplayer=20110401114509&source=1
杨,
是的,它在 ~/.cache/google-chrome/Cache 中(嗯,我安装了 Chromium,所以我在 ~/.cache/chromium/Cache 中找到了它)。
如果您观看视频并按时间戳排序:
$ ls -rt | tail
f_00003a
f_00003b
f_00003c
f_00003d
data_2
data_3
index
data_1
f_000040
data_0
Run Code Online (Sandbox Code Playgroud)
然后,如果您运行 file 命令,您将看到哪些是 Flash:
$ file $(ls -rt | tail)
f_00003a: Macromedia Flash data (compressed), version 9
f_00003b: Macromedia Flash data (compressed), version 9
f_00003c: Macromedia Flash data (compressed), version 10
f_00003d: PNG image data, 1024 x 768, 8-bit/color RGBA, non-interlaced
data_2: data
data_3: data
index: data
data_1: data
f_000040: Macromedia Flash Video
data_0: data
Run Code Online (Sandbox Code Playgroud)
好的,我安装了谷歌浏览器来检查一下。
看起来 Google Chrome 的目录与 Chromium 略有不同。
使用相同的技术(此处指定浏览器的进程 ID,为清晰起见,输出删除了一些列):
$ lsof -p 27922 | grep Cache
chrome 27922 mem ~/.cache/google-chrome/Default/Cache/index
chrome 27922 mem ~/.cache/google-chrome/Default/Cache/data_3
chrome 27922 mem ~/.cache/google-chrome/Default/Cache/data_2
chrome 27922 mem ~/.cache/google-chrome/Default/Cache/data_1
chrome 27922 mem ~/.cache/google-chrome/Default/Cache/data_0
chrome 27922 71u ~/.cache/google-chrome/Default/Cache/index
chrome 27922 72u ~/.cache/google-chrome/Default/Cache/data_0
chrome 27922 73u ~/.cache/google-chrome/Default/Cache/data_1
chrome 27922 74u ~/.cache/google-chrome/Default/Cache/data_2
chrome 27922 75u ~/.cache/google-chrome/Default/Cache/data_3
chrome 27922 111u ~/.cache/google-chrome/Default/Cache/f_00001a
Run Code Online (Sandbox Code Playgroud)
小智 5
使用 Chromium 11.0.666.0 和 flash 插件 10.2.152
npviewer 的 grepping 没有为我生成任何 flash 过程,但是 flash 的 grepping 可以:
$ ps x | grep flash
11005 ? Rl 2:30 /usr/lib/chromium-browser/chromium-browser ...
Run Code Online (Sandbox Code Playgroud)
与上面建议的 jyap 基本相同
lsof | grep Flash
Run Code Online (Sandbox Code Playgroud)
然后你可以按照上面的方法继续......
归档时间: |
|
查看次数: |
54954 次 |
最近记录: |