Этот скрипт предназначен для загрузки видео с платформы GetCourse и основан на этом скрипте. Он загружает сегменты видео, объединяет их и конвертирует в формат MP4.
- Асинхронная загрузка сегментов видео
- Прогресс-бары для отслеживания загрузки
- Автоматическое объединение сегментов
- Конвертация в MP4 с использованием FFmpeg
- Поддержка повторных попыток при ошибках загрузки и конвертации
- Python 3.7+
- FFmpeg
- Библиотеки Python: aiohttp, tqdm
-
Клонируйте репозиторий:
git clone https://github.com/snhplayer/GetCoursePythonDownloader.git cd GetCoursePythonDownloader -
Установите необходимые библиотеки:
pip install aiohttp tqdm -
Убедитесь, что FFmpeg установлен и доступен в системном PATH или находится в одной папке со скриптом.
Скрипту нужен установленный FFmpeg (должен быть доступен в PATH или лежать рядом с gcpd.py). Проверить установку можно командой ffmpeg -version.
Самый простой путь — через пакетный менеджер winget (Windows 10/11):
winget install --id Gyan.FFmpeg -eАльтернативы:
-
Chocolatey:
choco install ffmpeg
-
Scoop:
scoop install ffmpeg
-
Ручная установка (zip-архив): скачайте сборку FFmpeg для Windows со страницы загрузок FFmpeg (раздел Windows builds), распакуйте и добавьте папку
binв переменную окруженияPATH.
Примечание: winget пакет Gyan.FFmpeg ставит официально рекомендуемую сборку; подробнее см. карточку пакета.
Chocolatey и Scoop также предоставляют готовые бинарники.
sudo apt update
sudo apt install ffmpeg
ffmpeg -versionFFmpeg доступен в официальных репозиториях Ubuntu/Debian (подробности на Launchpad/Debian Packages).
Альтернатива: Snap-пакет
ffmpeg(удобно, но может отличаться по набору кодеков и изоляции):sudo snap install ffmpeg
На Fedora «полная» сборка FFmpeg ставится из репозиториев RPM Fusion:
- Подключить RPM Fusion (Free и Nonfree)
sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm- Установить FFmpeg
sudo dnf install ffmpeg
ffmpeg -versionПодробные инструкции по включению RPM Fusion есть в документации Fedora и на сайте RPM Fusion. Учтите, что в официальном репозитории Fedora есть урезанный пакет ffmpeg-free; для максимальной совместимости обычно используют пакет ffmpeg из RPM Fusion.
sudo pacman -S ffmpeg
ffmpeg -versionПакет доступен в официальном репозитории (extra), см. Arch Wiki и карточку пакета.
Рекомендуемый способ — Homebrew:
# если brew ещё не установлен: https://brew.sh
brew install ffmpeg
ffmpeg -versionАльтернативы:
-
MacPorts:
sudo port install ffmpeg
-
Статические сборки для macOS доступны со страницы загрузок FFmpeg (раздел macOS).
После установки выполните:
ffmpeg -version
ffprobe -versionЕсли команды не находятся, убедитесь, что путь к каталогу с бинарниками (ffmpeg, ffprobe) добавлен в PATH. Ссылки на официальные способы получения готовых сборок (Windows/macOS/Linux) приведены на странице загрузок FFmpeg.
Запустите скрипт:
python gcpd.py
Следуйте инструкциям в командной строке:
- Введите ссылку на плейлист.
- Укажите имя выходного файла.
Дополнительные опции:
--pd: Включить предварительную загрузку размеров файлов (по умолчанию отключена).
Пример:
python gcpd.py --pd {url}
- Возможность определить количество параллельных потоков
Пример: Меняя
MAX_PARALLEL_DOWNLOADS = 4
на
MAX_PARALLEL_DOWNLOADS = 5
Мы, соотвественно, меняем количество параллельных потоков закгрузки с 4 на 5.
-f: Указать файл где находятся ссылки плей-листов и имена выходных файлов
Пример:
python gcpd.py -f a.txt
a.txt
https://....
foo
https://....
foo2
https://....
foo3
Если возникают проблемы с загрузкой или конвертацией, скрипт автоматически попытается повторить операцию. Если проблема сохраняется, проверьте:
- Правильность ссылки на плейлист.
- Наличие доступа к интернету.
- Корректность установки FFmpeg.
- Свободное место на диске.
Если вы обнаружили ошибку или у вас есть предложения по улучшению, пожалуйста, создайте issue или pull request в репозитории проекта.