Как я могу получить доступ к файлам Flash с потоковых сайтов?

В Maverick была возможность загружать Flash-видео с таких сайтов, как YouTube, Vimeo и т. Д., Скопировав файл flashxx** в каталоге /tmp в другое место перед закрытием окна. Но в Firefox 4 в Natty это больше не работает. Почему?

29
задан 6 February 2012 в 23:07

21 ответ

Обновление флеш-плагина изменило местоположение с /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
26
ответ дан 6 February 2012 в 23:07
-1
ответ дан 6 February 2012 в 23:07

Это все еще возможно.

Вы можете использовать сценарий оболочки из этого сообщения о том, как открывать / воспроизводить все Flash-видео с помощью VLC .

Чтобы скопируйте все видео, которые нужно заменить, в последней строке скрипта vlc на cp и укажите целевой каталог в конце той же строки.

0
ответ дан 6 February 2012 в 23:07

Самый простой способ - это использовать "CacheViewer Continued 0. 8" addon для firefox

после установки нажмите ctrl + shift + c, чтобы открыть, а затем нажмите показать все , там после того, как вы можете искать конкретный кэш, как jpeg , flv что угодно. ..... Нажатие левой кнопкой мыши на элемент даст вам возможность сохранить, сохранить его, дав необходимое расширение, как .flv для флэш-видео и .jpeg для jpeg и наоборот enter image description here

ссылка для addon https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/? src=api

0
ответ дан 6 February 2012 в 23:07

Вы также можете использовать keepvid.com для многих сайтов потокового видео. Однако для этого требуется, чтобы Java была на ваших машинах. После установки просто вставьте ссылку url и сохраните ее в различных форматах, включая mp4 или WebM

0
ответ дан 6 February 2012 в 23:07

به نظر می رسد موزیلا خیلی زود مکان را تغییر می دهد. علاوه بر این ، نام بافر همان فیلم نیست ، بنابراین یافتن سوراخ سوراخ از انبوه نیز دشوار است. بنابراین ذخیره فایل حافظه پنهان یک راه حل ثابت نیست. اگر نصب یک برنامه دسک تاپ مشکلی نیست ، ClipGrab بهترین ابزار موجود است. شما می توانید

  1. فیلم ها را جستجو کنید.
  2. کیفیت فیلم YouTube را برای بارگیری انتخاب کنید.
  3. فرمت ویدیو را برای بارگیری انتخاب کنید.
  4. فقط می توانید یک URL ویدیوی YouTube بدهید و فایل را بارگیری می کند.

ClipGrab برای بارگیری فیلم های یوتیوب در اوبونتو .

0
ответ дан 6 February 2012 в 23:07

Этот сценарий сделает это:

#!/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
1
ответ дан 6 February 2012 в 23:07

Я использую minitube , клиент youtube, который СОХРАНЯЕТ флеш-файлы на / tmp

1
ответ дан 6 February 2012 в 23:07

Я использую SMplayer YouTube. Он поставляется со Smplayer, который вы устанавливаете в центре программного обеспечения ubuntu. Он записывает видео с YouTube. очень просто и удобно.

1
ответ дан 6 February 2012 в 23:07

следуйте по этой ссылке (~/.mozilla/firefox/ewzggcll.default/Cache)

Если я действительно не запутался (не думаю), то "ewzggcll" не будет в вашей машине. То, что вы найдете, это случайная коллекция букв (и, возможно, чисел?), которая, скорее всего, будет уникальной для вашей установки Linux и Firefox. Тем не менее, эта странно выглядящая случайная коллекция важна, потому что она необходима для того, чтобы попасть в кэш[ы].

Надеюсь, это поможет! (HTH)

1
ответ дан 6 February 2012 в 23:07

Вы можете попробовать эту команду в терминал

cp \`file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print$1}'` dirname/
1
ответ дан 6 February 2012 в 23:07

Эй, эта проблема уже существовала в 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.

[цитата из этого сайта.]

Я надеюсь, что это поможет вам. Дайте мне знать, если это сработает.

1
ответ дан 6 February 2012 в 23:07

Для общепринятого метода, который работает с хромом или firefox попробуйте эту маленькую программу под названием flashcache. Она копирует флэш-видео, которое в данный момент воспроизводится, в текущий каталог.

Мой патч добавляет опцию -p, которая заставляет скрипт воспроизводить видео, используя mplayer, вместо того, чтобы делать копии файлов.

1
ответ дан 6 February 2012 в 23:07

Последние версии 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

Иначе дескриптор файла будет не очень удобен (запомните, это удаленный файл!)

Метод должен работать независимо от вашего браузера.

2
ответ дан 6 February 2012 в 23:07

Ubuntu 12.04 (Precise) - Инструкции для Firefox 11 Измененная версия сценария bash chlumma1.

В текстовом редакторе сохраните приведенный ниже код в файл с именем "getvids.sh" . Переместите его в то место, где вы хотите сохранить видео. Щелкните файл правой кнопкой мыши, выберите «Свойства», измените разрешения на «Разрешить выполнение как программа».

Все, что вам нужно сделать, это щелкнуть сценарий, выбрать «Запуск в терминале», и все видеофайлы сохранятся. в этот каталог. Чтобы сохранить видео целиком, необходимо завершить его загрузку в вашем браузере. Он сохранит видео практически с любого веб-сайта, включая youtube, vimeo, dailymotion, metacafe, liveleak, facebook . Просто удалите любые видеофайлы, которые вам не нужны.

