Стилистические правки и редактирование оформления
This commit is contained in:
114
README.md
114
README.md
@@ -92,15 +92,15 @@ RUST_LOG=debug cargo run
|
|||||||
|
|
||||||
### Переменные окружения
|
### Переменные окружения
|
||||||
|
|
||||||
| Переменная | Обязательна | Описание |
|
| Переменная | Обязательна | Описание |
|
||||||
|------------|-------------|----------|
|
|---------------------|-------------|------------------------------------------------------|
|
||||||
| `NAS_FQDN` | Да | URL NAS Synology с протоколом и портом |
|
| `NAS_FQDN` | Да | URL NAS Synology с протоколом и портом |
|
||||||
| `NAS_USER` | Да | Имя пользователя учетной записи Synology |
|
| `NAS_USER` | Да | Имя пользователя учетной записи Synology |
|
||||||
| `NAS_PASS` | Да | Пароль учетной записи Synology |
|
| `NAS_PASS` | Да | Пароль учетной записи Synology |
|
||||||
| `NAS_FILE` | Да | Полный путь к файлу .osheet на NAS |
|
| `NAS_FILE` | Да | Полный путь к файлу .osheet на NAS |
|
||||||
| `NEXRENDER_API_URL` | Да | Конечная точка API сервера Nexrender |
|
| `NEXRENDER_API_URL` | Да | Конечная точка API сервера Nexrender |
|
||||||
| `OUTPUT_FOLDER` | Да | Сетевой путь для рендеренных видео |
|
| `OUTPUT_FOLDER` | Да | Сетевой путь для рендеренных видео |
|
||||||
| `RUST_LOG` | Нет | Уровень детализации логирования (по умолчанию: info) |
|
| `RUST_LOG` | Нет | Уровень детализации логирования (по умолчанию: info) |
|
||||||
|
|
||||||
## Структура электронной таблицы
|
## Структура электронной таблицы
|
||||||
|
|
||||||
@@ -110,11 +110,11 @@ RUST_LOG=debug cargo run
|
|||||||
|
|
||||||
Связывает названия видов спорта с соответствующими видео пакетами.
|
Связывает названия видов спорта с соответствующими видео пакетами.
|
||||||
|
|
||||||
| SPORT | LINK |
|
| SPORT | LINK |
|
||||||
|-------|------|
|
|----------------|---------------------------------------------|
|
||||||
| Без оформления | \\server\share\path\to\null.mov |
|
| Без оформления | \\server\share\path\to\null.mov |
|
||||||
| Футбол | \\server\share\path\to\football_pack.mov |
|
| Футбол | \\server\share\path\to\football_pack.mov |
|
||||||
| Волейбол | \\server\share\path\to\volleyball_pack.mov |
|
| Волейбол | \\server\share\path\to\volleyball_pack.mov |
|
||||||
|
|
||||||
### Лист "TEAMS"
|
### Лист "TEAMS"
|
||||||
|
|
||||||
@@ -122,20 +122,20 @@ RUST_LOG=debug cargo run
|
|||||||
|
|
||||||
Если несколько команд в одном виде спорта имеют одинаковые названия, но разные логотипы, используется разделитель хеш # для уникальной идентификации.
|
Если несколько команд в одном виде спорта имеют одинаковые названия, но разные логотипы, используется разделитель хеш # для уникальной идентификации.
|
||||||
|
|
||||||
| TEAM | SPORT | LINK |
|
| TEAM | SPORT | LINK |
|
||||||
|------|-------|------|
|
|-------------------|-----------|---------------------------------------------------|
|
||||||
| Галатасарай#Turki | Футбол | \\server\share\path\to\galatasaray_football.png |
|
| Галатасарай#Turki | Футбол | \\server\share\path\to\galatasaray_football.png |
|
||||||
| Галатасарай | Волейбол | \\server\share\path\to\galatasaray_volleyball.png |
|
| Галатасарай | Волейбол | \\server\share\path\to\galatasaray_volleyball.png |
|
||||||
| Галатасарай#UCL | Волейбол | \\server\share\path\to\galatasaray_ucl.png |
|
| Галатасарай#UCL | Волейбол | \\server\share\path\to\galatasaray_ucl.png |
|
||||||
| Сомбатей##400 | Футбол | \\server\share\path\to\szombathely.png |
|
| Сомбатей##400 | Футбол | \\server\share\path\to\szombathely.png |
|
||||||
|
|
||||||
### Лист "CHANELL"
|
### Лист "CHANELL"
|
||||||
|
|
||||||
Сопоставляет названия каналов с их логотипами. Поля заполняются вручную без выпадающих списков.
|
Сопоставляет названия каналов с их логотипами. Поля заполняются вручную без выпадающих списков.
|
||||||
|
|
||||||
| CHANEL | LINK |
|
| CHANEL | LINK |
|
||||||
|--------|------|
|
|---------|-----------------------------------------|
|
||||||
| КАНАЛ | \\server\share\path\to\channel_logo.png |
|
| КАНАЛ | \\server\share\path\to\channel_logo.png |
|
||||||
| TRIUMPH | \\server\share\path\to\triumph_logo.png |
|
| TRIUMPH | \\server\share\path\to\triumph_logo.png |
|
||||||
|
|
||||||
### Лист "Start"
|
### Лист "Start"
|
||||||
@@ -146,10 +146,10 @@ RUST_LOG=debug cargo run
|
|||||||
|
|
||||||
**Примечание**: Колонка LEAGUE обязательна для заполнения, но не имеет выпадающего списка. Проверка орфографии и опечаток отсутствует!
|
**Примечание**: Колонка LEAGUE обязательна для заполнения, но не имеет выпадающего списка. Проверка орфографии и опечаток отсутствует!
|
||||||
|
|
||||||
| STATE | TRIPPLE | DATA | TIME | SPORT | LEAGUE | CHANEL | TEAM A | TEAM B |
|
| STATE | TRIPPLE | DATA | TIME | SPORT | LEAGUE | CHANEL | TEAM A | TEAM B |
|
||||||
|-------|---------|------|------|-------|--------|--------|--------|--------|
|
|--------|---------|-----------|-------|----------|---------------------------|---------|-----------------|-------------------|
|
||||||
| TRUE | TRUE | 27.2.2026 | 23:40 | Футбол | Чемпионат Португалии | START | Спортинг#ll#550 | Эшторил#ll#550 |
|
| TRUE | TRUE | 27.2.2026 | 23:40 | Футбол | Чемпионат Португалии | START | Спортинг#ll#550 | Эшторил#ll#550 |
|
||||||
| FALSE | TRUE | 28.2.2026 | 12:55 | Волейбол | Чемпионат Турции. Женщины | TRIUMPH | Бешикташ | Галатасарай#Turki |
|
| FALSE | TRUE | 28.2.2026 | 12:55 | Волейбол | Чемпионат Турции. Женщины | TRIUMPH | Бешикташ | Галатасарай#Turki |
|
||||||
|
|
||||||
### Формат имен команд
|
### Формат имен команд
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ RUST_LOG=debug cargo run
|
|||||||
|
|
||||||
Рендерные видео сохраняются в `OUTPUT_FOLDER` по следующему шаблону именования:
|
Рендерные видео сохраняются в `OUTPUT_FOLDER` по следующему шаблону именования:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
YYYYMMDD_Sport_League_TeamA_TeamB_Channel[_Variant].mp4
|
YYYYMMDD_Sport_League_TeamA_TeamB_Channel[_Variant].mp4
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -214,24 +214,24 @@ YYYYMMDD_Sport_League_TeamA_TeamB_Channel[_Variant].mp4
|
|||||||
|
|
||||||
### Типы шаблонов
|
### Типы шаблонов
|
||||||
|
|
||||||
| Файл шаблона | Назначение |
|
| Файл шаблона | Назначение |
|
||||||
|--------------|------------|
|
|------------------------|---------------------------------|
|
||||||
| `PackShot_DOUBLE.aepx` | Сопоставление с двумя командами |
|
| `PackShot_DOUBLE.aepx` | Сопоставление с двумя командами |
|
||||||
| `PackShot_SINGLE.aepx` | Анонсы для одной команды |
|
| `PackShot_SINGLE.aepx` | Анонсы для одной команды |
|
||||||
|
|
||||||
### Обязательные слои
|
### Обязательные слои
|
||||||
|
|
||||||
| Имя слоя | Тип | Описание |
|
| Имя слоя | Тип | Описание |
|
||||||
|----------|-----|----------|
|
|------------------------|-------|-------------------------------------------------|
|
||||||
| DATA | Text | Отображение даты (автоматически подстраивается) |
|
| DATA | Text | Отображение даты (автоматически подстраивается) |
|
||||||
| TIME / TIME_H / TIME_M | Text | Отображение времени |
|
| TIME / TIME_H / TIME_M | Text | Отображение времени |
|
||||||
| LEAGUE | Text | Название лиги |
|
| LEAGUE | Text | Название лиги |
|
||||||
| SPORT | Text | Категория спорта |
|
| SPORT | Text | Категория спорта |
|
||||||
| TEAMS | Text | Скомбинированные имена команд |
|
| TEAMS | Text | Скомбинированные имена команд |
|
||||||
| TEAM_A_LOGO | Image | Логотип домашней команды |
|
| TEAM_A_LOGO | Image | Логотип домашней команды |
|
||||||
| TEAM_B_LOGO | Image | Логотип гостевой команды |
|
| TEAM_B_LOGO | Image | Логотип гостевой команды |
|
||||||
| CHANEL | Image | Логотип канала |
|
| CHANEL | Image | Логотип канала |
|
||||||
| TOP | Video | Наложение видео оформления |
|
| TOP | Video | Наложение видео оформления |
|
||||||
|
|
||||||
### Настройки композиции
|
### Настройки композиции
|
||||||
|
|
||||||
@@ -244,19 +244,19 @@ YYYYMMDD_Sport_League_TeamA_TeamB_Channel[_Variant].mp4
|
|||||||
|
|
||||||
### Частые проблемы
|
### Частые проблемы
|
||||||
|
|
||||||
**Ошибка подключения к NAS**
|
#### Ошибка подключения к NAS
|
||||||
|
|
||||||
- Проверьте, что `NAS_FQDN` включает протокол и порт (например, `https://nas.example.com:5001`)
|
- Проверьте, что `NAS_FQDN` включает протокол и порт (например, `https://nas.example.com:5001`)
|
||||||
- Проверьте сетевую связность с NAS
|
- Проверьте сетевую связность с NAS
|
||||||
- Убедитесь, что сервисы File Station и Office включены
|
- Убедитесь, что сервисы File Station и Office включены
|
||||||
|
|
||||||
**Файл не найден**
|
#### Файл не найден**
|
||||||
|
|
||||||
- Убедитесь, что путь в `NAS_FILE` точно соответствует пути в Synology Drive
|
- Убедитесь, что путь в `NAS_FILE` точно соответствует пути в Synology Drive
|
||||||
- Путь должен начинаться с `/Team Folder/` для рабочих папок
|
- Путь должен начинаться с `/Team Folder/` для рабочих папок
|
||||||
- Проверьте права доступа к файлу для учетной записи сервиса
|
- Проверьте права доступа к файлу для учетной записи сервиса
|
||||||
|
|
||||||
**Ошибка отправки задания Nexrender**
|
#### Ошибка отправки задания Nexrender
|
||||||
|
|
||||||
- Подтвердите доступность сервера Nexrender
|
- Подтвердите доступность сервера Nexrender
|
||||||
- Убедитесь, что `NEXRENDER_API_URL` правильный
|
- Убедитесь, что `NEXRENDER_API_URL` правильный
|
||||||
@@ -295,7 +295,7 @@ RUST_LOG=debug ./target/release/ae_anons
|
|||||||
|
|
||||||
### Структура кода
|
### Структура кода
|
||||||
|
|
||||||
```
|
```shell
|
||||||
src/
|
src/
|
||||||
├── main.rs # Точка входа и оркестрация приложения
|
├── main.rs # Точка входа и оркестрация приложения
|
||||||
├── config.rs # Управление конфигурацией
|
├── config.rs # Управление конфигурацией
|
||||||
@@ -312,17 +312,17 @@ src/
|
|||||||
|
|
||||||
## Зависимости
|
## Зависимости
|
||||||
|
|
||||||
| Crate | Версия | Назначение |
|
| Crate | Версия | Назначение |
|
||||||
|-------|--------|------------|
|
|--------------------|--------|-----------------------------------------|
|
||||||
| reqwest | 0.12 | HTTP клиент для коммуникации API |
|
| reqwest | 0.12 | HTTP клиент для коммуникации API |
|
||||||
| serde / serde_json | 1.0 | Сериализация JSON |
|
| serde / serde_json | 1.0 | Сериализация JSON |
|
||||||
| calamine | 0.26 | Парсинг файлов Excel |
|
| calamine | 0.26 | Парсинг файлов Excel |
|
||||||
| chrono | 0.4 | Обработка дат и времени |
|
| chrono | 0.4 | Обработка дат и времени |
|
||||||
| tokio | 1.0 | Асинхронная среда выполнения |
|
| tokio | 1.0 | Асинхронная среда выполнения |
|
||||||
| dotenv | 0.15 | Конфигурация через переменные окружения |
|
| dotenv | 0.15 | Конфигурация через переменные окружения |
|
||||||
| log / env_logger | 0.11 | Инфраструктура логирования |
|
| log / env_logger | 0.11 | Инфраструктура логирования |
|
||||||
| thiserror | 2.0 | Определение типов ошибок |
|
| thiserror | 2.0 | Определение типов ошибок |
|
||||||
| anyhow | 1.0 | Обработка ошибок |
|
| anyhow | 1.0 | Обработка ошибок |
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user