У Маверику була можливість завантажувати флеш-відео з таких сайтів, як YouTube, Vimeo тощо, скопіювавши flashxx**
файл у /tmp
каталозі в інше місце, перш ніж закрити вікно. Але у Firefox 4 у Natty це більше не працює. Чому?
У Маверику була можливість завантажувати флеш-відео з таких сайтів, як YouTube, Vimeo тощо, скопіювавши flashxx**
файл у /tmp
каталозі в інше місце, перш ніж закрити вікно. Але у Firefox 4 у Natty це більше не працює. Чому?
Відповіді:
Оновлення флеш-плагіну змінило місце розташування з /tmp
кеш-файлу Firefox (наприклад ~/.mozilla/firefox/bq95m4w1.default/Cache
). На жаль, кешований флеш-файл знайти не так просто, як раніше, але це можливо.
Наступна команда перераховує всі флеш-файли у вашому кеші Firefox.
find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
На новіших версіях ubuntu спробуйте
find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
file ~/.mozilla/firefox/*.default/Cache/* | grep Flash
? Схоже, в каталозі кешу немає підкаталогів, які могли б виправдати використання find
.
Ви можете використовувати кілька додатків Firefox, щоб витягти файли FLV з багатьох веб-сайтів, таких як Youtube.
Я покажу нижче, як це зробити РУЧНО з останньою версією плагіна 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 продовжує працювати, він, очевидно, все ще може його використовувати.
З наведеного рядка відзначаємо номер 2461
, який є ідентифікатором процесу. У вашому випадку це буде, мабуть, інакше. Потім бігайте
$ 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!
Якщо ви перейдете до своєї папки / 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
Це список усіх завантажених флеш-потоків. Для цього прикладу є два флеш-відео з мого браузера firefox 4. Якщо ви хочете скопіювати його, просто скористайтеся цією командою:
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/
Цей маленький сценарій дозволить зберегти завантажені флеш-файли у власну директорію.
складіть каталог, де ви хочете зберегти файли, наприклад ~ / Videos / flvs
mkdir ~/Videos/flvs
відкрити 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"&
збережіть файл як saveflashall.sh, а потім додайте до нього виконавчі дозволи
chmod +x saveflashall.sh
потім запустіть його.
./saveflashall.sh
Потім він відкриє файли в першій папці, створеній вище. Індивідуальний, щоб включати всі файли (працювали для mpeg та mp4) замість лише flvs.
Кредити переходять на http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html
Наскільки я знаю, це не завдяки firefox, ні natty, а спалаху оновлення ...
Ви можете зафіксувати http-потік за wireshark
допомогою інструменту, як youtube-dl
отримати файл фільму.
Але пам’ятайте, що це може бути не законно, тому перевірте місцеве законодавство ...
Для завантаження відео слід використовувати флеш-диск .
Ubuntu 12.04 (точно) - Інструкції для Firefox 11 Змінена версія баш-сценарію chlumma1.
За допомогою текстового редактора збережіть код нижче у файлі під назвою "getvids.sh". Перемістіть його до місця, куди потрібно зберегти відео. Клацніть правою кнопкою миші на файл, перейдіть до Властивості, Змініть дозволи на "Дозволити виконання як програма".
Все, що вам потрібно зробити, це натиснути скрипт, вибрати "Запустити в терміналі", і це збереже всі відеофайли в цей каталог. Щоб зберегти ціле відео, його потрібно закінчити завантажувати у вашому браузері. Це збереже відео майже з будь-якого веб-сайту, включаючи youtube, vimeo, dailymotion, metacafe, liveleak, facebook . Просто видаліть усі відеофайли, які ви не хочете.
(Якщо потрібне відео не зберігається, веб-сайт, ймовірно, використовує патентний формат потоку, який не може бути збережено жодною програмою пошуку кешу. Приклади: Hulu, netflix, деякі відео з YouTube?) Також плеєр VLC - це чудово підходить для перегляду флеш-відео.
#!/usr/bin/env bash
# getvids.sh [save_folder]
SAVE_FOLDER="$HOME" # User editable
# If the below option is used, then this script should be run in a terminal.
#CPMOD="-i" # Uncomment to prevent file overwrites
PATERN="libflashplayer"
ALL_PID=`pgrep -f $PATERN`
if [ $? -eq 1 ]; then
echo ERROR: Flashplayer not running
exit 1
fi
if [ ! -z $1 ]; then
echo "Setting save location: $1"
SAVE_FOLDER="$1"
fi
if [ ! -d "$SAVE_FOLDER" ]; then
echo "Save location doesn't exist: $SAVE_FOLDER"
exit 1
fi
for PID in $ALL_PID; do
declare -a OUTFILES=($(ls -lt1 /proc/$PID/fd | grep '/tmp/Flash' | sed 's/^.*\/tmp\///' | sed 's/\ .*$//'))
declare -a FDS=($(ls -lt1 /proc/$PID/fd | grep '/tmp/Flash' | awk '{ print $9 }' ))
for ((i=0; i<${#FDS[@]}; i++)); do
saveas="$SAVE_FOLDER/${OUTFILES[i]}.flv"
echo "Copying video ${FDS[i]} to $saveas"
cp $CPMOD "/proc/$PID/fd/${FDS[i]}" "$saveas"
done
done
Ті, хто трохи знає про термінал, можуть відредагувати перші дві змінні та досягти трохи додаткової функціональності. Крім того, для перегляду файлів у прямому ефірі ви можете ввести цей термінал, щоб дізнатися, де вони знаходятьсяfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done
PS. Крім того, чудова робота chlumma1, але трохи відкладіть петлі стилю програмування;)
Останні версії флеш-плагіна приховують тимчасовий файл, позначаючи його видаленим. Практично відеопотік завантажується у "видалений файл". Однак, навіть коли файл видалений, якщо файл відкривається процесом, ви можете знайти його дескриптор файлів, а отже, і вміст файлу.
Цей простий скрипт виводить дескриптори файлів відкритих Flash-відео:
file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d:
І, ймовірно, ви хочете створити звичайний файл з дескриптора файлу, наприклад:
cp $(file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d: | head -n 1) video.avi
Інакше дескриптор файлу не дуже зручний (пам’ятайте, це видалений файл!)
Метод повинен працювати незалежно від вашого браузера.
Гей, ця проблема існувала вже в 10.10. Отже, щоб вирішити це, спробуйте це:
None of the methods described by previous posters are as convenient as just copying the flash file from the tmp directory.
Therefore, what I did was downgrade my Flash to 10.1.102.64
The download link for older versions of flash is http://kb2.adobe.com/cps/142/tn_14266.html
Download the (large) file named "Flash Player 10.1.102.64 and 9.0.289.0".
After downloading, extract the file named flashplayer10_1r102_64_linux.tar.gz
From this file extract libflashplayer.so and overwrite the file at /usr/lib/flashplugin-installer (you will need root privileges, try gksudo nautilus)
Restart Firefox and your flash videos will land up in the /tmp directory as before! This won't work for Google Chrome, it will continue to use the latest version of Flash.
Note: For the above steps to work, a version of Adobe Flash should have been previously installed.
[цитується з цього сайту: розміщено chetancrasta Переглянути допис ]
Я сподіваюся, що це вам допоможе. Повідомте мене, якщо це спрацює.
Для загальноприйнятого методу, який працює з хромом або firefox, спробуйте цю маленьку програму під назвою flashcache . Він копіює флеш-відео, які зараз відтворюються, у поточний каталог.
Мій патч додає опцію, -p
завдяки якій сценарій відтворює відео, використовуючи mplayer
замість того, щоб робити копії файлів.
перейдіть за цим посиланням ( ~/.mozilla/firefox/ewzggcll.default/Cache
)
Якщо я насправді не збентежений (не думаю, що так), то "ewzggcll" не буде у вашій машині. Що ви знайдете там, є випадкова колекція букв (а можливо, і цифр?), Яка, ймовірно, буде унікальною для вашої установки Linux та Firefox. Тим не менш, ця дивна випадкова збірка є важливою, оскільки вона важлива для отримання кешу [s].
Сподіваюся, це допомагає! (HTH)
Я використовую SMplayer YouTube. Поставляється з Smplayer, який ви встановлюєте в центрі програмного забезпечення ubuntu. Він записує відео на YouTube. дуже простий і простий у використанні.
Я використовую minitube
клієнт YouTube, на якому зберігаються флеш-файли/tmp
Цей сценарій буде робити це:
#!/bin/bash
PATERN="libflashplayer"
ALL_PID=`pgrep -f $PATERN`
if [ $? -eq 1 ]
then
echo ERROR: Flashplayer not runnig
exit 1
fi
for PID in $ALL_PID
do
OUTFILES=`ls -lt1 /proc/$PID/fd | grep '/tmp' | sed 's/^.*\/tmp\///' | sed 's/\ .*$//'`
INFD=`ls -lt1 /proc/$PID/fd | grep '/tmp' | cut -f 9 -d \ `
# nazev souboru do pole
i=0;
for out in $OUTFILES
do
i=`expr $i + 1`
NAMEFILE[$i]=$out
done
# nazev file desktiptoru do pole
i=0;
for out in $INFD
do
i=`expr $i + 1`
NAMEFD[$i]=$out
done
# ulozeni video dat
i=0;
for outfd in $OUTFILES
do
i=`expr $i + 1`
#echo ${NAMEFILE[$i]} ${NAMEFD[$i]}
cat /proc/$PID/fd/${NAMEFD[$i]} > ${NAMEFILE[$i]}.flv
done
done
Здається, Mozilla занадто часто міняє місцеположення. Крім того, назва буфера не є такою ж, як у відео, тому знайти правильний з кучі також важко. Тому збереження кешованого файлу не є послідовним рішенням. Якщо встановлення настільної програми нормально, ClipGrab - найкращий інструмент там. Ти можеш
Також можна використовувати Keepvid.com для багатьох веб-сайтів для потокового відео. Це вимагає, щоб java була на ваших машинах. Після встановлення просто вставте посилання на URL і збережіть його в різних форматах, включаючи mp4 або WebM
Найпростішим методом є використання додатка "CacheViewer Continued 0.8" для firefox
після встановлення натисніть ctrl + shift + c, щоб відкрити, а потім натисніть показати всі, там після того, як u може шукати певний кеш, наприклад jpeg, flv що завгодно ...... клацання лівою кнопкою миші на елементі дасть можливість зберегти, зберегти він дає необхідне розширення, наприклад .flv для флеш-відео та .jpeg для jpeg і навпаки
посилання для додатка https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api
Це все ще можливо.
Ви можете використовувати сценарій оболонки з цієї публікації про те, як відкрити / відтворити всі Flash-відео з VLC .
Щоб скопіювати всі відео, які потрібно замінити в останньому рядку сценарію vlc
, cp
та ввести каталог призначення в кінці того самого рядка.
Сподіваюся, це допоможе вам http://sahanlm.blogspot.com/2012/05/how-to-copy-google-chrome-cache-flash.html