Это может показаться несколько странным требованием: я хочу скачать видео с YouTube так, как я его вижу. Я знаю, что мне пришлось бы захватывать пакеты с помощью программы, такой как wireshark, и я знаю, что это возможно. Допустим, у меня есть 3 компьютера в сети и 1 смартфон. Допустим, я смотрю видео YouTube на моем телефоне. Теперь я хочу, чтобы это видео было записано на любом из компьютеров, чтобы я мог увидеть его позже (запись в том смысле, что захватывает пакеты, чтобы мне не пришлось загружать его снова и тратить свою пропускную способность). Есть ли программы, которые сделают это для меня? Причина, по которой я этого хочу, заключается в том, что я использую IMediaShare для просмотра видео на YouTube по телевизору. Теперь, когда я вижу видео, если я хочу посмотреть его позже, мне нужно снова загрузить все видео.
5 ответов
Я предлагаю более простое решение!
Настройте один компьютер с Linux, возможно, Raspberry Pi, чтобы использовать меньше непрерывной мощности. Обнюхайте свою домашнюю сеть для запросов HTTP YouTube. Загрузите видео с помощью youtube-dl
и сохраните их на диске, к которому ваш телевизор может получить доступ. Это не будет так быстро или сэкономит пропускную способность, но вам не придется собирать необработанные пакеты в видео.
Установите Youtube-DL с помощью apt-get и Update
sudo apt-get install -y youtube-dl && sudo youtube-dl -U && sudo youtube-dl -U
Скачать Youtube видео для просмотра в автономном режиме
youtube-dl WebAddressOfYoutubeVideo
Как я понимаю, вы хотели бы скачать видеофайл с Youtube, это не очень сложно, и для этого есть множество различных услуг через Интернет.
Например, воспользуйтесь этим сервисом - http://savefrom.net, скажем, вы хотите загрузить видео с адресом https://www.youtube.com/watch?v=TTqpEJh03fI - вы переходите на http://savefrom.net вставьте адрес видео в строку поиска, нажмите «загрузить» - и сервис предоставит несколько прямых ссылок для загрузки в правой части страницы с различными форматами видео и качеством (FLV, MP4, 3GP), затем выберите наиболее подходящий вам и загрузите видеофайл на свой ПК.
Если вы знаете, что хотите сохранить видео перед его запуском, вы можете использовать расширение, дополнение или пользовательский скрипт (я рекомендую YousableTubeFix).
Если вы не знаете, что хотите сохранить его перед запуском, то, если по какой-то причине у вас не работает постоянно анализатор пакетов в фоновом режиме, тогда единственный вариант - скопировать его из кэша браузера (который может быть сложно на смартфоне).
Проблема заключается в том, что узлы потокового видео не только блокируют видеофайл во время его потоковой передачи (что означает, что вы не можете его скопировать), но также помечают его флагом, который заставляет ОС немедленно удалять его, как только блокировка закрывается. Таким образом, вы не можете принудительно закрыть замок.
Лучше всего использовать такой инструмент, как Unlocker, чтобы скопировать его. Не закрывайте замок, потому что файл будет удален! Вместо этого используйте функцию копирования, чтобы скопировать файл из кэша и переименовать его.
Вы захотите очистить кеш браузера перед запуском видео или пока оно все еще заблокировано, чтобы упростить идентификацию правильного файла (также сортируйте файлы по размеру, так как видео, как правило, самые большие).
Обновление:
Приведенная выше информация относится к более старым версиям Chrome. В более новых версиях (~ 21, 22 или около того и выше?) Chrome больше не использует заблокированные временные файлы в каталоге temp. Вместо этого он теперь сохраняет потоковое видео в обычную папку кэша браузера в каталоге пользовательских данных (например, %localappdata%\Google\Chrome\User Data\Default\Cache
), и файлы можно легко скопировать из ОС (например, Windows Explorer). Однако они по-прежнему не имеют описательных имен файлов и должны быть сначала идентифицированы. Это проще, если вы сначала очистите кеш браузера перед запуском видео, а затем отсортируете файлы по размеру.
Это должно значительно облегчить копирование кэшированных видео с телефона.
Обратите внимание, что это относится только к определенным видео, таким как на YouTube; сайты, которые используют другие методы потокового видео, такие как RTSP, все равно не будут работать, так как они все еще используют « собственные файлы » в Windows (и, вероятно, tmpfs в * nix/Mac). Таким образом, они все еще должны быть «разорваны» с использованием тех же инструментов захвата потока, что и раньше.
Если бы я попытался сделать это, я бы начал с установки (прозрачного или нет) HTTP-прокси и начал возиться с его вариантами кэширования всего с youtube.com.
Я не знаю, подходит ли youtube.com кеш HTTP или нет, но если нет, может понадобиться взлом источника HTTP-прокси.
Это (надеюсь) не позволит вашему телефону загружать видео дважды, но ваш телевизор, скорее всего, запросит видео более высокого качества, которое ваш телефон не сможет обработать в противном случае. Это другая проблема.
Если вы можете обрабатывать "захваты" YouTube вручную, то есть, вероятно, самый наивный, но простой способ сделать это с помощью расширения Firefox MediaStealer. Не требует установки каких-либо тяжелых программ, таких как мониторы трафика (WireShark и аналогичные) и прокси-серверы. И самое главное, это устраняет много усилий по анализу трафика, который вы должны делать в противном случае. Расширение просто сохранит просматриваемое видео (скажем, как video/x-flv
) в виде готового автономного файла в выбранном вами каталоге.