Wo speichert Chromium die YouTube-Videodateien?

Wo speichert Chromium die YouTube-Videodateien?

Ich weiß, dass Internet Explorer in Windows .flvtemporäre Dateien im temporären Ordner ( C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files) speichert, wenn YouTube angezeigt wird. Und dasselbe gilt für Google Chrome in Windows ( C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache). Es ist also einfach, eine Kopie dieser .flvDatei zu finden.

Wie steht es mit Chromium in Ubuntu? Werden temporäre Browserdaten gespeichert und wo?

Antwort1

Ich habe ein wenig recherchiert und kann nun eine Antwort geben, die nicht so einfach ist, wie es auf den ersten Blick scheint.

Ich habe viel bei Google gesucht und fast alles verweist auf den ~/.cache/chromium/DefaultOrdner. In diesem Ordner sollten Sie die Cache-Dateien von Google Chrome finden. Aber es gibt keine großen Flash-Videodateien (wie bei YouTube), nur kleine.

Um die Frage zu beantworten, bin ich schließlich zu folgenden Schlussfolgerungen gekommen:

  • Zuerst müssen Sie ein YouTube-Video öffnen und es aus dem Internet streamen lassen.
  • In einem Terminal ( Ctrl+ Alt+ T) sollten Sie die PID von Chromium erhalten, das das Flash Player-Plugin verwendet. Sie können verschiedene Befehle verwenden, aber dieser psreicht völlig aus: ps ax | grep flash.
  • Sobald Sie diese PID haben, können Sie den Namen der Videodatei herausfinden, die gerade auf YouTube gestreamt wurde: ls -l /proc/[*PID*]/fd | grep Flash. Als Ergebnis sehen Sie ungefähr Folgendes:

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

    Und hier ist die Antwort auf die Frage: Die letzte auf YouTube gestreamte und im System zwischengespeicherte Videodatei ist:

    /proc/[*PID*]/fd/[*video file name - is a number*]
    
  • Wenn Sie möchten, können Sie sie jetzt an eine beliebige Stelle im System kopieren:

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

    Und nun haben Sie das zuletzt auf YouTube angesehene Video in Ihrer persönlichen Videosammlung.

Bildbeschreibung hier eingeben

Antwort2

Ich habe ein kleines Bash-Skript geschrieben, das die hervorragendeLösungausRadu:

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

Antwort3

Ich mache es manuell so: Definieren Sie diesen Alias ​​in /etc/bash.bashrc

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

und erstellen Sie dieses Skript in /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

Ergebnis:

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)

dann weiß ich, wo die Dateien sind, und kann mit mplayer sehen, welche ich möchte. Dann kopiere ich sie manuell.

Antwort4

Ich habe ein neues Bash-Skript zum Herunterladen von Flash-Videodateien geschrieben mitUbuntu 16.04UndChrom Version 62. Dank andieses Beispielaus mcbarron

Sie können auch im GitHub-Repository nachsehen

#!/bin/bash
echo "Suche nach Flash-Dateien."
getPidNum=$(lsof | grep Flash | grep gelöscht | tr -s " " | cut -d " " -f 2)
pidNum=""
für linePidNum in ${getPidNum}; mache
    wenn [[ "$pidNum" != "$linePidNum" ]]; dann
        pidNum=$linePidNum
        echo "PID-Nummer ist ${pidNum}"
        getProcNum=$(ls -l /proc/${pidNum}/fd | grep Flash | tr -s " " | cut -d " " -f 9)
        procNum=""
        für lineProcNum in ${getProcNum}; Tun
            wenn [[ "$procNum" != "$lineProcNum" ]]; dann
                procNum=$lineProcNum
                echo "Dateinummer ist ${procNum}"
                echo "Kopiere /proc/${pidNum}/fd/${procNum} nach '${procNum}.flv'"
                cp /proc/${PID-Nummer}/fd/${Prozeßnummer} "${Prozeßnummer}.flv"
            fi
        Erledigt
    fi
Erledigt

verwandte Informationen