(Если видео, которое вы хотите, не сохраняется, значит, веб-сайт, вероятно, использует проприетарный формат потока, который не может быть сохранен ни одной программой для извлечения кеша. Примеры: Hulu , netflix, некоторые видеоролики на YouTube?) Кроме того, проигрыватель VLC отлично подходит для просмотра flash-видеороликов.

#!/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

Те, кто немного знаком с терминалом, могут отредактировать первые две переменные и получить немного дополнительных функций. В качестве альтернативы, чтобы просмотреть файлы в реальном времени, вы можете ввести это в терминале, чтобы узнать, где они находятся для i в $ (pgrep -f libflash); найти / proc / $ i / fd / -ls | grep "/ tmp / Flash" | awk '{print $ 11}'; сделано

PS. Кроме того, отличная работа, chlumma1, но немного отказа от циклов стиля программирования C;)

3
ответ дан 6 February 2012 в 23:07

Для загрузки видеофайлов используйте flashgot.

3
ответ дан 6 February 2012 в 23:07

Насколько я знаю, это не из-за firefox или natty, а из-за флеш-обновления...

Вы можете поймать поток http с помощью wireshark или использовать инструмент типа youtube-dl, чтобы получить файл фильма.

Но помните, что это может быть не легально, так что проверьте ваше местное законодательство...

4
ответ дан 6 February 2012 в 23:07

Этот маленький скрипт сохранит загруженные вами флэш-файлы в пользовательскую директорию.

  1. создайте каталог, в котором вы хотите сохранить файлы, например ~/Видео/flvs

    mkdir ~/Видео/flvs
    
  2. откройте gedit и скопируйте и вставьте этот сценарий.

     #!/bin/bash
    # flvcache-скрипт
    
    CACHE=~/.mozilla/firefox/*.default/Cache
    OUTPUTDIR=~/видео/флэвы
    МИНФИЛЕСИЗЕ=2М
    
    для f в `Найти $CACHE - размер +$MINFILESIZE`.
    делать
     cp "$f" "$OUTPUTDIR/$o"
    готовый
    
    наутилус "$OUTPUTDIR" &
    
  3. сохраните файл как saveflashall.sh, затем добавьте исполняемые разрешения к файлу

    chmod +x saveflashall.sh
    
  4. и запустите его.

    ./saveflashall.sh
    

откроет файлы в первой папке, созданной выше. Настроена на включение всех файлов (работает для mpeg и mp4) вместо только flvs.

Кредиты отправляются по адресу http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html

5
ответ дан 6 February 2012 в 23:07

Если вы перейдете в свою папку /proc, вы увидите кучу папок с числовыми именами, включая папку, которая совпадает с номером во втором поле.

Теперь перейдите в эту папку, затем в ее подпапку "fd". В этой папке Вы увидите весь выбор номеров. Они относятся к самим файловым дескрипторам.

Запустите ls -l в этой папке, и вы увидите, что каждый из этих номеров связан либо с каналами, либо с сокетами, либо с файлами.

Внутри этого, номер из четвертого поля будет символически связан с файлом /tmp/Flash*, который мы нашли раньше.

Чтобы проверить, что это правильный файл, вы можете запустить его через mplayer или vlc (mplayer fileescriptornumber/vlc fileescriptornumber). Если у вас возникли проблемы с поиском имени файла, попробуйте 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

Source: http://n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/

7
ответ дан 6 February 2012 в 23:07

Вы можете использовать несколько дополнений Firefox для извлечения FLV-файлов со многих сайтов, таких как Youtube.

Я покажу ниже, как сделать это РУКОВОДСТВЕННО с последней версией Flash-плагина.

  1. Посетите видео с YouTube и подождите, пока оно будет полностью загружено.
  2. Затем запустите из командной строки команду

    $ lsof -n | grep Flash

    , которая показывает файлы (даже memory files! ), и фильтрует на те, которые имеют Flash в своем имени.

  3. Вы получаете что-то вроде

    plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (удалено).

    Теперь есть /tmp/FlashXXVkHEM6, но он был удален.

  4. В Linux, если файл удаляется, он фактически исчезает только тогда, когда все программы, которые открывали его ранее, закрыты. То есть Flash-плагин использует уловку, чтобы скрыть файл /tmp/FlashXXVkHEM6. Он создает его и сразу же удаляет . Но так как Flash-плагин продолжает работать, очевидно, что он все еще может его использовать.

  5. Из приведенной выше строки мы обратили внимание на номер 2461, который является идентификатором процесса. В вашем случае он, скорее всего, будет другим. Затем запустите

    $ cd /proc/2461/fd

    и, наконец, выполните

    $ ls -l

    Это покажет вам файлы памяти, а именно

    lrwx------ 1 user user 64 2011-09-16 10: 23 17 -> /tmp/FlashXXVkHEM6 (удалено)

    Номер '17' (в моем случае) - это имя файла, которое Вы можете использовать для доступа к удаленному /tmp/FlashXXVkHEM6. Поэтому просто запустите

    $ cp 17 /tmp/myoutubevevideo.flv

    и восстановите Youtube Video!

Вот и все! Вы вручную восстановили видео с Youtube!

28
ответ дан 6 February 2012 в 23:07

, хотя напрямую не отвечаю вопрос, я столкнулся с той же проблемой и после некоторого поиска нашел Clipgrab , который намного проще в использовании.

1
ответ дан 6 February 2012 в 23:07

Другие вопросы по тегам:

Похожие вопросы: