버퍼링 된 플래시 비디오를 저장하려면 (Linux)?


5

파이어 폭스, 크롬 등과 같은 모든 브라우저에서 버퍼링 된 플래시 비디오를 추출하는 방법이 있었는데, 명령을 사용 ps하고 fd메모리 내 임시 파일을 가리키는 스파이를 감시 합니다. 불행히도이 방법은 더 이상 작동하지 않습니다. 예를 들어 fd크롬에서 사용되는 모든 것은 다음과 같습니다.

chrome    19412  ymf   69u   REG   0,14   470364     0  270129 /dev/shm/.org.chromium.Chromium.1fzPuo (deleted)
chrome    19412  ymf   77u   REG   0,14   131060     0  270141 /dev/shm/.org.chromium.Chromium.94K6Di (deleted)
chrome    19412  ymf  103u   REG    8,5     2052     0 4230990 /var/tmp/etilqs_01QDHFotJcLOpBS (deleted)
chrome    19412  ymf  112u   REG    8,5    24600     0 4232788 /var/tmp/etilqs_tFao7GamL5cslaZ (deleted)
chrome    19412  ymf  188u   REG    8,6    16384     0 1310851 /home/ymf/.config/chromium/Default/History Index 2013-07-journal (deleted)
chrome    19412  ymf  189u   REG    8,5    16400     0 4232787 /var/tmp/etilqs_D5p3BT7rtTSWLsy (deleted)

그들 중 어느 것도 미디어 컨텐츠를 포함하지 않습니다.

그리고 비디오를 재생할 때마다 (브라우저 별 플러그인의 도움없이) 비디오가 서버에서 스트리밍되기 때문에 어쨌든 우리는 비디오 재생 (리눅스에서)을 잡을 수 있다고 확신합니다.


3
Firefox에서 DownloadHelper 확장을 사용하며 대부분의 미디어 컨텐츠를 추출합니다.
Boris_yo

Windows에서는 VideoCacheView를 사용 합니다. LINUX 전용 솔루션을 찾고 계십니까?
Ankit

@Lamb 예. 이 설명을 게시물에 추가하겠습니다.
결정자

이미 여기에 모든 노력을 가지고 : kirsle.net/blog/kirsle/download-any-flash-video-in-linux (? 당신이 언급 된 방법에 따라 해당 사이트의 가을에있는 모든 않음)
오전

당신은 그것이 알고 chrome되지 chromium및 그 chrome사용 peperflash?
Braiam

답변:


1

"크롬에 사용되는 모든 fd는 다음과 같습니다. ... 미디어 내용이 포함되어 있지 않습니다." 그러나 단일 프로세스에서 모두 소유 한 것처럼 보이는 열린 파일은 거의 없습니다. 크롬이 일반적으로 작동하는 방식이 아닙니다. 그 정보를 어떻게 얻었습니까?

내 컴퓨터 (Linux Mint 및 Chrome 28.0.1500.95)에서 찾고있는 곳에서 스트리밍 플래시 파일을 검색 할 수 있습니다. 그 과정에서 뭔가 빠진 것 같습니다.

먼저, Pepper를 실행하는 프로세스를 식별 하고 파일에 해당하는 파일 디스크립터 ID를 찾으십시오.

/proc프로세스 별 fd디렉토리 덕분에 가능합니다.

비디오를 브라우저 창에서 연 상태에서 다음 명령을 실행하십시오.

for ID in $( pgrep chrome ) ; do ( sudo ls -l /proc/$ID/fd|grep Pepper ) && echo /proc/$ID/fd; done

출력은 다음과 유사합니다.

lrwx------ 1 root root 64 ago  2 12:52 29 -> /home/me/.chromecache/Default/Pepper Data/Shockwave Flash/.com.google.Chrome.ulDLo0 (deleted)
/proc/1196/fd

링크가 가리키는 경로를 무시하십시오. 삭제되었습니다. 다음을 통해 파일에 액세스해야합니다/proc/$PROCID/fd/$FDID

위의 예에서 다음을 실행합니다.

sudo cat /proc/1196/fd/29 > my_video.flv

[편집하다]

크롬에 대해서도 동일한 작업을 수행하려면 프로세스 이름을에서 google-chrome로 바꾸고 chro파일 이름에서 찾을 문자열을 다음과 같이 변경하십시오 /tmp/Flash.

for ID in $( pgrep chro ) ; do ( sudo ls -l /proc/$ID/fd|grep /tmp/Flash ) && echo /proc/$ID/fd; done

[편집] (다시)

이 하나의 라이너는 크롬과 크롬 모두에서 작동해야합니다 (적어도 내 컴퓨터에서 했음).

for ID in $( pgrep -f chro ) ; do ( sudo ls -l /proc/$ID/fd|egrep "(/tmp/Flash|Pepper)" ) && echo /proc/$ID/fd; done

크롬은 어때? 후추를 찾을 수 없습니다.
결정

@ymfoi 크롬 명령으로 답변을 업데이트했습니다. 그게 당신을 위해 일하고 있습니까?
silviot

불행히도 출력이 없습니다. :(
결정

아마도 버전 문제일까요? 내 버전은 Version 29.0.1547.22 (211613)입니다.
결정 요소

다시 업데이트 (크롬 버전 28이지만)
silviot

1

스크립트에서 @silviot의 메소드를 사용할 수도 있습니다.

#!/bin/bash
#
# Show all chrome cached video files!
#
for ID in $( pgrep chrom ) ; do 
    sudo ls -l /proc/$ID/fd|grep Pepper|cut -d' ' -f9|sed "s/\(.*\)/\/proc\/$ID\/\1/g"
done | grep -v '^$'

동영상을 두 개 이상 실행하고는 테스트하지 않았지만 정상적으로 작동합니다.


-2

허용되지 않는 모든 확장을 시도한 다음 항상 업데이트해야합니다. KeepVid.com 북마크를 사용하십시오. 웹 페이지의 버튼을 북마크 바로 드래그하면됩니다. 비디오를 보면서 링크를 클릭하십시오

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