Где Chromium хранит видеофайлы YouTube?

Я знаю, что в Windows Internet Explorer сохраняет временные файлы .flv во временной папке (C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files) при просмотре YouTube. И так же делают и Google Chrome в Windows (C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache). Так что легко найти копию этого .flv файла.

Как насчет хрома в Ubuntu? Хранит ли он временные данные просмотра и где?

8
задан 1 March 2014 в 09:24

6 ответов

Я написал небольшой скрипт на 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"
0
ответ дан 1 March 2014 в 09:24

Я провел небольшое исследование, и теперь я могу прийти с ответом, который не так прост, как кажется на первый взгляд.

Я много искал в Google, и почти все указывает на папку ~/.cache/chromium/Default. Это папка, в которой вы должны найти файлы кэша Google Chrome. Но здесь нет больших флэш-видеофайлов (как у YouTube), только маленькие.

В конце концов, чтобы ответить на вопрос, я пришел к следующим выводам:

  • Во-первых, вам нужно открыть видео на YouTube и позволить ему транслироваться из Интернета.
  • В терминале ( Ctrl + Alt + T ) вы должны получить PID Chromium, который использует плагин Flash Player. Вы можете использовать различные команды, но 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 в вашей личной коллекции видео.

    [ 1111]

enter image description here

0
ответ дан 1 March 2014 в 09:24

Я делаю это вручную так: определите этот псевдоним в /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, чтобы посмотреть, какой из них я хочу. затем скопируйте вручную.

0
ответ дан 1 March 2014 в 09:24

Хром выбрасывает файлы в .cache/chromium/Default в папки Cache и Media Cache.

0
ответ дан 1 March 2014 в 09:24

Я написал новый bash-скрипт для загрузки флеш-видеофайлов, используя ubuntu 16.04 и Chromium Version 62 . благодаря этому примеру из mcbarron

Также вы можете просмотреть репозиторий github

#!/bin/bash
echo "Crawling for flash files."
getPidNum=$(lsof | grep Flash | grep deleted | tr -s " " | cut -d " " -f 2)
pidNum=""
for linePidNum in ${getPidNum}; do
    if [[ "$pidNum" != "$linePidNum" ]]; then
        pidNum=$linePidNum
        echo "PID Number Is ${pidNum}"
        getProcNum=$(ls -l /proc/${pidNum}/fd | grep Flash | tr -s " " | cut -d " " -f 9)
        procNum=""
        for lineProcNum in ${getProcNum}; do
            if [[ "$procNum" != "$lineProcNum" ]]; then
                procNum=$lineProcNum
                echo "File Number Is ${procNum}"
                echo "Copying /proc/${pidNum}/fd/${procNum} to '${procNum}.flv'"
                cp /proc/${pidNum}/fd/${procNum} "${procNum}.flv"
            fi
        done
    fi
done
0
ответ дан 1 March 2014 в 09:24

Chromium хранит свои файлы кеша в различных папках, которые могут меняться со временем (в зависимости от версии?). Так что, возможно, вам следует просмотреть их все, чтобы найти то, что вы ищете.

И это:

  • / home / $ USER / Media Cache
  • /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

Файлы youtube , которые вас интересуют, скорее всего, находятся в одной из папок Media Cache , но без каких-либо расширение файла. К счастью, в отличие от Windows, Linux часто определяет типы файлов независимо от расширения. Таким образом, вы можете узнать их с помощью значков видеофайлов или даже миниатюр .

0
ответ дан 1 March 2014 в 09:24

Другие вопросы по тегам:

Похожие вопросы: