К основному контенту

Копируем флеш видео с любых сайтов

Ну вот у меня наконец долгожданный отпуск. Отдыхаю ну и постепенно продолжаю разбираться в своей операционной системе Linux, да и не только в своей. Нравится мне это занятие. А вот писать было немного лень начинать, ну лень ленью, а писать за меня никто не будет. Да и даже если бы кто писал, я не мог бы быть уверенным в том что все что описано работает.

Не знаю как Вы, а я временами когда смотрю фильмы в сети онлайн, у меня появляется желание скачать то что я уже просмотрел. Конечно для того чтобы скачать онлайн видео, которое мы можем смотреть на многих сайтах, Вконтакте например либо YouTube, либо ещё каком сайте, мы можем использовать разнообразные внешние программы для скачивания онлайн видео. Правда здесь есть несколько недостатков, такие программы частенько работают с небольшим количеством видеохостингов и используя их приходится скачивать просмотренный фильм заново.

Сразу оговорюсь, онлайн видео я просматриваю при помощи браузера Google Chrome или Chromium, за то что данный способ сработает с другим браузером не знаю.

А я уже говорил раньше что не особо, люблю скачивать файлы дважды, во-первых, тратится моё время, а во вторых трафик у меня все так же ограничен 10Гб. Вот я когда-то давно и принялся искать различные возможности для того чтобы скачивать онлайн видео с любых сайтов. Ну и чтоб это было рационально, и без различных, громоздких программ, желательно.
Покурив мануалы, погуглив, приплясывая с админским бубном, я нашёл таки способ который соответствовал моим требованиям. Все гениальное, как всегда, просто. 

По сути дела данный способ скачать онлайн видео с любого сайта, основывается на самой работе операционной системы Linux, в моём случае Kubuntu, так же проверено что работает в Lubuntu, Ubuntu, Linux Mint. 

Дело в том что то видео которое мы смотрим в браузере, уже находится на нашем компьютере. Причём пока я с этим разбирался, я понял что раньше было, намного проще, видео просто загружалось во временную директорию /tmp, от куда его и можно было скопировать. Сейчас же просмотр этой директории не даёт никакого, результата, так как разработчики стали прятать данный фаил. Если мы вспомним архитектуру Linux то вспомним что существует по сути дела, две директории временных файлов. В одной из них видео и запрятано, за грудами, совсем ненужных файлов. 

Не буду вдаваться в детали всех поисков, но если вы смотрите видео в браузере, то это видео загружается в временную директорию /proc. Данная директория является полностью виртуальной и существует только пока система работает.

Если Вы сейчас откроете директорию /proc то увидите множество папок, неизвестного назначения у которых вместо названий цифры. Да и найти видеофайл среди сотен папок и тысяч файлов, проблематично получается. Я пока первый раз искал, нервов себе потрепал изрядно. Я смотрел какие процессы запущены с моим браузером Chromium, какие PID идентификаторы у процессов, в каких папках необходимый фаил.

Со временем, у меня все это дошло до двух простых команд в терминале. Одна команда находит папку и имя, а вторая копирует его из папки. Быстро достаточно и эффективно.
Для начала находим куда сохраняется временный фаил. Вводим в терминале команду.

lsof | grep Flash

Терминал выдаёт у меня вот такой ответ. В нем нам необходимо только две надписи, которые мы будем использовать в следующей команде.

chromium- 2499 dante 38u REG 8,7 101748666 652836 /tmp/FlashXX86DfmH (deleted)

Как видите фаил удалён, но в Linux файл не удаляется пока к нему хоть один дескриптор обращается. Можете видеть, я выделил из того что терминал вывел на экран то что нам необходимо в следующей команде. Так же можете зайти в папку /proc и найти папку, в моём случае 2499, у Вас та папка которую выдаст команда. Если вы зайдете в эту папку, а далее в папку внутри /fd то Вы увидите в ней фаил под именем 38. Так вот этот фаил и есть, наше онлайн видео которое открыто в браузере.

Я уже давно не смотрю что там в папке /proc, просто использую терминал и то что я знаю, где находится фаил. Ну и соответственно копирую его из того же терминала. В моём случае что Вы видите для копирования необходимо ввести команду

