Maverick 에는 창을 닫기 전에 디렉토리 의 flashxx**
파일 /tmp
을 다른 위치 로 복사하여 YouTube, Vimeo 등과 같은 사이트에서 Flash 비디오를 다운로드하는 옵션이있었습니다 . 그러나 Natty의 Firefox 4에서는 더 이상 작동하지 않습니다. 왜?
Maverick 에는 창을 닫기 전에 디렉토리 의 flashxx**
파일 /tmp
을 다른 위치 로 복사하여 YouTube, Vimeo 등과 같은 사이트에서 Flash 비디오를 다운로드하는 옵션이있었습니다 . 그러나 Natty의 Firefox 4에서는 더 이상 작동하지 않습니다. 왜?
답변:
플래시 플러그인 업데이트로 위치 /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
.
Youtube와 같은 많은 웹 사이트에서 FLV 파일을 추출하기 위해 여러 Firefox 애드온을 사용할 수 있습니다.
최신 버전의 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
. 그러나 플래시 플러그인은 계속 실행되기 때문에 여전히 사용할 수 있습니다.
위의 줄에서 번호 2461
는 프로세스 ID입니다. 귀하의 경우에는 아마도 다를 것입니다. 그런 다음 실행
$ 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 비디오를 수동으로 복구했습니다!
/ 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
다운로드 한 모든 플래시 스트림이 나열됩니다. 이 예에서는 파이어 폭스 4 브라우저에 2 개의 플래시 비디오가 있습니다. 복사하려면 다음 명령을 사용하십시오.
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
그런 다음 위에서 만든 첫 번째 폴더에서 파일을 엽니 다. flvs 대신 모든 파일 (mpeg 및 mp4에서 작동)을 포함하도록 사용자 정의되었습니다.
크레딧은 http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html 로 이동합니다
내가 아는 한 이것은 파이어 폭스 나 natty 때문이 아니라 플래시 업데이트입니다 ...
http 스트림을 사용 wireshark
하거나 다음과 같은 도구를 사용할 수 있습니다youtube-dl
동영상 파일을 가져 오는 등의 .
그러나 합법적이지 않을 수 있으므로 현지 법률을 확인하십시오.
비디오를 다운로드 하려면 플래시 를 사용해야 합니다.
우분투 12.04 (정확한) -Firefox 11 지침 chlumma1의 bash 스크립트의 수정 된 버전.
텍스트 편집기를 사용하여 아래 코드를 "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
추신. 또한 우수한 작업 chlumma1이지만 C 프로그래밍 스타일을 조금씩 반복합니다.)
최신 버전의 플래시 플러그인은 임시 파일을 삭제 된 것으로 표시하여 숨 깁니다. 실제로 비디오 스트림은 "삭제 된 파일"로 다운로드됩니다. 그러나 파일이 삭제 된 경우에도 프로세스가 파일을 열면 해당 파일 디스크립터와 결과적으로 파일 내용을 찾을 수 있습니다.
이 간단한 스크립트는 열린 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 게시 한 게시물보기 ]
이것이 도움이되기를 바랍니다. 이것이 작동하는지 알려주세요.
크롬이나 파이어 폭스와 함께 작동하는 일반적으로 적용 가능한 방법을 보려면 flashcache 라는이 작은 프로그램을 사용해보십시오 . 현재 재생중인 플래시 비디오를 현재 디렉토리로 복사합니다.
내 패치 는 파일을 복사 -p
하는 mplayer
대신 스크립트를 사용하여 비디오를 재생 하는 옵션 을 추가 합니다.
SMplayer YouTube를 사용합니다. 우분투 소프트웨어 센터에 설치하는 Smplayer와 함께 제공됩니다. 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
Mozilla가 위치를 너무 자주 변경하는 것 같습니다. 또한 버퍼 이름은 비디오와 동일하지 않으므로 힙에서 현재 항목을 찾는 것도 어렵습니다. 따라서 캐시 된 파일을 저장하는 것은 일관된 솔루션이 아닙니다. 데스크톱 프로그램을 설치해도 괜찮다면 ClipGrab이 최고의 도구입니다. 당신은 할 수 있습니다
가장 쉬운 방법은 firefox에 "CacheViewer Continued 0.8"애드온을 사용하는 것입니다
설치 후 ctrl + shift + c를 누른 다음 모두 표시를 누르면 jpeg와 같은 특정 캐시를 검색 한 후 flv 무엇이든 ... 항목을 마우스 왼쪽 버튼으로 클릭하면 저장, 저장 옵션이 제공됩니다. 플래시 비디오의 경우 .flv 및 jpeg의 경우 .jpeg와 같은 필수 확장자를 제공하여 그 반대로
애드온에 대한 링크 https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api
여전히 가능합니다.
VLC로 모든 Flash 비디오를 열고 재생하는 방법에 대한이 게시물 의 쉘 스크립트를 사용할 수 있습니다 .
모든 비디오를 복사하려면 당신은 스크립트의 마지막 줄에 교체해야 vlc
하여 cp
같은 줄의 끝에서 대상 디렉토리를 제공합니다.
이것이 당신에게 도움이 되기를 바랍니다 http://sahanlm.blogspot.com/2012/05/how-to-copy-google-chrome-cache-flash.html