스트리밍 웹 사이트에서 Flash 파일에 액세스하려면 어떻게해야합니까?


30

Maverick 에는 창을 닫기 전에 디렉토리 의 flashxx**파일 /tmp을 다른 위치 로 복사하여 YouTube, Vimeo 등과 같은 사이트에서 Flash 비디오를 다운로드하는 옵션이있었습니다 . 그러나 Natty의 Firefox 4에서는 더 이상 작동하지 않습니다. 왜?


비디오를 다운로드하려면 Clipgrab : clipgrab.de/en을 권장 합니다. 그들은 PPA를 가지고 있습니다 : launchpad.net/~clipgrab-team
Martin Thoma

답변:


26

플래시 플러그인 업데이트로 위치 /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

1
왜 안돼 file ~/.mozilla/firefox/*.default/Cache/* | grep Flash? 캐시 디렉토리에 하위 디렉토리가없는 것 같습니다 find.
enzotib

작동하지 않습니다. 아마 전에 일했다.
dumb906

FLV 파일은 여전히 ​​/ tmp에 있지만 액세스하려면 특별한 트릭이 필요합니다.
user4124

/ proc 파일 시스템을 사용하여 FLV 파일을 복구하는 방법에 대해서는 아래의 답변을 참조하십시오. 여전히 Firefox 애드온 중 하나를 사용하여 동일한 작업을 수행 할 수 있습니다.
user4124

28

Youtube와 같은 많은 웹 사이트에서 FLV 파일을 추출하기 위해 여러 Firefox 애드온을 사용할 수 있습니다.

최신 버전의 Flash 플러그인을 사용하여이 작업을 수동으로 수행하는 방법을 아래에서 보여 드리겠습니다.

  1. YouTube 비디오를 방문하여 완전히 다운로드 될 때까지 기다리십시오.
  2. 그런 다음 명령 행에서 명령을 실행하십시오.

    $ lsof -n | grep Flash

    파일 ( 메모리 파일 도 포함)을 표시하고 이름이있는 파일을 필터링합니다 Flash.

  3. 당신은 같은 것을 얻습니다

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

    이제는 /tmp/FlashXXVkHEM6있지만 삭제되었습니다.

  4. Linux에서 파일이 삭제되면 이전에 파일을 연 모든 프로그램이 닫힐 때만 실제로 사라집니다. 즉, Flash 플러그인은 / tmp / FlashXXVkHEM6 파일을 숨기는 트릭을 사용하고 있습니다. 그것은 그것을 즉시 생성합니다 deletes. 그러나 플래시 플러그인은 계속 실행되기 때문에 여전히 사용할 수 있습니다.

  5. 위의 줄에서 번호 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 비디오를 수동으로 복구했습니다!


7

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


5

이 작은 스크립트는 다운로드 한 플래시 파일을 사용자 정의 디렉토리에 저장합니다.

  1. ~ / Videos / flvs와 같이 파일을 저장할 디렉토리를 만드십시오.

    mkdir ~/Videos/flvs
    
  2. 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"&
    
  3. 파일을 saveflashall.sh로 저장 한 다음 파일에 실행 권한을 추가하십시오.

    chmod +x saveflashall.sh
    
  4. 그런 다음 실행하십시오.

    ./saveflashall.sh
    

그런 다음 위에서 만든 첫 번째 폴더에서 파일을 엽니 다. flvs 대신 모든 파일 (mpeg 및 mp4에서 작동)을 포함하도록 사용자 정의되었습니다.

크레딧은 http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html 로 이동합니다


나는 이것을 시도했다. 오래 전에 본 일부 비디오는 지금이 폴더에 있지만 지금 본 비디오는 그렇지 않습니다. 왜?
avi

4

내가 아는 한 이것은 파이어 폭스 나 natty 때문이 아니라 플래시 업데이트입니다 ...

http 스트림을 사용 wireshark하거나 다음과 같은 도구를 사용할 수 있습니다youtube-dl동영상 파일을 가져 오는 등의 .

그러나 합법적이지 않을 수 있으므로 현지 법률을 확인하십시오.


wireshark를 사용하면 깔끔한 트릭을 얻을 수 있지만 비디오 크기가 매우 크므로 (10MB 이상) 패키지에는 작은 데이터 조각이 포함되어 있기 때문에 이것이 지칠 수도 있습니다.
Rafał Cieślak


3

우분투 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 프로그래밍 스타일을 조금씩 반복합니다.)


2

최신 버전의 플래시 플러그인은 임시 파일을 삭제 된 것으로 표시하여 숨 깁니다. 실제로 비디오 스트림은 "삭제 된 파일"로 다운로드됩니다. 그러나 파일이 삭제 된 경우에도 프로세스가 파일을 열면 해당 파일 디스크립터와 결과적으로 파일 내용을 찾을 수 있습니다.

이 간단한 스크립트는 열린 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

그렇지 않으면 파일 설명자가 매우 편리하지 않습니다 (삭제 된 파일임을 명심하십시오).

이 방법은 브라우저에 관계없이 작동해야합니다.


1

이 문제는 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 게시 한 게시물보기 ]

이것이 도움이되기를 바랍니다. 이것이 작동하는지 알려주세요.


나는 당신이 그 질문을 오해했다고 생각합니다. 원본 포스터에는 이미 Flash Player가 설치되어 작동 중입니다. 그는 Flash가 임시 파일을 어디에 저장하는지 궁금합니다.
Jeremy Bicha

당신. 권리. 그러나 플래시 파일이 어디에 있는지 궁금해하고 있다고 생각합니다. 새로운 Adobe Flash Player 버전에서는 이미 언급 된 @Woozy와 같이 저장됩니다. @Woozy는 또한 "캐시 된 플래시 파일은 이전처럼 찾기가 쉽지 않다"고 언급했다. 따라서 플래시 파일이 "쉬운"파일을 다시 찾으려면 플래시 플레이어를 다운 그레이드 할 수 있습니다. 결과적으로 플래시 파일은 / tmp에 다시 저장 될 것입니다. 아니면 내가 틀렸어?
Vito

1

크롬이나 파이어 폭스와 함께 작동하는 일반적으로 적용 가능한 방법을 보려면 flashcache 라는이 작은 프로그램을 사용해보십시오 . 현재 재생중인 플래시 비디오를 현재 디렉토리로 복사합니다.

내 패치 는 파일을 복사 -p하는 mplayer대신 스크립트를 사용하여 비디오를 재생 하는 옵션 을 추가 합니다.


1

질문에 직접 대답하지는 않았지만 동일한 문제가 발생했으며 일부 검색 결과 Clipgrab 이 훨씬 사용하기 쉽습니다.


1

터미널에서이 명령을 시도 할 수 있습니다

cp \`file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print$1}'` dirname/

1

이 링크를 따르십시오 ( ~/.mozilla/firefox/ewzggcll.default/Cache)

내가 실제로 혼동하지 않는 한 (그렇게 생각하지 마십시오) "ewzggcll"은 컴퓨터에 없습니다. Linux 및 Firefox 설치에 고유 한 임의의 문자 모음 및 숫자가있을 수 있습니다. 그럼에도 불구하고,이 이상하게 보이는 랜덤 컬렉션은 캐시를 얻는 데 필수적이기 때문에 중요합니다.

이것이 도움이되기를 바랍니다! (HTH)


1

SMplayer YouTube를 사용합니다. 우분투 소프트웨어 센터에 설치하는 Smplayer와 함께 제공됩니다. YouTube 동영상을 녹화합니다. 매우 간단하고 사용하기 쉽습니다.


이 작동하는지 확인할 수 있습니다. 우분투 14.04. 내가 올 때까지 인터넷에 아무 문제없이 인터넷을 통해 모든 곳에서 모든 대답을 시도하는 데 시간을 낭비했다고 믿을 수 없습니다 ... 소프트웨어 센터에서 SMPlayer를 검색하여 설치하고 yt 주소를 붙여 넣은 다음 비디오를 저장했습니다. 내가 선택한 형식과 크기로 ... : D
PFROLIM

1

minitube플래시 파일을 저장하는 YouTube 클라이언트를 사용 합니다./tmp


1

이 스크립트는 다음을 수행합니다.

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

0

Mozilla가 위치를 너무 자주 변경하는 것 같습니다. 또한 버퍼 이름은 비디오와 동일하지 않으므로 힙에서 현재 항목을 찾는 것도 어렵습니다. 따라서 캐시 된 파일을 저장하는 것은 일관된 솔루션이 아닙니다. 데스크톱 프로그램을 설치해도 괜찮다면 ClipGrab이 최고의 도구입니다. 당신은 할 수 있습니다

  1. 비디오를 검색하십시오.
  2. 다운로드 할 YouTube 비디오 품질을 선택하십시오.
  3. 다운로드 할 비디오 형식을 선택하십시오.
  4. YouTube 비디오 URL을 제공하면 파일이 다운로드됩니다.

우분투에서 유튜브 비디오를 다운로드 ClipGrab .


0

많은 비디오 스트리밍 사이트에 keepvid.com을 사용할 수도 있습니다. 그래도 컴퓨터에 java가 있어야합니다. 일단 설치되면 간단히 URL 링크에 붙여 넣고 mp4 또는 WebM을 포함한 다양한 형식으로 저장하십시오.


0

가장 쉬운 방법은 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



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.