Я знаю, что в Windows Internet Explorer сохраняет .flv временные файлы во временной папке (C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files) при просмотре YouTube. И тот же make и Google Chrome в Windows (C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache). Так что легко найти копию этого файла .flv.
Как насчет Chromium в Ubuntu? Сохраняет ли он временные данные просмотра и где?
Я сделал небольшое исследование, и теперь я могу прийти с ответом, который не так прост, как кажется на первый взгляд.
Я много искал в Google, и почти все указывает на [ f4]. Это папка, в которой вы должны найти файлы кеша 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 в своей личной коллекции видео.
Я делаю это вручную: определите этот псевдоним в /etc/bash.bashrc
alias findflash='find /proc/ -maxdepth 1 -type d -exec lsfd.sh {} \;'
и создайте этот скрипт в /usr/local/bin/lsfd.sh
[ f2]result:
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, чтобы увидеть, какой я хочу. затем вручную скопируйте.
Хром хранит файлы кеша в разных папках, которые могут меняться со времени (в зависимости от версии?). Поэтому вы должны просмотреть все, чтобы найти то, что ищете.
И это:
/ 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Файлы Chromium , которые вас интересуют, в основном, вероятно, находятся в одной из папок Media Cache, но без расширения файла. К счастью, в отличие от Windows, Linux часто обнаруживает типы файлов независимо от расширения. Таким образом, вы можете распознать их с кешем или даже эскизами.
Я написал новый скрипт bash для загрузки флеш-видеофайлов с использованием ubuntu 16.04 и chromium Version 62. Благодаря этому примеру из mcbarron
#!/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 doneChromium выдает файлы в .cache/chromium/Default в папках Cache и Media Cache.