Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Скачивание записей МТС Линк

Утилита принимает URL страницы записи МТС Линк, проверяет страницу в браузере, показывает все найденные видео-, аудиопотоки и источники презентаций и предлагает выбрать нужные. Видео сохраняется отдельным MP4-файлом, аудио участника — M4A-файлом, а демонстрация презентации — оригинальным PDF-файлом. Дополнительно можно собрать всю запись в один MP4: материалы идут основным изображением, а спикер — в маленьком окне справа сверху.

Установка

Нужны Python 3.9+ и ffmpeg/ffprobe в PATH.

На macOS:

brew install ffmpeg
python3 -m venv venv
source venv/bin/activate
python -m pip install -r requirements.txt
python -m playwright install chromium

Запуск

source venv/bin/activate
python download_mts_link.py \
  "https://my.mts-link.ru/j/something/xxx/record-new/xxx" \
  --output-dir downloads

Перед большим скачиванием можно проверить, что страница разобрана корректно:

python download_mts_link.py "URL_ЗАПИСИ" --dry-run

При обычном запуске утилита выведет, например:

1. Спикер / камера
   формат: h264, 1280x720, видео + звук
2. Демонстрация презентации
   формат: PDF / слайды
3. Аудио участника: Имя участника
   формат: aac, только звук
4. Расшаренный экран
   формат: h264, 1920x1056, только видео
A. Все потоки и источники
C. Сводное видео: материалы + спикер в правом верхнем углу
D. Все источники и сводное видео

После этого можно ввести C для сводного видео, D для полного комплекта, A для всех отдельных источников или номера через запятую, например 1,2 или 2,3. По умолчанию отдельные файлы будут созданы в downloads с суффиксами -speaker.mp4, -presentation.pdf и -screen-share.mp4. Для презентации каталог также показывает число уникальных слайдов, встречающихся в журнале, и её положение внутри записи.

Для неинтерактивного запуска:

python download_mts_link.py "URL_ЗАПИСИ" --streams all
python download_mts_link.py "URL_ЗАПИСИ" --streams 2,3
python download_mts_link.py "URL_ЗАПИСИ" --composite
python download_mts_link.py "URL_ЗАПИСИ" --full-package

Сводный файл будет сохранён с суффиксом -combined.mp4. Скрипт сам использует временную шкалу МТС Линк: сначала оставляет видео спикера, затем показывает слайды, переключается на screen share и возвращает видео спикера в промежутках без демонстрации. Голос берётся из потока спикера, а голоса участников подключаются к нему в своих исходных временных интервалах.

Режим D/--full-package сначала сохраняет все отдельные MP4/PDF-файлы, а затем создаёт -combined.mp4 из уже скачанных видеоматериалов. Это удобно, если нужны и исходные источники, и итоговая лекция одним файлом.

Если МТС Линк отдаёт отдельный участок конференции только с аудио, скрипт сохраняет этот звук и добавляет на тот же период чёрный видеоряд. Благодаря этому загрузка не прерывается, а аудиодорожка и общая временная шкала записи не теряются.

Аудиосессии участников распознаются по отдельному conference.id. В режиме A их можно выбрать по номерам или скачать все источники; отдельные файлы сохраняются с суффиксом -audio-<id>.m4a. В режимах C и D эти файлы автоматически микшируются в сводный MP4 с задержкой, соответствующей их положению в записи.

Для своего общего имени:

python download_mts_link.py "URL_ЗАПИСИ" -o downloads -f lecture

В этом случае будут созданы lecture-speaker.mp4, lecture-presentation.pdf и lecture-screen-share.mp4. Для screen-share сохраняется активная часть потока; каталог показывает её положение внутри исходной записи. Для общего имени сводного файла используется lecture-combined.mp4.

Если ссылка требует входа, запустите с --headed, выполните вход в открывшемся окне и нажмите Enter в терминале:

python download_mts_link.py "URL_ЗАПИСИ" --headed

Для перезаписи существующего файла добавьте --overwrite. Параметр --verbose включает подробный журнал.

Ограничения

  • Утилита рассчитана на публичные ссылки МТС Линк формата /j/.../record-new/....
  • Нужен установленный ffmpeg; он не устанавливается через pip.
  • Браузер используется для проверки доступности страницы и получения актуального описания записи. Утилита не импортирует cookies из профиля Яндекс Браузера.
  • Демонстрация презентации в записи МТС Линк является отдельным набором событий со ссылкой на исходный PDF, а не видеопотоком. Поэтому она скачивается как PDF, без преобразования слайдов в MP4.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages