Утилита принимает 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 chromiumsource 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.