add .env.example
This commit is contained in:
12
.env.example
Normal file
12
.env.example
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Synology NAS
|
||||||
|
NAS_FQDN=https://your-nas.domain.com
|
||||||
|
NAS_USER=your_username
|
||||||
|
NAS_PASS=your_password
|
||||||
|
NAS_FILE=/team-folders/path/to/your/file.osheet
|
||||||
|
|
||||||
|
# Nexrender
|
||||||
|
NEXRENDER_API_URL=http://your-nexrender-server:3000/api/v1/jobs
|
||||||
|
OUTPUT_FOLDER=//your-storage/path/to/output
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
RUST_LOG=info
|
||||||
84
README.md
84
README.md
@@ -1,4 +1,4 @@
|
|||||||
# AE Anons - Автоматизированный генератор спортивных анонсов After Effects
|
# AE Anons - Автоматизированный генератор спортивных анонсов в After Effects
|
||||||
|
|
||||||
[](https://opensource.org/licenses/MIT) [](https://www.rust-lang.org/) [](https://git.tvstart.ru/lexx/AE_Anons)
|
[](https://opensource.org/licenses/MIT) [](https://www.rust-lang.org/) [](https://git.tvstart.ru/lexx/AE_Anons)
|
||||||
|
|
||||||
@@ -6,7 +6,9 @@
|
|||||||
|
|
||||||
## Обзор
|
## Обзор
|
||||||
|
|
||||||
AE Anons автоматизирует создание видеороликов спортивных анонсов путем:
|
AE Anons — это CLI-утилита на Rust, которая выступает как **интеллектуальный генератор заданий**
|
||||||
|
для [Nexrender](https://github.com/inlife/nexrender) — опенсорсного оркестратора рендеринга
|
||||||
|
After Effects (лицензия MIT).
|
||||||
|
|
||||||
1. Подключения к NAS Synology для получения данных расписания из файлов офисных таблиц (.osheet)
|
1. Подключения к NAS Synology для получения данных расписания из файлов офисных таблиц (.osheet)
|
||||||
2. Парсинга Excel данных, содержащих информацию о спортивных событиях, командах, каналах и временных интервалах
|
2. Парсинга Excel данных, содержащих информацию о спортивных событиях, командах, каналах и временных интервалах
|
||||||
@@ -15,11 +17,11 @@ AE Anons автоматизирует создание видеороликов
|
|||||||
|
|
||||||
## Особенности
|
## Особенности
|
||||||
|
|
||||||
- **Интеграция с Synology**: Плавная аутентификация и загрузка файлов с NAS Synology
|
- **Интеграция с Synology**: Аутентификация и загрузка файлов с NAS Synology
|
||||||
- **Экспорт офисных таблиц**: Автоматическое преобразование файлов .osheet в формат Excel
|
- **Экспорт офисных таблиц**: Автоматическое преобразование файлов .osheet в формат Excel
|
||||||
- **Гибкий парсинг данных**: Динамический парсинг листов с обнаружением заголовков
|
- **Гибкий парсинг данных**: Динамический парсинг листов с обнаружением заголовков
|
||||||
- **Множественная генерация вариантов**: Создание "Сегодня", "Завтра" и датированных версий для каждого анонса
|
- **Множественная генерация вариантов**: Создание "Сегодня", "Завтра" и датированных версий для каждого анонса
|
||||||
- **Умное управление логотипами**: Автоматическое разрешение и масштабирование логотипов на основе связей команд/спорта
|
- **Умное управление логотипами**: Автоматическое разрешение и масштабирование логотипов на основе хэштегов `#` в имени команды
|
||||||
- **Оркестрация заданий Nexrender**: Автоматическая отправка, мониторинг и очистка заданий
|
- **Оркестрация заданий Nexrender**: Автоматическая отправка, мониторинг и очистка заданий
|
||||||
- **Профессиональное логирование**: Структурированный журнал с возможностью настройки уровня детализации
|
- **Профессиональное логирование**: Структурированный журнал с возможностью настройки уровня детализации
|
||||||
- **Конфигурация через переменные окружения**: Все параметры управляются через файл `.env`
|
- **Конфигурация через переменные окружения**: Все параметры управляются через файл `.env`
|
||||||
@@ -27,9 +29,9 @@ AE Anons автоматизирует создание видеороликов
|
|||||||
## Предварительные требования
|
## Предварительные требования
|
||||||
|
|
||||||
- Rust 1.70 или выше
|
- Rust 1.70 или выше
|
||||||
- Доступ к NAS Synology с включенными File Station и Office
|
- Доступ к NAS Synology с установленными и включенными пакетами File Station и Office
|
||||||
- Экземпляр сервера Nexrender
|
- Экземпляр _server_ и _worker_(не менее одного) Nexrender
|
||||||
- Шаблоны After Effects, настроенные на узлах рендеринга (формат Adobe After Effects 2024 .aepx)
|
- Шаблоны After Effects, настроенные на _worker_ (формат Adobe After Effects 2024 .aepx)
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
@@ -50,7 +52,13 @@ cargo build --release
|
|||||||
|
|
||||||
### 3. Настройка окружения
|
### 3. Настройка окружения
|
||||||
|
|
||||||
Создайте файл `.env` в корне проекта:
|
Скопируйте пример конфигурации и заполните своими данными:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
```
|
||||||
|
|
||||||
|
Затем отредактируйте файл .env:
|
||||||
|
|
||||||
```env
|
```env
|
||||||
# Synology NAS
|
# Synology NAS
|
||||||
@@ -257,7 +265,7 @@ YYYYMMDD_Sport_League_TeamA_TeamB_Channel[_Variant].mp4
|
|||||||
- Проверьте сетевую связность с NAS
|
- Проверьте сетевую связность с NAS
|
||||||
- Убедитесь, что сервисы File Station и Office включены
|
- Убедитесь, что сервисы File Station и Office включены
|
||||||
|
|
||||||
#### Файл не найден**
|
#### Файл не найден
|
||||||
|
|
||||||
- Убедитесь, что путь в `NAS_FILE` точно соответствует пути в Synology Drive
|
- Убедитесь, что путь в `NAS_FILE` точно соответствует пути в Synology Drive
|
||||||
- Путь должен начинаться с `/Team Folder/` для рабочих папок
|
- Путь должен начинаться с `/Team Folder/` для рабочих папок
|
||||||
@@ -303,20 +311,18 @@ RUST_LOG=debug ./target/release/ae_anons
|
|||||||
### Структура кода
|
### Структура кода
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
src/
|
ae_anons/
|
||||||
├── main.rs # Точка входа и оркестрация приложения
|
├── Cargo.toml
|
||||||
├── config.rs # Управление конфигурацией
|
├── LICENSE
|
||||||
├── nexrender.rs # Генерация заданий Nexrender и структура данных
|
├── README.md
|
||||||
└── synology.rs # Клиент API Synology
|
├── .env.example
|
||||||
|
└── src/
|
||||||
|
├── main.rs # Точка входа и оркестрация приложения
|
||||||
|
├── config.rs # Управление конфигурацией
|
||||||
|
├── nexrender.rs # Генерация заданий Nexrender и структура данных
|
||||||
|
└── synology.rs # Клиент API Synology
|
||||||
```
|
```
|
||||||
|
|
||||||
### Планируемые новые возможностеи
|
|
||||||
|
|
||||||
1. Расширь `JobData` в `nexrender.rs` для новых полей данных
|
|
||||||
2. Обновить логику парсинга листов при необходимости добавления новых колонок
|
|
||||||
3. Добавьть соответствующие слои After Effects в шаблоны
|
|
||||||
4. Обновите метод `to_nexrender_job()` с новыми сопоставлениями ресурсов
|
|
||||||
|
|
||||||
## Зависимости
|
## Зависимости
|
||||||
|
|
||||||
| Crate | Версия | Назначение |
|
| Crate | Версия | Назначение |
|
||||||
@@ -331,22 +337,36 @@ src/
|
|||||||
| thiserror | 2.0 | Определение типов ошибок |
|
| thiserror | 2.0 | Определение типов ошибок |
|
||||||
| anyhow | 1.0 | Обработка ошибок |
|
| anyhow | 1.0 | Обработка ошибок |
|
||||||
|
|
||||||
|
### Планируемые новые возможности
|
||||||
|
|
||||||
|
1. Расширить `JobData` в `nexrender.rs` для новых полей данных
|
||||||
|
2. Обновить логику парсинга листов при необходимости добавления новых колонок
|
||||||
|
3. Добавить соответствующие слои After Effects в шаблоны
|
||||||
|
4. Обновите метод `to_nexrender_job()` с новыми сопоставлениями ресурсов
|
||||||
|
|
||||||
|
## 🙏 Благодарности
|
||||||
|
|
||||||
|
Особая благодарность проекту **[Nexrender](https://github.com/inlife/nexrender)**
|
||||||
|
([@inlife](https://github.com/inlife) и контрибьюторам) за создание надёжной платформы
|
||||||
|
для автоматизации After Effects.
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
|
**AE Anons** — [MIT License](LICENSE)
|
||||||
|
**Nexrender** — [MIT License](https://github.com/inlife/nexrender/blob/master/LICENSE)
|
||||||
|
|
||||||
### What does this mean?
|
Обе лицензии MIT обеспечивают полную свободу использования и модификации кода.
|
||||||
|
|
||||||
- ✅ **Commercial use** - You can use this in your company
|
**Разрешается:**
|
||||||
- ✅ **Modification** - You can change the code as you wish
|
|
||||||
- ✅ **Distribution** - You can share it with others
|
|
||||||
- ✅ **Private use** - You can use it privately
|
|
||||||
|
|
||||||
The only requirement is to keep the copyright notice and license text.
|
- ✅ Использовать в коммерческих целях
|
||||||
|
- ✅ Изменять исходный код
|
||||||
|
- ✅ Распространять копии
|
||||||
|
- ✅ Использовать приватно
|
||||||
|
|
||||||
---
|
**Требуется:**
|
||||||
|
|
||||||
Made with 🦀 Rust and ☕ coffee
|
- Сохранять копирайт и текст лицензии
|
||||||
|
|
||||||
## Поддержка
|
## Поддержка
|
||||||
|
|
||||||
@@ -366,3 +386,7 @@ Made with 🦀 Rust and ☕ coffee
|
|||||||
- Создание множественных вариантов
|
- Создание множественных вариантов
|
||||||
- Автоматические настройки размера шрифта и позиции
|
- Автоматические настройки размера шрифта и позиции
|
||||||
- Умное масштабирование логотипов по целевому размеру
|
- Умное масштабирование логотипов по целевому размеру
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Made with 🦀 Rust and ☕ coffee
|
||||||
|
|||||||
Reference in New Issue
Block a user