В Maverick была возможность загружать Flash-видео с таких сайтов, как YouTube, Vimeo и т. Д., Копируя flashxx**
файл из /tmp
каталога в другое место перед закрытием окна. Но в Firefox 4 в Natty это больше не работает. Зачем?
В Maverick была возможность загружать Flash-видео с таких сайтов, как YouTube, Vimeo и т. Д., Копируя flashxx**
файл из /tmp
каталога в другое место перед закрытием окна. Но в Firefox 4 в Natty это больше не работает. Зачем?
Ответы:
Обновление для плагина flash изменило местоположение /tmp
на каталог кеша Firefox (например ~/.mozilla/firefox/bq95m4w1.default/Cache
). К сожалению, кэшированный флэш-файл не так легко найти, как раньше, но это возможно.
Следующая команда выводит список всех флэш-файлов в вашем кеше Firefox.
find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
На более новых версиях убунту попробуй
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
Это будет список всех ваших загруженных флэш-потоков. Для этого примера есть 2 флеш-видео из моего браузера 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
получить файл фильма.
Но помните, что это не может быть законным, поэтому проверьте ваше местное законодательство ...
Вы должны использовать flashgot для загрузки видео.
Ubuntu 12.04 (Precise) - инструкции для Firefox 11 Модифицированная версия bash-скрипта chlumma1.
С помощью текстового редактора сохраните приведенный ниже код в файл с именем «getvids.sh». Переместите его в место, где вы хотите сохранить видео. Щелкните правой кнопкой мыши по файлу, перейдите в Свойства, измените разрешения на «Разрешить выполнение в качестве программы».
Все, что вам нужно сделать, это щелкнуть скрипт, выбрать «Запустить в терминале», и он сохранит все видеофайлы в этом каталоге. Чтобы сохранить все видео, оно должно быть загружено в ваш браузер. Он будет сохранять видео практически с любого веб-сайта, включая YouTube, Vimeo, Dailymotion, Metacafe, LiveLak, 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, но немного откладывает цикл программирования на C;)
Последние версии плагина flash скрывают временный файл, помечая его как удаленный. Практически видеопоток загружается в «удаленный файл». Однако даже если файл удален, если файл открыт процессом, вы можете найти его дескриптор файла и, следовательно, содержимое файла.
Этот простой скрипт распечатывает файловые дескрипторы открытых 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 View Post ]
Я надеюсь, что это поможет вам. Дайте мне знать, если это сработает.
Для общепринятого метода, который работает с Chrome или Firefox, попробуйте эту маленькую программу под названием flashcache . Копирует флэш-видео, которые в данный момент воспроизводятся, в текущий каталог.
Мой патч добавляет опцию, -p
которая заставляет скрипт воспроизводить видео, mplayer
а не делать копии файлов.
перейдите по этой ссылке ( ~/.mozilla/firefox/ewzggcll.default/Cache
)
Если я действительно не запутался (не думаю), что «ewzggcll» не будет в вашей машине. Вы обнаружите случайную коллекцию букв (и, возможно, цифр?), Которая, скорее всего, будет уникальной для вашей установки Linux и Firefox. Тем не менее, эта странно выглядящая случайная коллекция важна, потому что она важна для получения кеша.
Надеюсь это поможет! (НТН)
Я использую SMplayer YouTube. Он поставляется с Smplayer, который вы устанавливаете в программном центре Ubuntu. Это запись видео на YouTube. очень простой и удобный в использовании.
Этот скрипт сделает это:
#!/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
Мозилла, похоже, слишком часто меняет местоположение. Кроме того, имя буфера не совпадает с именем видео, поэтому поиск нужного буфера из кучи также затруднен. Поэтому сохранение кэшированного файла не является последовательным решением. Если установка настольной программы в порядке, ClipGrab - лучший инструмент. Вы можете
Вы также можете использовать keepvid.com для многих сайтов потокового видео. Это требует, чтобы Java был на ваших машинах, хотя. После установки просто вставьте URL-ссылку и сохраните ее в различных форматах, включая mp4 или WebM.
Самый простой способ - использовать аддон CacheViewer Continued 0.8 для Firefox.
после установки нажмите Ctrl + Shift + C, чтобы открыть, а затем нажмите Показать все, и после того, как вы сможете искать определенный кэш, такой как 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