Инструмент для экспорта видео в раскадровку и загрузки на принтер для отображения boot-анимации.
Для пользователей Windows есть полностью автономный PowerShell скрипт, который не требует установки Python и автоматически скачивает все необходимые зависимости.
- Скачайте файл
set-bootscreen.ps1 - Откройте PowerShell в папке со скриптом (Shift + правая кнопка мыши → "Открыть окно PowerShell здесь")
- Выполните команду:
.\set-bootscreen.ps1 video.mp4 root:password@192.168.1.100# Базовое использование (12 fps, всё видео)
.\set-bootscreen.ps1 video.mp4 root:password@192.168.1.100
# Комбинация параметров
.\set-bootscreen.ps1 video.mp4 root:password@192.168.1.100 -start 2 -end 15 -fps 30 -fade- Скачайте Python 3.7+ с официального сайта: https://www.python.org/downloads/
- При установке обязательно поставьте галочку "Add Python to PATH"
- Следуйте инструкциям установщика
- Скачайте все файлы проекта в папку, например
C:\video-export\ - Откройте командную строку (Win+R →
cmd) - Перейдите в папку со скриптом:
cd C:\video-export
pip install -r requirements.txtpython simple_export.py -s 20 -e 40 -f 24 --fade --scale-mode crop --upload root:creality_2023@192.168.1.128Где:
-s 20- начать с 20 секунды видео-e 40- закончить на 40 секунде-f 24- 24 кадра в секунду--fade- добавить плавное появление/затухание--scale-mode crop- обрезать без искажений--upload- загрузить на принтер (формат:пользователь:пароль@IP)
ℹ️ Примечание: Если FFmpeg не установлен, скрипт автоматически скачает его при первом запуске (~80 MB).
- Python 3.7+
- FFmpeg (скачивается автоматически при необходимости)
- Библиотеки Python (устанавливаются автоматически):
# Интерактивный выбор файла
python simple_export.py
# Указать файл явно
python simple_export.py video.mp4# Экспорт с 5 по 15 секунду, 24 fps
python simple_export.py video.mp4 -s 5 -e 15 -f 24
# С fade-эффектами
python simple_export.py video.mp4 --fade
# С обрезкой для сохранения пропорций (без искажений)
python simple_export.py video.mp4 --scale-mode crop# Экспорт и загрузка на принтер
python simple_export.py video.mp4 --upload root:password@192.168.1.100:22
# Порт 22 по умолчанию (можно не указывать)
python simple_export.py video.mp4 --upload root:password@192.168.1.100
# Комбинация всех параметров
python simple_export.py video.mp4 -s 0 -e 10 -f 24 --fade --scale-mode crop --upload root:pass@192.168.1.100| Аргумент | Короткая форма | Описание | По умолчанию |
|---|---|---|---|
video |
- | Путь к видео файлу (опционально) | Диалог выбора |
--start |
-s |
Время начала в секундах | 0 |
--end |
-e |
Время конца в секундах | До конца видео |
--fps |
-f |
Кадров в секунду | 12 |
--fade |
- | Добавить fade in/out эффекты | Выключено |
--scale-mode |
- | Режим масштабирования: stretch (растянуть) или crop (обрезать) |
stretch |
--upload |
- | Загрузить на принтер (формат: user:pass@ip:port) | - |
Для загрузки на принтер используется URI-формат:
username:password@ip:port
После экспорта создается следующая структура:
export/
├── boot-display.conf # Конфигурационный файл
└── part0/ # Папка с кадрами
├── pic_000.jpg
├── pic_001.jpg
├── pic_002.jpg
└── ...
width: 480
height: 800
fps: 12
parts: 1
{ part0 }
Скрипт автоматически применяет следующие преобразования:
- Масштабирование: до 800x480 (исходный размер)
- stretch (по умолчанию): растягивает видео, игнорируя пропорции (может исказить)
- crop: сохраняет пропорции, обрезая лишнее (без искажений)
- Поворот: на 90° по часовой стрелке → итоговый размер 480x800
- Fade эффекты (если включены):
- Fade in: 1 секунда от начала
- Fade out: 1 секунда до конца
- Качество: максимальное (JPEG quality = 1)
- Используйте
stretchесли важно показать весь кадр (несмотря на возможные искажения) - Используйте
cropесли важно сохранить правильные пропорции (часть видео будет обрезана)
При загрузке на принтер происходит:
- Подключение по SSH к указанному адресу
- Backup: текущая папка
/etc/boot-displayпереименовывается в/etc/boot-display-BACK-YYYYMMDD_HHMMSS - Создание новой папки
/etc/boot-display - Загрузка всех файлов из локальной папки
export/(используется феллбек SCP если entwares(sftp-server) не обнаружен) - Закрытие соединения
# 1. Экспорт первых 5 секунд видео с 24 fps и fade-эффектами
python simple_export.py intro.mp4 -s 0 -e 5 -f 24 --fade
# 2. Проверка результата в папке export/part0/
# 3. Загрузка на принтер
python simple_export.py intro.mp4 -s 0 -e 5 -f 24 --fade --upload root:password@192.168.1.100# Стандартные настройки (12 fps, всё видео)
python simple_export.py animation.mp4
# Только часть видео
python simple_export.py long_video.mp4 -s 10 -e 20# Максимальный FPS для плавной анимации
python simple_export.py smooth.mp4 -f 30 --fadeПроблема: ✗ Ошибка: ffmpeg не найден!
Решение:
- Установите FFmpeg и добавьте в системный PATH
- Или поместите
ffmpeg.exeв папку со скриптом
Проблема: ✗ Ошибка подключения: ...
Решения:
- Проверьте IP-адрес и порт
- Убедитесь, что SSH включен на принтере
- Проверьте имя пользователя и пароль
- Проверьте сетевое подключение
Проблема: ✗ Ошибка: Неверный формат строки подключения
Решение: Используйте формат username:password@ip:port или username:password@ip
simple_export.py- основной скрипт экспортаprinter_uploader.py- модуль загрузки на принтерexport.bat- batch-файл для Windows (если есть)
FFmpeg поддерживает большинство видео форматов:
- MP4, AVI, MKV, MOV
- WebM, FLV, WMV
- И многие другие
Свободное использование
Создано для автоматизации подготовки boot-анимаций для принтеров