Saya suka menyimpan video karena
- Saya suka buffering dan kemudian memainkannya secara bergantian di media player saya,
- Saya ingin dapat menghentikan / memulai ulang browser saya tanpa kehilangan semua video yang di-buffer, dan
- Flash sering macet dan memberi saya kotak abu - abu .
Untuk banyak situs dengan video Flash (termasuk Youtube), saya dapat menemukan file flv di /tmp
, biasanya dinamai FlashXX...
. Tetapi beberapa situs berhasil mencegah file ini muncul, misalnya http://blip.tv/file/3627639 . Mungkin ini tidak tergulung ke disk sama sekali, tapi itu akan mengejutkan karena seluruh video berdurasi satu jam dapat disangga tanpa RAM saya terkena dampaknya.
Di Firefox, saya dapat menemukan flv di dalam direktori cache-nya. Tapi saya ingin tahu bagaimana melakukan ini di Chrome. Saya mencoba mencari di bawah ~ / .cache / google-chrome / tetapi tidak menemukan apa pun yang tampak benar. Contohnya:
$ 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)
Saya mencoba melihat file yang terbuka untuk proses Flash, tetapi tidak melihat ada file Flash yang dihapus, yang seharusnya ada di bawah ini:
$ 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
Saya mencoba strace
semua proses chrome untuk apa pun yang tampak seperti menulis file:
strace -p (pgrep chrome|xargs -I_ echo -p _)
tetapi melihat write
/ writev
/ select
panggilan hanya menunjuk saya ke beberapa FD yang /proc/_/fd/
menunjukkan pipa / soket (mungkin untuk proses berbicara satu sama lain). Juga mencoba hal yang sama pada npviewer.bin
prosesnya.
Saya juga mencoba untuk hanya memeriksa semua file yang ditunjukkan /proc/*/fd/
( proses apa pun ) yang baru-baru ini dimodifikasi, tetapi tidak menemukan apa pun yang tampak seperti mengandung flv. Saya juga mencoba pemeriksaan yang sama pada file yang baru dimodifikasi di bawah ~/.cache/google-chrome/
.
Jika itu membuat perbedaan, saya menggunakan rilis saluran dev Chrome, yang saya percaya (selalu?) Menggunakan implementasi Flash aman sendiri. Pada saat pembaruan ini, saya menggunakan dev Chrome 10.0.648.45. Menurut http://www.adobe.com/software/flash/about/ Saya menjalankan 10.2.152.27. Saya sudah mencoba beberapa kotak Ubuntu sekarang. Saya juga sudah mencoba beberapa kotak Ubuntu sekarang, dengan hasil yang sama.
Adakah yang ingin menusuk ini?
Jawaban:
Saya mengamati bahwa plugin Flash baru-baru ini menyimpan file di / tmp, tetapi mereka menggunakan trik menghapusnya dan menjaga filehandle terbuka untuk menjaga mereka tetap hidup. Ini berarti mereka masih disimpan di drive (selama filehandle dibuka oleh plugin flash), tetapi mereka tidak terlihat dalam daftar direktori (karena file telah dihapus).
Saya menulis tentang ini beberapa waktu: mendapatkan video flash dari file yang hampir dihapus
Tetapi itu semua tergantung pada versi plugin Flash. Ini digunakan untuk menyimpan film di / tmp atau di cache browser juga.
sumber
Memeriksa / proc // fd / melakukan trik untuk saya:
File 11 , yang ditandai sebagai "(dihapus)", masih menunjuk ke file yang awalnya dibuat di / tmp /, jadi itu tidak sepenuhnya dihapus:
melakukan:
akan mereproduksi file FLV.
Berikut ini adalah baris perintah yang cukup praktis yang diadaptasi dari prosedur di atas. Mungkin memerlukan sedikit penyesuaian untuk distribusi / instalasi Anda dan proses apa yang biasanya Anda jalankan.
Anda dapat mengganti
flash
dengannpviewer
, gantivlc
denganmplayer
:sumber
mplayer 11 -dumpstream -dumpfile outputname
Streaming flash sebagian besar waktu adalah file sederhana didapat dengan permintaan http.
Untuk video Anda di
http://blip.tv/file/3627639
Di Google Chrome Anda dapat memeriksa permintaan jaringan (
ctrl + shift + i
) mencari yang terlama untuk diselesaikan dalam kasus Anda:klik dan salin / tempel url dari bidang 'Minta URL', ke tab baru
http://blip.tv/file/get/Fosslc-2...to823.flv?showplayer=20110401114509&source=1
sumber
Yang,
Ya, ada di ~ / .cache / google-chrome / Cache (well, saya sudah menginstal Chromium jadi saya menemukannya di ~ / .cache / chromium / Cache).
Jika Anda menonton video dan urutkan berdasarkan stempel waktu:
Kemudian jika Anda menjalankan perintah file Anda akan melihat mana yang Flash:
Oke, saya menginstal Google Chrome untuk memeriksanya.
Sepertinya direktori untuk Google Chrome sedikit berbeda dari Chromium.
Menggunakan teknik yang sama (di sini menentukan ID proses browser, output menghapus beberapa kolom untuk kejelasan):
sumber
menggunakan chromium 11.0.666.0, dan plug-in flash 10.2.152
grepping for npviewer tidak menghasilkan proses flash untuk saya, tetapi grepping untuk flash tidak:
pada dasarnya hal yang sama seperti jyap di atas disarankan dengan
dan Anda dapat melanjutkan seperti di atas ...
sumber
Coba daftar file yang terbuka.
sumber
Beberapa pemain yang lebih baru buffer dalam memori untuk mencoba membuatnya tidak mungkin bagi orang untuk menggunakan trik ini. Anda tidak akan bisa mendapatkan apa pun dalam hal itu.
sumber
Saya memperbaiki masalah ini. Inilah langkah-langkahnya
lihat http://www.arulraj.net/2011/03/google-chrome-download-video.html
sumber
Untuk Chrome terbaru di Linux:
Identifikasi pid dari plugin Flash yang digunakan oleh Chrome:
seperti yang sekarang disebut plugin
libgcflashplayer
.Identifikasi file Flash yang dibuka oleh proses plugin Flash ini:
atau
Cari file yang dihapus.
Salin file dari
/proc/[pid]/fd/[fileno]
kerecovered_file.flv
sumber
Saya menggunakan chrome 11.06 di Ubuntu 10.04. Saya menemukan file flv saya di ~ / .cache / google-chrome / Default / Cache. Coba a
sumber
Sedikit tip dari saya. Ini berfungsi di Ubuntu 10.04.
Sekarang Anda dapat menjadwalkan skrip ini dengan crontab. Ini bisa dioptimalkan sehingga tidak ada file FLV duplikat.
sumber
Menggunakan Firefox di Kubuntu:
sumber
Saya punya cara lain untuk melakukannya berdasarkan pada deskriptor file yang ditemukan di / proc (saya menggunakan bash modern dalam beberapa baris)
sumber