Skip to content

vladdd183/webinar-downloader

Repository files navigation

webinar-downloader

UPD:

  1. В docker-compose1.yml внизу указываете айдишник (https://events.webinar.ru/21390906/1711152720/record-new/1794592932 айдишник это последнее число 1794592932) либо же можно прям ссылку указать.
  2. Запускаете download.bat
  3. Он скачивает чанки/файлы и создает файл "скрипта" -- этот файл это описание всех этапов стрима с таймингами и файлами

Изменил название чанков -- теперь тип и время от начало не подписывается, потому что это указано в вышеупомянутом скрипте, то есть по факту мы имеем скаченные чанки (демонстрация экрана/вебки/слайды) вебинара + хронология вебинара с указанием когда какой файл должен запускаться и какой у него тип, так же там в скрипте и сообщения из чата.

Сделал контейнер-базу для gpu, он хавает пустой файл new_mount.py -- В нём можно писать логику монитирования. Для винды11 нужна wsl2 и туда cuda ставить (Вторая ссылка может оказаться самой полезной, там покомандно весь процесс описан) https://learn.microsoft.com/en-us/windows/ai/directml/gpu-cuda-in-wsl https://gist.github.com/nekiee13/c8ec43bce5fd75d20e38b31a613fd83d https://stackoverflow.com/questions/49589229/is-gpu-pass-through-possible-with-docker-for-windows

Всё ниже -- старье (Для общей информации); наработки

================

  1. Создание вирутального окружения python -m venv env
  2. Активация виртуального окружения source env/bin/activate
  3. Установка зависимостей pip install -r requirements.txt
  4. Запуск python download_webinar.py
  5. Вводим ссылку на вебинар или последнее число в ссылке image

Скрипт создает папку downloads куда сохраняет полученные чанки, сохраняются под именем (время от начала)_(тип видео).mp4 Время от начало ведется с самого первого аудио-видео клипа (сделано для того, чтобы не создавать время тишины, когда вебинар начался, люди пишут, а админ ещё не начал ничего показывать/говорить) Тип видео в данный момент 4:

  • screensharing (демонстрация экрана) с указанием времени
  • conference (вебка) с указанием времени
  • Слайд (jpg) с указанием времени
  • Файл (FILE_) в основном слайды берутся из вордовских файлов, их тоже можно скачивать, они сохраняются в downloads с префиксом FILE_(название файла) без указания времени image

На скрине выше можно видеть в самом низу по центру видео-файл, но без превью: это аудио-файл, без видео (когда не включена вебка, или вебинар баганул)

Скрипт создает файл chat.txt в нем хранятся сообщения чата и время отправки в секундах сначала вебинара (начала вебинара считается от первого видео-аудио файла, это значит, что сообщения написанные раньше этого момента будут иметь время отправки 0)

image

ещё раз по-простому: за ноль берется первый видеоряд, остальные файлы имеют префикс в секундах от этого самого нуля. Сообщения в чате ДО первого видеоряда зануляются

ЧТО НУЖНО СДЕЛАТЬ: Какой-то софт (скорее всего ffmpeg) который будет монтировать скачанные видео, аудио и слайды (хз что ещё может быть в вебинарах, с ютубом и прочими штуками, иногда встречающимися в вебинаре -- не разбирался ещё). В идеале, чтобы слайды (или скрин-каст) отображался в центре экрана, конференция (вебка) и чат сбоку -- в общем компоновка как в оригинальном вебинаре. Но в вебке смысла особого нет, а чат можно и из файла прочитать, при этом большая нагрузка при монтирование. Самая минимальная штука это:

  • Взять аудио со всех файлов
  • Склеить все скрин-касты и слайды
  • Налепить поверх аудио

ЧТО НА ДАННЫЙ МОМЕНТ ЕСТЬ: Cкрипт для ffmpeg (python mount.py), в целом он склеивает, вроде даже норм (только аудио-видео файлы, слайды ещё не делал), но где-то небольшой расинхрон по звуку (output1.mp4) случается. Настройки монтирования поставил самые ужасные (линь, дрова нвидиа ¯_(ツ)_/¯). Расинхрон убирается (output.mp4), если перед монтированием удалить 0.0_conference.mp4 -- как-то связано с записью видимо, потому что этот файл до включения записи в вебинаре. В папке downloads щас находится часть файлов (удалил остальные, чтобы монтирование меньше занимало)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages