W Maverick istniała opcja pobierania filmów Flash z witryn takich jak YouTube, Vimeo itp. Poprzez skopiowanie flashxx**
pliku do /tmp
katalogu do innej lokalizacji przed zamknięciem okna. Ale w Firefoksie 4 w Natty to już nie działa. Dlaczego?
W Maverick istniała opcja pobierania filmów Flash z witryn takich jak YouTube, Vimeo itp. Poprzez skopiowanie flashxx**
pliku do /tmp
katalogu do innej lokalizacji przed zamknięciem okna. Ale w Firefoksie 4 w Natty to już nie działa. Dlaczego?
Odpowiedzi:
Aktualizacja wtyczki flash zmieniła lokalizację z /tmp
katalogu 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
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
.
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.
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ą Flash
w swojej nazwie.
Dostajesz coś takiego
plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)
.
Teraz jest, /tmp/FlashXXVkHEM6
ale został usunięty.
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 deletes
to natychmiast . Ale ponieważ wtyczka Flash nadal działa, prawdopodobnie nadal może jej używać.
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!
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 -l
w 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/
Ten mały skrypt zapisuje pobrane pliki Flash w niestandardowym katalogu.
utwórz katalog, w którym chcesz zapisać pliki, np. ~ / Videos / flvs
mkdir ~/Videos/flvs
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"&
zapisz plik jako saveflashall.sh, a następnie dodaj uprawnienia do pliku
chmod +x saveflashall.sh
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
O ile wiem, nie jest to spowodowane firefoxem ani natty, ale aktualizacją flash ...
Możesz złapać strumień http za wireshark
pomocą narzędzia, takiego jak youtube-dl
pobranie pliku filmowego.
Pamiętaj jednak, że może to nie być legalne, więc sprawdź lokalne przepisy ...
Aby pobrać filmy, użyj Flashgot .
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;)
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.
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.
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ę, -p
która powoduje, że skrypt odtwarza filmy, mplayer
zamiast kopiować pliki.
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)
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.
Korzystam minitube
z klienta YouTube, który przechowuje pliki flash/tmp
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
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
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
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
link do dodatku https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api
To wciąż możliwe.
Możesz użyć skryptu powłoki z tego postu dotyczącego otwierania / odtwarzania wszystkich filmów Flash za pomocą VLC .
Aby skopiować wszystkie filmy trzeba wymienić w ostatniej linii skryptu vlc
przez cp
i zapewnić katalog docelowy na końcu tej samej linii.
Mam nadzieję, że to pomoże Ci http://sahanlm.blogspot.com/2012/05/how-to-copy-google-chrome-cache-flash.html