[2026-05-18] business coaching: сессия 1 W20 — лендинг до 20.05, страх публичности как реальный блок

This commit is contained in:
Alexey Martemyanov
2026-05-18 14:27:24 +06:00
parent 749c9f6340
commit 8bf7e11fca
5 changed files with 146 additions and 27 deletions
+32 -11
View File
@@ -32,20 +32,41 @@ PGS и ASS (SSA) субтитры вызывают **burn-in** — Jellyfin ре
## Решение: конвертация PGS → SRT
Для всей библиотеки конвертировать PGS-субтитры в SRT через `pgsrip`:
Установка через uv (arm64/aarch64 совместимо):
```bash
# Установка
pip install pgsrip
# Конвертация одного файла (MKV с PGS)
pgsrip film.mkv --language rus
# Массовая конвертация
find /media -name "*.mkv" | xargs -I{} pgsrip "{}" --language rus
~/.local/bin/uv tool install pgsrip
sudo apt-get install -y libgl1 libglib2.0-0 tesseract-ocr tesseract-ocr-rus tesseract-ocr-eng
```
После конвертации: внешние `.srt` файлы Jellyfin читает без транскода.
Скрипт конвертации:
```
/srv/dev-disk-by-uuid.../docker/media-pipeline/pgs-to-srt.sh
```
```bash
# один файл
pgs-to-srt.sh /media/movies/Film.mkv
# вся директория
pgs-to-srt.sh /media
```
Логи: `/srv/.../docker/media-pipeline/pgs-to-srt.log`
Скрипт:
- Скипает файлы без PGS-дорожек (S_HDMV)
- Скипает если .srt уже есть рядом
- Пишет лог с timestamp
После конвертации Jellyfin читает внешние `.srt` без транскода.
## Transmission completion hook
Хук `/config/on-download-complete.sh` (монтируется в контейнер `:ro`) после завершения загрузки:
1. Запускает media-pipeline sync
2. Запускает pgs-to-srt.sh для скачанного файла/директории
Лог: `/srv/.../docker/media-pipeline/download-complete.log`
## Итог по субтитрам