Chromium은 YouTube 동영상 파일을 어디에 보관하나요?

Chromium은 YouTube 동영상 파일을 어디에 보관하나요?

Windows에서는 Internet Explorer가 YouTube를 볼 때 .flv임시 폴더( )에 임시 파일을 저장하는 것으로 알고 있습니다 . C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files그리고 Windows에서도 동일한 제조사와 Google Chrome을 사용합니다( C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache). 따라서 해당 .flv파일 의 복사본을 쉽게 찾을 수 있습니다 .

우분투의 Chromium은 어떻습니까? 검색 임시 데이터를 어디에 저장하나요?

답변1

나는 약간의 연구를 했고 이제 첫눈에 보이는 것만큼 간단하지 않은 답을 얻을 수 있게 되었습니다.

Google에서 많이 검색했는데 거의 모든 것이 폴더를 가리키고 있습니다 ~/.cache/chromium/Default. 구글 크롬의 캐시 파일을 찾아야 하는 폴더입니다. 하지만 유튜브처럼 큰 플래시 비디오 파일은 없고 작은 파일만 있을 뿐입니다.

결국 나는 이 질문에 답하기 위해 다음과 같은 결론을 내렸다.

  • 먼저 YouTube 비디오를 열고 인터넷에서 스트리밍해야 합니다.
  • 터미널( Ctrl+ Alt+ T)에서는 Flash Player 플러그인을 사용하는 Chromium의 PID를 가져와야 합니다. 다양한 명령을 사용할 수 있지만 ps괜찮습니다 ps ax | grep flash.
  • 이 PID가 있으면 Youtube에서 방금 스트리밍된 비디오 파일의 이름을 확인할 수 있습니다: ls -l /proc/[*PID*]/fd | grep Flash. 결과적으로 다음과 같은 내용이 표시됩니다.

    lrwx------ 1 [*user*] [*user*] 64 mai 2 09:48 [*video file name - is a number*] -> /tmp/FlashXX4PeKRY (deleted)`
    

    질문에 대한 답변은 다음과 같습니다. YouTube에서 스트리밍되고 시스템에 캐시된 마지막 비디오 파일은 다음과 같습니다.

    /proc/[*PID*]/fd/[*video file name - is a number*]
    
  • 이제 원하는 경우 시스템의 어느 위치에나 복사해야 합니다.

    cp /proc/[*PID*]/fd/[*video file name - is a number*] ~/Videos/[*new video file name*].flv
    

    이제 개인 비디오 컬렉션에 YouTube에서 마지막으로 본 비디오가 표시됩니다.

여기에 이미지 설명을 입력하세요

답변2

나는 우수한 기능을 자동화하는 작은 bash 스크립트를 작성했습니다.해결책~에서라두:

#!/bin/bash

pidNum=$(ps ax | grep flash | grep chromium | grep -v "grep" | sed -e 's/^ *//g' -e 's/ *$//g' | tr -s " " | cut -d " " -f 1)
procNum=$(ls -l /proc/${pidNum}/fd | grep Flash | tr -s " " | cut -d " " -f 9)

filename=$1
if [[ "$filename" == "" ]]; then
    filename=$procNum
fi

echo "Copying /proc/${pidNum}/fd/${procNum} to '${filename}.flv'"
cp /proc/${pidNum}/fd/${procNum} "${filename}.flv"
ls -lah "${filename}.flv"

답변3

저는 수동으로 이렇게 합니다: /etc/bash.bashrc에 이 별칭을 정의합니다.

alias findflash='find /proc/ -maxdepth 1 -type d -exec lsfd.sh {} \;'

/usr/local/bin/lsfd.sh에 이 스크립트를 만듭니다.

#!/bin/bash
ls -l $1/fd/ 2>/dev/null 3>/dev/null| grep -i 'flash' 1>/dev/null  2>/dev/null 3>/dev/null;
if [ $? -eq "0" ]; 
then 
echo $1/fd/;
ls -l $1/fd/ | grep -i 'flash';
fi

결과:

root@juanmf-V570:/tmp# findflash 
/proc/31591/fd/
lrwx------ 1 root root 64 Aug 19 23:59 37 -> /home/juanmf/.config/google-chrome/Default/Pepper Data/Shockwave Flash/.com.google.Chrome.9Oc0fE (deleted)
lrwx------ 1 root root 64 Aug 19 23:59 38 -> /home/juanmf/.config/google-chrome/Default/Pepper Data/Shockwave Flash/.com.google.Chrome.hcEvxv (deleted)

그런 다음 파일이 어디에 있는지 알고 mplayer를 사용하여 내가 원하는 파일을 확인합니다. 그런 다음 수동으로 복사하십시오.

답변4

다음을 사용하여 플래시 비디오 파일을 다운로드하기 위한 새로운 bash 스크립트를 작성했습니다.우분투 16.04그리고크롬 버전 62. 덕분에이 예~에서 맥배런

또한 github 저장소에서 볼 수 있습니다

#!/bin/bash
echo "플래시 파일을 크롤링하는 중입니다."
getPidNum=$(lsof | grep 플래시 | grep 삭제됨 | tr -s " " | cut -d " " -f 2)
pidNum=""
${getPidNum}의 linePidNum에 대해; 하다
    if [[ "$pidNum" != "$linePidNum" ]]; 그 다음에
        pidNum=$linePidNum
        echo "PID 번호는 ${pidNum}입니다."
        getProcNum=$(ls -l /proc/${pidNum}/fd | grep Flash | tr -s " " | cut -d " " -f 9)
        프로시저번호=""
        ${getProcNum}의 lineProcNum에 대해; 하다
            if [[ "$procNum" != "$lineProcNum" ]]; 그 다음에
                procNum=$lineProcNum
                echo "파일 번호는 ${procNum}입니다."
                echo "/proc/${pidNum}/fd/${procNum}을 '${procNum}.flv'에 복사 중"
                cp /proc/${pidNum}/fd/${procNum} "${procNum}.flv"
            fi
        완료
    fi
완료

관련 정보