Où Chromium conserve-t-il les fichiers vidéo YouTube?

8

Je sais que dans Windows, Internet Explorer stocke les .flvfichiers temporaires dans un dossier temporaire ( C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files) lors de la visualisation de YouTube. Et la même marque et Google Chrome sous Windows ( C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache). Il est donc facile de trouver une copie de ce .flvfichier.

Que diriez-vous de Chromium dans Ubuntu? Stocke-t-il les données temporaires de navigation et où?

Radu Rădeanu
la source
Si vous souhaitez simplement avoir une copie de certaines vidéos YouTube, je vous suggère d'utiliser le youtube-dlprogramme de ligne de commande pour récupérer la meilleure vidéo disponible. Bref, sudo apt install youtube-dlet plus tard cd ~/Videos && youtube-dl "https://youtu.be/ESUCEaOUx_M".
Mikko Rantalainen

Réponses:

11

J'ai écrit un petit script bash qui automatise l'excellente solution de Radu :

#!/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"
mcbarron
la source
1
J'ai peur que cela ne fonctionne pas avec les nouvelles versions de Chrome et Chrome (Chromium 40.0.2214.111 Ubuntu 14.04). Une idée pourquoi?
Leszek
16

J'ai fait un peu de recherche et maintenant je peux arriver avec la réponse qui n'est pas aussi simple qu'il y paraît à première vue.

J'ai beaucoup cherché sur Google, et presque tout pointe vers le ~/.cache/chromium/Defaultdossier. C'est le dossier où vous devriez trouver les fichiers de cache de Google Chrome. Mais il n'y a pas de gros fichiers vidéo flash (comme YouTube), juste de petits fichiers.

En fin de compte, pour répondre à la question, je suis arrivé à ces conclusions:

  • Tout d'abord, vous devez ouvrir une vidéo YouTube et la laisser diffuser depuis Internet.
  • Dans un terminal ( Ctrl+ Alt+ T), vous devriez obtenir le PID de Chromium qui utilise le plugin Flash Player. Vous pouvez utiliser différentes commandes, mais psfera très bien: ps ax | grep flash.
  • Une fois que vous avez ce PID , vous pouvez trouver le nom du fichier vidéo qui vient sur Youtube a été diffusé: ls -l /proc/[*PID*]/fd | grep Flash. Vous verrez comme résultat quelque chose comme ceci:

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

    Et voici la réponse à la question: le dernier fichier vidéo diffusé sur YouTube et mis en cache sur le système est:

    /proc/[*PID*]/fd/[*video file name - is a number*]
    
  • Maintenant, si vous le souhaitez, vous devez les copier n'importe où sur le système:

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

    Et maintenant, vous avez la dernière vidéo regardée sur Youtube dans votre collection de vidéos personnelles.

entrez la description de l'image ici

Radu Rădeanu
la source
1

Je le fais manuellement comme ceci: définissez cet alias dans /etc/bash.bashrc

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

et créez ce script dans /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

résultat:

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)

alors je sais où sont les fichiers et utilise mplayer pour voir celui que je veux. puis copiez manuellement.

juanmf
la source
0

Chromium conserve ses fichiers de cache dans divers dossiers qui peuvent changer avec le temps (selon la version?). Vous devriez donc peut-être les parcourir tous pour trouver ce que vous cherchez.

Et ils sont:

  • / home / $ USER / Cache multimédia
  • /home/$USER/.cache/chromium/Default/Cache
  • /home/$USER/.cache/chromium/Default/Media Cache
  • /home/$USER/.config/chromium/Default/Cache
  • /home/$USER/.config/chromium/Default/Media Cache

Les fichiers youtube qui vous intéressent sont généralement susceptibles de se trouver sous l'un des dossiers du cache multimédia , mais sans aucune extension de fichier. Heureusement, contrairement à Windows, Linux détecte souvent les types de fichiers quelle que soit l'extension. Vous pouvez donc les reconnaître avec des icônes de fichiers vidéo ou même des miniatures .

Sadi
la source
Dans ces dossiers, il n'y a pas de gros fichiers vidéo flash, juste de petits fichiers.
Radu Rădeanu
0

J'ai écrit un nouveau script bash pour télécharger des fichiers vidéo flash en utilisant Ubuntu 16.04 et Chrome Version 62 . grâce à cet exemple de mcbarron

Vous pouvez également afficher sur le référentiel github

#! / bin / bash
echo "Recherche de fichiers flash."
getPidNum = $ (lsof | grep Flash | grep supprimé | tr -s "" | cut -d "" -f 2)
pidNum = ""
pour linePidNum dans $ {getPidNum}; faire
    if [["$ pidNum"! = "$ linePidNum"]]; puis
        pidNum = $ linePidNum
        echo "Le numéro PID est $ {pidNum}"
        getProcNum = $ (ls -l / proc / $ {pidNum} / fd | grep Flash | tr -s "" | cut -d "" -f 9)
        procNum = ""
        pour lineProcNum dans $ {getProcNum}; faire
            if [["$ procNum"! = "$ lineProcNum"]]; puis
                procNum = $ lineProcNum
                echo "Le numéro de fichier est $ {procNum}"
                echo "Copie de / proc / $ {pidNum} / fd / $ {procNum} dans '$ {procNum} .flv'"
                cp / proc / $ {pidNum} / fd / $ {procNum} "$ {procNum} .flv"
            Fi
        terminé
    Fi
terminé
chemiloshan
la source
-2

Chromium jette des fichiers dans .cache/chromium/Defaultles dossiers Cacheet Media Cache.

JoshStrobl
la source
Bonjour, lorsque vous postez quelque chose, vous pouvez profiter des fonctionnalités de mise en forme qui apparaissent juste au-dessus de la zone de texte lorsque vous rédigez votre réponse. C'est un truc de démarque de base. Vous pouvez consulter certaines questions et réponses modifiées pour voir comment cela se fait.
J'y ai cherché, mais rien à propos des fichiers vidéo de You Tube (ou autres). Donc, pas la bonne réponse ... pour le moment.
Radu Rădeanu
@ vasa1 -> Hé, pourquoi ne pas modifier mes messages? Ce serait génial. Je sais très bien comment utiliser le démarque. Radu -> Cela ne vous donnera pas de manière flagrante le fichier .flv, vous aurez besoin de convertir à peu près tous les fichiers en .flv pour déterminer lequel est une vidéo. Il est vraiment préférable d'utiliser quelque chose comme KeepVid. En termes de "pas la bonne réponse", désolé de vous décevoir mais ça l'est. C'est là que Chromium et Chrome enregistrent tous leurs fichiers mis en cache.
JoshStrobl
@JoshStrobl, désolé pour ça!