Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VK Video Downloader

VK Video Downloader

Userscript для скачивания доступных видеопотоков с vkvideo.ru и vk.com.

Версия 0.9.0 Лицензия MIT

Установить скрипт · Русский · English

Установка

  1. Установите Tampermonkey для Chrome, Edge, Firefox или Opera.
  2. Откройте файл установки и подтвердите добавление скрипта.
  3. Откройте видео на vkvideo.ru или vk.com и запустите воспроизведение. Панель скачивания появится в правом нижнем углу.

При первом скачивании Tampermonkey может запросить доступ к CDN, с которого загружается видео. Без этого разрешения браузер не сможет сохранить файл.

Что поддерживается

Источник Что делает скрипт
Прямой MP4 Показывает доступные разрешения от 144p до 2160p и скачивает выбранный файл с индикатором прогресса
HLS Загружает сегменты, сохраняет исходный файл и копирует команду ffmpeg для ремукса в обычный MP4
DASH или HLS с отдельным аудио Показывает манифест и готовит команду yt-dlp

Все запросы выполняются локально в браузере. Проект не использует собственный сервер и не отправляет ссылки сторонним сервисам.

Использование

  1. Запустите видео: до начала воспроизведения плеер обычно не запрашивает ссылки на потоки.
  2. Проверьте название в поле «Видео». Страница может загрузить данные нескольких роликов; звёздочкой отмечается вариант, совпавший с заголовком вкладки.
  3. Выберите подходящий вариант:
    • для прямого потока нажмите кнопку нужного разрешения;
    • для HLS скачайте исходный файл, затем выполните скопированную команду:
ffmpeg -i "<название>.src.ts" -c copy -movflags +faststart "<название>.mp4"

Ремукс выполняется без перекодирования, поэтому обычно занимает заметно меньше времени, чем конвертация видео.

Схема панели VK Video Downloader
Схема интерфейса. Набор кнопок зависит от потоков, доступных для конкретного видео.

Ограничения

  • Ссылки появляются только после запуска воспроизведения.
  • HLS-сегменты временно хранятся в памяти. Для очень длинных видео разумнее использовать yt-dlp.
  • Скрипт не объединяет в браузере отдельные видео- и аудиодорожки. В таком случае он предлагает команду yt-dlp.
  • Подписанные CDN-ссылки ограничены по времени, поэтому загрузку лучше начинать сразу.
  • Работа зависит от внутреннего формата плеера VK и может потребовать обновления после изменений на стороне сайта.

Если панель пустая

Ссылки не появились после запуска видео

Перезагрузите страницу и снова запустите воспроизведение. Скрипт устанавливает перехватчики на этапе document-start, поэтому после установки Tampermonkey уже открытую страницу нужно обновить.

В консоли должна появиться строка [VKDL] ... активен (хуки на unsafeWindow). Если менеджер userscript не предоставляет unsafeWindow, используйте Tampermonkey.

Выбрано не то видео

Откройте список «Видео» и выберите нужное название вручную. Страница VK может заранее загрузить рекомендации и превью вместе с текущим роликом.

HLS-файл не перематывается или показывает неверную длительность

Это исходный фрагментированный файл. Выполните команду ffmpeg, которую скрипт копирует после загрузки, либо нажмите «Копировать команду ffmpeg» в панели.

Как это работает

Технические детали

vkvideo.ru загружает параметры плеера во время работы приложения. Userscript устанавливает перехватчики JSON.parse, fetch и XMLHttpRequest в контексте страницы через unsafeWindow, а также отслеживает URL с расширениями .mp4, .m3u8 и .mpd.

Найденные параметры группируются по идентификатору из CDN-ссылки. Скрипт сопоставляет название ролика с document.title, но оставляет ручной выбор на случай, если страница загрузила несколько видео.

Прямые MP4 скачиваются через GM_xmlhttpRequest. Для HLS скрипт получает плейлист и сегменты, после чего сохраняет исходный файл. Локальный ffmpeg нужен только для создания обычного MP4 с корректным индексом и перемоткой.

Участие в разработке

Сообщения об ошибках и pull request приветствуются. Для проблем с определением видео приложите URL страницы, строку состояния панели и информацию о браузере и версии Tampermonkey. Не публикуйте приватные CDN-ссылки, cookies или токены.

Правовые условия

Используйте скрипт только для материалов, которые вам разрешено скачивать: собственных видео или контента с разрешением правообладателя. Пользователь сам отвечает за соблюдение правил VK и применимого законодательства.

Проект распространяется по лицензии MIT © Dmitry Tumanov (@D1m7asis).

About

Userscript для скачивания видео с vkvideo.ru и vk.com: прямые MP4, HLS и команды для ffmpeg/yt-dlp.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages