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

Где 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

А как насчет Chromium в Ubuntu? Сохраняет ли он временные данные браузера и где?

решение1

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

Я много искал в Google, и почти все указывает на ~/.cache/chromium/Defaultпапку. Это папка, где вы должны найти файлы кэша Google Chrome. Но там нет больших файлов Flash Video (как на 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 видео.

введите описание изображения здесь

решение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/баш
echo "Сканирование флэш-файлов."
getPidNum=$(lsof | grep Flash | grep удален | tr -s " " | cut -d " " -f 2)
pidNum=""
для linePidNum в ${getPidNum}; сделать
    если [[ "$pidNum" != "$linePidNum" ]]; тогда
        pidNum=$linePidNum
        echo "Номер PID ${pidNum}"
        getProcNum=$(ls -l /proc/${pidNum}/fd | grep Flash | tr -s " " | cut -d " " -f 9)
        procNum=""
        для lineProcNum в ${getProcNum}; делать
            если [[ "$procNum" != "$lineProcNum" ]]; тогда
                procNum=$lineProcNum
                echo "Номер файла ${procNum}"
                echo "Копирование /proc/${pidNum}/fd/${procNum} в '${procNum}.flv'"
                cp /proc/${pidNum}/fd/${procNum} "${procNum}.flv"
            фи
        сделанный
    фи
сделанный

Связанный контент