Lubię zatrzymywać filmy, ponieważ
- Lubię je buforować, a następnie odtwarzać je jeden za drugim w moim odtwarzaczu multimedialnym,
- Chcę mieć możliwość zatrzymania / ponownego uruchomienia przeglądarki bez utraty całego buforowanego wideo oraz
- Flash często ulega awarii i daje mi szare pola .
W przypadku wielu witryn z wideo Flash (w tym Youtube) mogę znaleźć plik flv /tmp
, zwykle o nazwie FlashXX...
. Ale niektórym stronom udaje się zapobiec wyświetlaniu tego pliku, np . Http://blip.tv/file/3627639 . Możliwe, że w ogóle nie jest to buforowane na dysk, ale byłoby to zaskakujące, ponieważ cały godzinny film można buforować bez zauważalnego wpływu na moją pamięć RAM.
W przeglądarce Firefox mogę znaleźć plik flv w jego katalogu pamięci podręcznej. Ale jestem ciekawy, jak to zrobić w Chrome. Próbowałem zajrzeć pod ~ / .cache / google-chrome /, ale nie znalazłem niczego, co wyglądałoby dobrze. Na przykład:
$ 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)
Próbowałem spojrzeć na otwarte pliki dla procesu Flash, ale nie widziałem żadnych usuniętych plików Flash, które powinny znaleźć kilka odpowiedzi poniżej:
$ 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
Próbowałem przetestować strace
wszystkie procesy chrome dla wszystkiego, co wyglądało na zapisywanie pliku:
strace -p (pgrep chrome|xargs -I_ echo -p _)
ale spojrzenie na wywołania write
/ writev
/ select
wskazało mi tylko kilka FD, które /proc/_/fd/
okazały się być rurami / gniazdami (przypuszczalnie po to, by procesy mogły ze sobą rozmawiać). Próbowałem również tego samego w npviewer.bin
procesie.
Próbowałem także po prostu sprawdzić wszystkie pliki wskazane w /proc/*/fd/
( dowolne procesy), które zostały niedawno zmodyfikowane, ale nie znalazłem niczego, co wyglądałoby, jakby zawierało plik flv. Próbowałem również tego samego sprawdzenia ostatnio zmodyfikowanych plików w obszarze ~/.cache/google-chrome/
.
Jeśli robi to różnicę, korzystam z wersji dla deweloperów przeglądarki Chrome, która, jak sądzę (zawsze?), Korzysta z własnej bezpiecznej implementacji Flash. W tej chwili korzystam z Chrome 10.0.648.45 dev. Według http://www.adobe.com/software/flash/about/ korzystam z 10.2.152.27. Próbowałem już na kilku urządzeniach Ubuntu. Próbowałem też na kilku Ubuntu teraz, z tymi samymi wynikami.
Czy ktoś jeszcze chce w tym zadać cios?
Odpowiedzi:
Zauważyłem, że najnowsze wtyczki Flash przechowują pliki w / tmp, ale używają sztuczki polegającej na ich usunięciu i pozostawieniu otwartego uchwytu pliku, aby utrzymać je przy życiu. Oznacza to, że nadal są przechowywane na dysku (o ile uchwyt pliku jest otwierany przez wtyczkę flash), ale nie są widoczne na liście katalogów (ponieważ plik został usunięty).
O tym kiedyś pisałem: pobieranie filmów flash z prawie usuniętych plików
Ale wszystko zależy od wersji wtyczki Flash. Kiedyś przechowywał filmy w / tmp lub w pamięci podręcznej przeglądarki.
źródło
Sprawdzanie / proc // fd / zrobiło dla mnie lewę:
Plik 11 , ten oznaczony jako „(usunięty)”, nadal wskazuje na plik pierwotnie utworzony w / tmp /, więc nie został całkowicie usunięty:
robić:
odtworzy plik FLV.
Oto całkiem przydatna linia poleceń dostosowana do powyższej procedury. Może to wymagać drobnych zmian w dystrybucji / instalacji i typowych procesach.
Można wymienić
flash
znpviewer
wymienićvlc
zmplayer
:źródło
mplayer 11 -dumpstream -dumpfile outputname
Strumienie Flash przez większość czasu są prostymi plikami otrzymywanymi na żądanie HTTP.
Do twojego filmu na
http://blip.tv/file/3627639
W przeglądarce Google Chrome możesz sprawdzić żądania sieciowe (
ctrl + shift + i
), aby znaleźć najdłuższy termin zakończenia w twoim przypadku:kliknij go i skopiuj / wklej adres URL z pola „Poproś o adres URL”, do nowej karty
http://blip.tv/file/get/Fosslc-2...to823.flv?showplayer=20110401114509&source=1
źródło
Yang,
Tak, jest w ~ / .cache / google-chrome / Cache (cóż, mam zainstalowany Chromium, więc znalazłem go w ~ / .cache / chromium / Cache).
Jeśli oglądasz wideo i sortujesz według znacznika czasu:
Następnie, jeśli uruchomisz polecenie file, zobaczysz, które z nich to Flash:
OK, zainstalowałem Google Chrome, aby to sprawdzić.
Wygląda na to, że katalog dla Google Chrome różni się nieco od Chromium.
Stosując te same techniki (tutaj określając identyfikator procesu przeglądarki, dane wyjściowe usunęły niektóre kolumny dla przejrzystości):
źródło
używając chromu 11.0.666.0 i wtyczki flash 10.2.152
grepping dla npviewer nie wytworzył dla mnie żadnego procesu flashowania, ale grepping dla flasha:
w zasadzie to samo, co sugerowane powyżej przez jyap
i możesz następnie postępować jak wyżej ...
źródło
Spróbuj wymienić otwarte pliki.
źródło
Niektórzy z nowszych graczy buforują w pamięci, aby uniemożliwić ludziom korzystanie z tych sztuczek. W takim przypadku nie będziesz w stanie nic uzyskać.
źródło
Naprawiłem ten problem. Oto kroki
zobacz http://www.arulraj.net/2011/03/google-chrome-download-video.html
źródło
W przypadku najnowszej przeglądarki Chrome w systemie Linux:
Zidentyfikuj pid wtyczki Flash używanej przez Chrome:
od teraz wtyczka jest nazywana
libgcflashplayer
.Zidentyfikuj plik Flash otwarty przez ten proces wtyczki Flash:
lub
Poszukaj usuniętych plików.
Skopiuj plik z
/proc/[pid]/fd/[fileno]
dorecovered_file.flv
źródło
Używam chrome 11.06 na Ubuntu 10.04. Znalazłem moje pliki flv w ~ / .cache / google-chrome / Default / Cache. Wypróbuj
źródło
Mała wskazówka ode mnie. Działa to w Ubuntu 10.04.
Teraz możesz zaplanować ten skrypt za pomocą crontab. Można go zoptymalizować, aby nie było duplikatów plików FLV.
źródło
Korzystanie z przeglądarki Firefox w Kubuntu:
źródło
Mam inny sposób, aby to zrobić w oparciu o deskryptor pliku założony w / proc (używam nowoczesnego basha w kilku wierszach)
źródło