В 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
Вкл. Новые версии ubuntu try
find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
Mozilla, похоже, слишком часто меняет местоположение. Кроме того, имя буфера не совпадает с именем видео, поэтому поиск корневого файла из кучи также затруднен. Таким образом, сохранение кэшированного файла не является последовательным решением. Если установка настольной программы в порядке, ClipGrab - лучший инструмент там. Вы можете
Я использую SMplayer YouTube. Он поставляется с Smplayer, который вы устанавливаете в программном центре ubuntu. Он записывает видео с YouTube. очень простой и простой в использовании.
Я использую SMplayer YouTube. Он поставляется с Smplayer, который вы устанавливаете в программном центре ubuntu. Он записывает видео с YouTube. очень простой и простой в использовании.
Для общеприменимого метода, который работает с chrome или firefox, попробуйте эту небольшую программу под названием flashcache . Он копирует флэш-видео, воспроизводимые в текущий каталог.
Мой патч добавляет параметр -p
, который заставляет скрипт воспроизводить видео с помощью mplayer
вместо того, чтобы делать копии файлов.
Хотя я не ответил напрямую на этот вопрос, я столкнулся с той же проблемой, и после некоторого поиска нашел Clipgrab , который намного проще в использовании.
Если вы перейдете к папке / 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-видео-потоки-в-Linux /
Насколько я знаю, это связано не с firefox и natty, а с флэш-обновлением ...
Вы можете поймать http-поток с помощью wireshark
или использовать инструмент, например youtube-dl
, чтобы получить файл фильма.
Но помните, что это может быть не законным, поэтому проверьте свое местное законодательство ...
Этот скрипт будет делать это:
#!/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
Ubuntu 12.04 (Precise) - Firefox 11 Инструкции Измененная версия скрипта bash 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, но откладывать стиль программирования C немного:)
Вы можете использовать несколько аддонов Firefox, чтобы извлекать FLV-файлы со многих веб-сайтов, таких как Youtube.
Ниже я покажу, как это сделать MANUALLY с последней версией плагина Flash.
$ lsof -n | grep Flash
, которая показывает файлы (даже файлы памяти! ) и фильтрует те, которые имеют Flash
в их имени. plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)
. Теперь есть /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!
Mozilla, похоже, слишком часто меняет местоположение. Кроме того, имя буфера не совпадает с именем видео, поэтому поиск корневого файла из кучи также затруднен. Таким образом, сохранение кэшированного файла не является последовательным решением. Если установка настольной программы в порядке, ClipGrab - лучший инструмент там. Вы можете
Я использую minitube
, клиент youtube, который хранит флеш-файлы на /tmp
Вы должны использовать flashgot для загрузки видео.
Я использую minitube
, клиент youtube, который хранит флеш-файлы на /tmp
Вы можете использовать несколько аддонов Firefox, чтобы извлекать FLV-файлы со многих веб-сайтов, таких как Youtube.
Ниже я покажу, как это сделать MANUALLY с последней версией плагина Flash.
$ lsof -n | grep Flash
, которая показывает файлы (даже файлы памяти! ) и фильтрует те, которые имеют Flash
в их имени. plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)
. Теперь есть /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!