Jak mogę uzyskać dostęp do plików Flash ze stron streamingowych?

30

W Maverick istniała opcja pobierania filmów Flash z witryn takich jak YouTube, Vimeo itp. Poprzez skopiowanie flashxx**pliku do /tmpkatalogu do innej lokalizacji przed zamknięciem okna. Ale w Firefoksie 4 w Natty to już nie działa. Dlaczego?

avi
źródło
Jeśli chcesz tylko pobierać filmy, polecam Clipgrab: clipgrab.de/en . Mają PPA: launchpad.net/~clipgrab-team
Martin Thoma

Odpowiedzi:

26

Aktualizacja wtyczki flash zmieniła lokalizację z /tmpkatalogu pamięci podręcznej Firefox (np ~/.mozilla/firefox/bq95m4w1.default/Cache.). Niestety buforowany plik flash nie jest tak łatwy do znalezienia jak wcześniej, ale jest to możliwe.

Następujące polecenie wyświetla listę wszystkich plików flash w pamięci podręcznej przeglądarki Firefox.

find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash

W nowszych wersjach ubuntu spróbuj

find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash
Mający zawroty głowy
źródło
1
Dlaczego nie file ~/.mozilla/firefox/*.default/Cache/* | grep Flash? Wydaje się, że katalog pamięci podręcznej nie ma podkatalogów, które mogłyby uzasadniać użycie find.
enzotib
nie działa prawdopodobnie pracował wcześniej.
dumb906
Plik FLV wciąż znajduje się w katalogu / tmp, jednak do uzyskania dostępu potrzebujesz specjalnej sztuczki.
user4124
Zobacz moją odpowiedź poniżej, która mówi o odzyskiwaniu pliku FLV za pomocą systemu plików / proc. Nadal możesz użyć jednego z dodatków Firefox do wykonania tego samego zadania.
user4124,
28

Możesz użyć kilku dodatków do Firefoksa, aby wyodrębnić pliki FLV z wielu stron internetowych, takich jak Youtube.

Pokażę poniżej, jak to zrobić RĘCZNIE za pomocą najnowszej wersji wtyczki Flash.

  1. Odwiedź film na YouTube i poczekaj na jego pełne pobranie.
  2. Następnie uruchom z wiersza polecenia polecenie

    $ lsof -n | grep Flash

    który pokazuje pliki (nawet pliki pamięci !) i filtry do tych, które mają Flashw swojej nazwie.

  3. Dostajesz coś takiego

    plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted).

    Teraz jest, /tmp/FlashXXVkHEM6ale został usunięty.

  4. W systemie Linux, jeśli plik zostanie usunięty, faktycznie zniknie tylko wtedy, gdy wszystkie programy, które otworzyły go wcześniej, zostaną zamknięte. Oznacza to, że wtyczka Flash używa sztuczki, aby ukryć plik / tmp / FlashXXVkHEM6. Tworzy go i deletesto natychmiast . Ale ponieważ wtyczka Flash nadal działa, prawdopodobnie nadal może jej używać.

  5. Z powyższego wiersza zapisujemy liczbę 2461, która jest identyfikatorem procesu. W twoim przypadku prawdopodobnie będzie inaczej. Następnie uruchomić

    $ cd /proc/2461/fd

    i w końcu wykonać

    $ ls -l

    Spowoduje to wyświetlenie plików pamięci, a konkretnie

    lrwx------ 1 user user 64 2011-09-16 10:23 17 -> /tmp/FlashXXVkHEM6 (deleted)

    Liczba „17” (w moim przypadku) to nazwa pliku, której możesz użyć, aby uzyskać dostęp do usuniętego pliku /tmp/FlashXXVkHEM6. Dlatego po prostu biegnij

    $ cp 17 /tmp/myyoutubevideo.flv

    i przywracasz wideo z YouTube'a!

Otóż ​​to! Ręcznie odzyskałeś wideo z YouTube'a!

użytkownik4124
źródło
7

Jeśli przejdziesz do folderu / proc, zobaczysz kilka folderów o nazwach numerycznych, w tym folder pasujący do liczby w drugim polu.

Teraz przejdź do tego folderu, a następnie do jego podfolderu „fd”. W tym folderze zobaczysz cały wybór liczb. Dotyczą one samych deskryptorów plików.

Uruchom ls -lw tym folderze, a zobaczysz, że każdy z tych numerów jest powiązany z potokami, gniazdami lub plikami.

W ramach tego liczba z czwartego pola będzie symbolicznie powiązana z plikiem / tmp / Flash *, który znaleźliśmy wcześniej.

Aby sprawdzić, czy jest to właściwy plik, możesz uruchomić go za pomocą mplayer lub vlc ( mplayer filedescriptornumber/ vlc filedescriptornumber). Jeśli masz problemy ze znalezieniem nazwy pliku, spróbuj ls -l | grep Flash.

Aby w łatwy sposób wypróbować to polecenie w konsoli:

stat -c %N /proc/*/fd/* 2>&1|awk -F[\`\'] '/Flash/{print$2}'

Wynik będzie mniej więcej taki:

/proc/4691/fd/17
/proc/4691/fd/18

Spowoduje to wyświetlenie wszystkich pobranych strumieni flash. W tym przykładzie są 2 filmy flash z mojej przeglądarki Firefox 4. Jeśli chcesz go skopiować, po prostu użyj tego polecenia:

cp /proc/4691/fd/17 ~/Videos/Flash/sample.flv

Źródło: http://n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/

squallbayu
źródło
5

Ten mały skrypt zapisuje pobrane pliki Flash w niestandardowym katalogu.

  1. utwórz katalog, w którym chcesz zapisać pliki, np. ~ / Videos / flvs

    mkdir ~/Videos/flvs
    
  2. otwórz gedit i skopiuj i wklej ten skrypt.

    #!/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"&
    
  3. zapisz plik jako saveflashall.sh, a następnie dodaj uprawnienia do pliku

    chmod +x saveflashall.sh
    
  4. następnie uruchom to.

    ./saveflashall.sh
    

to otworzy pliki w pierwszym folderze utworzonym powyżej. Dostosowany do uwzględnienia wszystkich plików (pracował dla MPEG i MP4) zamiast tylko flvs.

Kredyty trafiają na http://desdecode.blogspot.com/2011/04/saving-wched-online-videos-linux.html

głupi 906
źródło
Próbowałem tego ... niektóre filmy, które oglądałem dawno temu, znajdują się teraz w tym folderze, ale te, które teraz oglądałem, nie są. Dlaczego?
avi
4

O ile wiem, nie jest to spowodowane firefoxem ani natty, ale aktualizacją flash ...

Możesz złapać strumień http za wiresharkpomocą narzędzia, takiego jak youtube-dlpobranie pliku filmowego.

Pamiętaj jednak, że może to nie być legalne, więc sprawdź lokalne przepisy ...

LassePoulsen
źródło
Świetna sztuczka z wireshark, ale myślę, że może to być męczące, ponieważ filmy są dość duże (ponad 10 MB), a paczki zawierają niewielki kawałek tych danych :)
Rafał Cieślak
3

Aby pobrać filmy, użyj Flashgot .

RolandiXor
źródło
3

Ubuntu 12.04 (Precise) - Firefox 11 Instrukcje Zmodyfikowana wersja skryptu bash chlumma1.

Za pomocą edytora tekstu zapisz poniższy kod w pliku o nazwie „getvids.sh”. Przenieś go do miejsca, w którym chcesz zapisać filmy. Kliknij plik prawym przyciskiem myszy, przejdź do Właściwości, zmień uprawnienia na „Zezwalaj na wykonywanie jako program”.

Wszystko, co musisz zrobić, to kliknąć skrypt, wybrać „Uruchom w terminalu”, a on zapisze wszystkie pliki wideo w tym katalogu. Aby zapisać cały film, należy go załadować do przeglądarki. Będzie zapisywać filmy z prawie każdej strony internetowej, w tym YouTube, Vimeo, Dailymotion, Metacafe, Liveleak, Facebook . Po prostu usuń niepotrzebne pliki wideo.

(Jeśli żądany film nie jest zapisywany, oznacza to, że witryna prawdopodobnie używa zastrzeżonego formatu strumienia, którego nie można zapisać w żadnym programie do pobierania pamięci podręcznej. Przykłady: Hulu, Netflix, niektóre filmy z YouTube?) Ponadto odtwarzacz VLC jest idealne do oglądania filmów 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

Ci, którzy wiedzą trochę o terminalu, mogą edytować dwie pierwsze zmienne i uzyskać nieco dodatkową funkcjonalność. Alternatywnie, aby wyświetlić pliki na żywo, możesz wpisać to w terminalu, aby dowiedzieć się, gdzie one sąfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done

PS. Również świetna praca chlumma1, ale trochę odejdź od stylu programowania w C;)

Sepero
źródło
2

Najnowsze wersje wtyczki flash ukrywają plik tymczasowy, zaznaczając go jako usunięty. Praktycznie strumień wideo jest pobierany do „usuniętego pliku”. Jednak nawet po usunięciu pliku, jeśli plik zostanie otwarty przez proces, można znaleźć jego deskryptor pliku, a tym samym zawartość pliku.

Ten prosty skrypt drukuje deskryptory plików otwartych filmów Flash:

file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d:

I prawdopodobnie chcesz utworzyć zwykły plik z deskryptora pliku, na przykład:

cp $(file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d: | head -n 1) video.avi

W przeciwnym razie deskryptor pliku nie jest zbyt wygodny (pamiętaj, że to plik usunięty!)

Metoda powinna działać niezależnie od przeglądarki.

janos
źródło
1

Hej, ten problem istniał już w 10.10. Aby to rozwiązać, spróbuj:

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.

[cytowany z tej strony: opublikowany przez chetancrasta View Post ]

Mam nadzieję, że to Ci pomoże. Daj mi znać, czy to zadziała.

Vito
źródło
Myślę, że źle zrozumiałeś pytanie. Oryginalny plakat ma już zainstalowany i działa Flash Player. Zastanawia się tylko, gdzie Flash przechowuje pliki tymczasowe.
Jeremy Bicha
Ya. Dobrze. Ale myślę, że zastanawia się, gdzie zniknęły pliki flash. Dzięki nowej wersji Adobe Flash Player są one przechowywane tak jak wspomniano już o @Woozy. @Woozy wspomniał również, że „buforowany plik flash nie jest tak łatwy do znalezienia jak wcześniej”. Jeśli więc chcesz, aby plik Flash znalazł się ponownie jako „łatwy”, możesz obniżyć wersję Flash Playera. W związku z tym pliki flash zostaną ponownie zapisane w / tmp ... Mam nadzieję, że rozumiesz teraz mój punkt widzenia !? Czy się mylę?
Vito
1

Aby uzyskać ogólnie stosowaną metodę, która działa z chrome lub firefox, wypróbuj ten mały program o nazwie flashcache . Kopiuje obecnie odtwarzane filmy flash do bieżącego katalogu.

Moja łatka dodaje opcję, -pktóra powoduje, że skrypt odtwarza filmy, mplayerzamiast kopiować pliki.

Loevborg
źródło
1

Chociaż nie odpowiadając bezpośrednio na pytanie, natknąłem się na ten sam problem i po kilku poszukiwaniach znalazłem Clipgrab, który jest znacznie łatwiejszy w użyciu.

Cas
źródło
1

Możesz wypróbować to polecenie w terminalu

cp \`file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print$1}'` dirname/
Susman
źródło
1

kliknij ten link ( ~/.mozilla/firefox/ewzggcll.default/Cache)

Chyba że jestem naprawdę zdezorientowany (nie sądzę), że „ewzggcll” nie będzie na twoim komputerze. Znajdziesz tam losową kolekcję liter (i być może liczb?), Która najprawdopodobniej będzie unikalna dla twojej instalacji Linux i Firefox. Niemniej jednak ta dziwnie wyglądająca kolekcja losowa jest ważna, ponieważ jest niezbędna do uzyskania dostępu do pamięci podręcznej.

Mam nadzieję że to pomoże! (HTH)

jayfro
źródło
1

Używam SMplayer YouTube. Zawiera Smplayer, który instalujesz w centrum oprogramowania Ubuntu. Nagrywa filmy z YouTube'a. bardzo prosty i łatwy w użyciu.

użytkownik297921
źródło
Mogę potwierdzić, że DZIAŁA. Ubuntu 14.04. Nie mogę uwierzyć, że zmarnowałem czas na wypróbowanie wszystkich odpowiedzi tutaj i wszędzie w Internecie BEZ SUKCESU, dopóki nie doszedłem do tego ... Po prostu przeszukałem SMPlayer w centrum oprogramowania, zainstalowałem go, wkleiłem adres yt i zapisałem film, w wybranym formacie i rozmiarze ...: D
PFROLIM
1

Korzystam minitubez klienta YouTube, który przechowuje pliki flash/tmp

użytkownik20043
źródło
1

Ten skrypt zrobi to:

#!/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
chlumma1
źródło
0

Mozilla wydaje się zbyt często zmieniać lokalizację. Co więcej, nazwa bufora nie jest taka sama jak w filmie, więc znalezienie odpowiedniego z bufora jest również trudne. Dlatego zapisanie pliku w pamięci podręcznej nie jest spójnym rozwiązaniem. Jeśli instalacja programu komputerowego jest w porządku, ClipGrab jest najlepszym narzędziem na rynku. Możesz

  1. Szukaj filmów.
  2. Wybierz jakość wideo z YouTube'a do pobrania.
  3. Wybierz format wideo do pobrania.
  4. Możesz po prostu podać adres URL filmu na YouTube, aby pobrać plik.

ClipGrab, aby pobierać filmy z YouTube'a w Ubuntu .

arunskrish
źródło
0

Z witryny keepvid.com można także korzystać w przypadku wielu witryn do przesyłania strumieniowego wideo. Jednak wymaga java na twoich komputerach. Po zainstalowaniu wystarczy wkleić link do adresu URL i zapisać go w różnych formatach, w tym MP4 lub WebM

mattibuntu
źródło
0

Najłatwiejszą metodą jest użycie dodatku „CacheViewer Continued 0.8” dla Firefoksa

po zainstalowaniu naciśnij ctrl + shift + c, aby otworzyć, a następnie naciśnij pokaż wszystko, po czym możesz wyszukać konkretną pamięć podręczną, taką jak jpeg, flv cokolwiek ...... kliknij lewym przyciskiem myszy na pozycję, aby zapisać, zapisać podając wymagane rozszerzenie, takie jak .flv dla wideo flash i .jpeg dla jpeg i odwrotnie wprowadź opis zdjęcia tutaj

link do dodatku https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api

gunjan parashar
źródło