cp /proc/2499/fd/38 video.flv

Где 2499 мы взяли из вывода прошлой команды, так же как и номер копируемого файла, в моём случае 38, а у Вас будет то что выдаст первая команда. То есть просто заменить имя папок и фаилов на свои, и мы скопируем необходимое онлайн видео. Надпись же video.flv, это название видео файла который мы копируем, тоесть с каким именем будет видео, не забывайте, если в названии у Вас будет пробел, то все название Вам необходимо взять в кавычки.

Вот и всё. Видео скачивается в ту папку в которой открыт терминал, по умолчанию это папка /home. Скачиваем онлайн видео с любого сайта в моём случае в формате flv, данное видео спокойно можно просмотреть при помощи многих видеоплееров, например VLC. Конечно, подобный вариант скачивания онлайн видео с любого сайта кому-то покажется неудобным, ну это дело вкуса. Если видео с сайта Вы уже просмотрели, то скачивать его по новой не придётся, главное не закрывать плеер в браузере.

Комментарии

Популярные сообщения из этого блога

Перезагрузка Linux в чем разница reboot и shutdown -r now

Брат сегодня спросил, а в чем разница между командами в терминале reboot и shutdown -r now ? Ведь обе эти команды делают кажется одно и тоже. Перезагружают операционную систему. Для чего вводить shutdown -r now , если данная команда заметно длиннее??? На первый взгляд он конечно прав, обе команды действительно делают лишь то, что перезагружают операционную систему Linux. Разница состоит в том как эти команды выполняют перезагрузку. Команда shutdown -r now указывает операционной системе Linux перезагрузить систему сейчас, на что указывает конец данной команды, а именно now . Но на саму перезагрузку это конечно не влияет. Все дело в том что команда shutdown -r выполняет корректное завершение процесса работы. То есть ждёт необходимое для завершения работы программы время, а это может занять достаточно долгое время. Если же система вдруг по каким либо причинам подвисла, время это может растянутся на десятки минут или дольше что не всегда удобно. Команда же reboot просто посылает ком

Настройка bash терминала под себя

Сегодня, в очередной раз разбираясь с работой в консоли Линукс я решил, для удобства немного подредактировать свой файл .bashrc Данный фаил отвечает за то что выводится на экран во время нашей работы в bash . Вообще настроек в bash существует достаточно много и я ещё не со всеми разобрался, да и не все пока разбирал. Например я пока не разбирал цветную настройку консоли. А знаю что консоль можно разукрасить практически как новогоднюю Ёлку. Но всему своё время. Изменений в файле " .bashrc " на сегодня я хоть и сделал не так и много, но это уже позволяет значительно упростить мою работу и обучение работе с консолью. Файл " .bashrc " находится в нашей домашней директории вот здесь ~/.bashrc , как видите знак тильды указывает на то что фаил находится в Вашей домашней директории, как я это уже говорил ранее в статье, когда описывал команды для передвижения по директориям в системе Линукс, в консоли. Точка с которой начинается название файла говорит нам о том чт

Скачиваем deb-пакеты с зависимостями для offline-установки

Сегодня вот задумался над тем что же делать если доступа в интернет не будет, а понадобится установить какую-либо программу. Ведь программы в Linux Ubuntu устанавливаются из интернет-репозиториев. Кстати это работает и в Kubuntu, Lubuntu. Остальные не проверял. А как взять необходимые для установки deb-пакеты? Если на компьютере ещё нет интернета, хотя бы программу для подключения к интернету, например ту же программу wvdial. Чтобы можно было подключить например мой модем в консоли. Хоть я и разобрался как подключать 3g USB-модем при помощи pppd . Но а вдруг понадобится. Для того чтобы получить список интернет адресов где находятся наши deb-пакеты я использую программу apt-get , в виде команды apt-get --print-uris --yes здесь --print-uris возвращает URL адреса на экран. Для вывода данной команды права суперпользователя ненужны, так что sudo вводить Вам не понадобится. apt-get --print-uris --yes install wvdial Но чтобы отсеить результаты и оставить одни URL-адреса. Я использую