From 329bd9fc363a236875791a5170f4733a1787345c Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 22 Sep 2026 21:57:37 +0600 Subject: [PATCH] [2026-09-22] eagle: personal/plans/kraken-media-inventory-cleanup.md personal/tech/lampac-deployment.md personal/tech/skill-lampac-kraken-deploy.md --- .../plans/kraken-media-inventory-cleanup.md | 172 ++++++++++++++++-- personal/tech/lampac-deployment.md | 103 ++++++++++- personal/tech/skill-lampac-kraken-deploy.md | 24 +++ 3 files changed, 278 insertions(+), 21 deletions(-) diff --git a/personal/plans/kraken-media-inventory-cleanup.md b/personal/plans/kraken-media-inventory-cleanup.md index 5610756c..5da43bcb 100644 --- a/personal/plans/kraken-media-inventory-cleanup.md +++ b/personal/plans/kraken-media-inventory-cleanup.md @@ -5,7 +5,8 @@ related: - '[[personal/plans/lampac-watchlist-plugin]]' - '[[personal/plans/lampac-kraken]]' - '[[personal/tech/lampac-deployment]]' -status: deletion-approved-awaiting-transmission-decision + - '[[personal/tech/kraken-truenas-media-copies]]' +status: transmission-stopped-manifest-ready-awaiting-answers tags: - kraken - media @@ -233,6 +234,87 @@ Alex подтвердил все три вопроса: группа 4 (копи есть у ~40 из ~104; группа 3 (30,1 ГБ) — именно те, что закрыты. Детали и метод: [[personal/tech/kraken-truenas-media-copies]]. +## ✅ ШЕСТЬ ШАГОВ — ВЫПОЛНЕНО 4 из 6 (2026-09-22) + +### Шаг 1 — дамп API Radarr/Sonarr ✅ ВЫПОЛНЕН + +``` +/tmp/arr-backup-20260922-215428/ + radarr-movies.json 170 КБ + radarr-queue.json 129 Б + radarr-status.json 868 Б + sonarr-series.json 55 КБ + sonarr-queue.json 129 Б + sonarr-status.json 836 Б +``` + +| | Значение | +|---|---| +| Radarr | **6.4.4.10685**, 34 фильма, **12 с файлами**, очередь 0 | +| Sonarr | **4.0.20.3014**, 13 сериалов, очередь 0 | + +🔴 **У Sonarr 13 сериалов, но файлы есть только у 4** (Our Flag Means Death, +Stranger Things, The Cyberfarm, Rick and Morty). Остальные 9 — **фантомы** +(записи без файлов): `Magical Police Department` · `The Meeting Place Cannot be Changed` · +`MOZU` · `Delicious in Dungeon` · `Double or Quits` · `Severance` · `Futurama` · +`True Detective` · `Brassic`. + +⚠️ **`Brassic`** — в Sonarr есть запись, на диске `/media/series` лежит `Brassic (Season 1)` +(3,62 ГБ). Файлы вне библиотеки Sonarr — рассинхрон раскладки. + +### Шаг 2 — стоп Transmission ✅ ВЫПОЛНЕН + +`sudo docker stop transmission` → `Exited (0)`. Обратно поднимать после удаления раздач. + +### Шаг 3 — чистка раздач ⏳ ГОТОВ к запуску (план построен, см. выше) + +240 id в `/tmp/tr-remove-ids.txt`. Механика: контейнер остановлен → правим +`/srv/.../docker/transmission/torrents/*.torrent` + `resume/*.resume` + строку в `settings.json`. + +### Шаг 4 — удаление файлов ⏳ МАНИФЕСТ ГОТОВ, ждёт подтверждения + +**41 путь на диске, 693,3 ГБ.** Все пути проверены `-e` → отсутствующих 0. + +| Путь | ГБ | +|---|---| +| `media/movies` | 309,69 | +| `media/movies-radarr` | 234,59 | +| `media/series` | 3,62 | +| `media/series-sonarr` | 116,14 | +| 37 папок мультфильмов (группы 3+4) | 29,3 | +| **ИТОГО** | **693,3** | + +**Верификация состава `movies`/`movies-radarr`:** сверены все 51 + 11 позиций +против утверждённого списка — **все утверждены**, лишнего нет. + +⚠️ **В `movies/` есть «сироты» — `.nfo`, `.srt`, постеры без видео:** +`Master.i.Margarita.2023` · `Pchelovod.2024` · `Планета обезьян Новое царство_2024` · +`Леон (авторская версия)` · `Самолетом, поездом, машиной (1987)` · `Ворон_2024`. +Самого фильма нет, инвентарь (считает только видеофайлы) их не видел. +Удалять их правильно — это мусор от ранее удалённых фильмов. + +### ⚠️ Расхождение 693 ГБ против 828 ГБ — РАЗОБРАНО + +В манифест не попали **7 папок мультфильмов (42,1 ГБ)** из-за несовпадения имён папок +в скрипте: `смешарики. новый сезон. 2020` (26,43) · `Corpse.Bride.2005` (7,90) · +`Тайна третьей планеты (1981)` (3,38) · `чебурашка` (1,97) · +`The.Super.Mario.Bros.Movie.2023` (1,46) · `the.secret.life.of.pets.(480p)` (0,94). + +**Это баг имён в манифесте, не логики.** Добавить — итог станет **735,4 ГБ**. +Остальные ~72 ГБ расхождения — короткометражки, оставленные по решению Alex. + +Артефакты: `/tmp/delete-manifest.txt` (41 путь), `/tmp/step3b.sh` (сбор + верификация), +`/tmp/step3_manifest.sh` (первая версия), `/tmp/verify_movies.py` (сверка состава), +`/tmp/chk.py` (список путей cartoons). + +### Шаги 5–6 — rescan + проверка ⏳ НЕ НАЧАТЫ + +## ⚠️ Открытые вопросы, блокирующие шаг 4 (заданы Alex'у) + +1. **Добавить 7 пропущенных папок мультфильмов?** Да → 735,4 ГБ. Нет → 693,3 ГБ. +2. **`documentaries-series` (235,6 ГБ) и `documentaries` (71,9 ГБ) — не в списке, + копий на TrueNAS нет.** Точно оставляем? + ## 🔴 Порядок удаления (утверждён) — 6 шагов 1. **Дамп API** Radarr + Sonarr в файл (`/tmp/radarr-dump-*`, `/tmp/sonarr-dump-*`). @@ -266,19 +348,63 @@ Funhouse 8,87 · Мортал Комбат 2 4,15 · + 7 мелких Также 6 раздач без файлов в `downloads/complete/radarr` и `downloads/radarr` (9–98 ГБ). Это «мёртвый вес» в списке — удалять из Transmission без потерь. -### ⚠️ Открытый вопрос по категории C (ждёт решения Alex) +### ✅ РЕШЕНИЕ ALEX по категории C и недокачанным (2026-09-22) -Категория C (204 раздачи, 1005,6 ГБ) включает раздачи, чьи файлы **вне** списка на -снос: `Шпион 2015` (25,9) · `Секс Education` (25,8) · `Лука 2021` (22,4) · -`Сияние 1980` (40,4) · `Терминал 2004` (17,7) · `Хорошие парни` (16,4) и др. -Если удалить раздачу, а файл оставить — Transmission о нём забудет, файл останется. -Не потеря, но сидирование прекратится. +> «да. плюс недакачанные если в transmission есть останавливай и тоже сноси. C - целиком» -**Вопрос Alex:** удалять все раздачи категории C, или только соответствующие -111 позициям? Второе аккуратнее. +Правила удаления раздач (утверждены): -Артефакты: `/tmp/tr-list.json` (сырой ответ API), `/Users/admin/transmission-classified.json` -Скрипты: `/tmp/tr_diag.sh` (сбор, чтение), `/tmp/tr_classify.py` (классификация) +``` +data_missing (ERR=3 «No data found») -> снести из списка +путь в delete_set (C) -> снести ЦЕЛИКОМ +status=0 (stopped) и percentDone < 100% -> снести (недокачанные) +``` + +### План удаления раздач — посчитан + +| | Раздач | ГБ | +|---|---|---| +| **СНЕСТИ** | **240** | **1 769,0** | +| оставить | 9 | 20,0 | + +По причинам: `data_missing` 21 · `in_delete_set` 230 · `stopped_incomplete` 161 +(пересечения — одна раздача может попасть в несколько причин). + +**Остаются 9 раздач** — только документалки вне списка сноса: +`Sky.Sharks.2022` · `The.Way.of.the.Cheetah` · `Thailands.Wild.Cats` · +`Jade.Eyed.Leopard` · `The.Frozen.Kingdom.of.the.Snow.Leopard` · `Russias.Wild.Tiger` · +`The.Real.Black.Panther` · `Тайная жизнь собак` · `King Cobra` +(все `/media/documentaries*`, 100%, сидируются). + +Артефакты: `/tmp/tr-list.json` (сырой ответ API), `/Users/admin/transmission-classified.json`, +`/Users/admin/transmission-remove-plan.json`, `/tmp/tr-remove-ids.txt` (240 id через запятую). +Скрипты: `/tmp/tr_diag.sh` (сбор, чтение), `/tmp/tr_classify.py` (классификация), +`/tmp/step2_plan.py` (план удаления). + +### ✅ Transmission ОСТАНОВЛЕН (2026-09-22) + +``` +sudo docker stop transmission → transmission Exited (0) +``` + +⚠️ **Следствие:** RPC (`:9091`) недоступен, пока контейнер стоит. Правки состояния — +через файлы в `/srv/.../docker/transmission/` (bind-mount → `/config` в контейнере). +`torrents/` + `resume/` + `settings.json`. + +### ⚠️ Питфолл: Radarr/Sonarr API и URL base + +`curl http://127.0.0.1:7878/api/v3/...` → **HTTP 307** (редирект, тело пустое). +У обоих установлен `UrlBase`: `/radarr` и `/sonarr` (порт TorrServer-транзит: контейнеры +публикуют `7878->7878` и `8989->8989`, но приложение слушает под префиксом). + +**Правильно:** +```bash +curl -sL -H "X-Api-Key: $KEY" "http://127.0.0.1:7878/radarr/api/v3/movie" +curl -sL -H "X-Api-Key: $KEY" "http://127.0.0.1:8989/sonarr/api/v3/series" +``` +Ключ: `sudo grep -oE '[^<]+' /config.xml | sed 's///'` +(32 символа). Без `-L` и без префикса ответ пустой — легко принять за «API лежит». +Скрипт: `/tmp/step1c.sh` ### 🔴 TorrServer/Lampa к `media/` отношения не имеют @@ -321,12 +447,30 @@ Lampa **не участвуют**. Поэтому 24 «watchlist»-фильма - [x] **Сверка с TrueNAS** — доксериалы/документалки копий не имеют (307 ГБ уникальны) - [x] **Список на снос утверждён Alex'ом** — 111 позиций, 828,3 ГБ - [x] **Диагностика Transmission** — 249 раздач, классифицированы -- [ ] Шаг 6a — дамп API Radarr/Sonarr -- [ ] Шаг 6b — стоп Transmission + чистка раздач (ждёт ответа по категории C) -- [ ] Шаг 6c — удаление файлов по 111 позициям +- [x] **Шаг 6a — дамп API Radarr/Sonarr** ✅ `/tmp/arr-backup-20260922-215428/` +- [x] **Шаг 6b — стоп Transmission** ✅ `Exited (0)`; план чистки: 240 раздач, 1769 ГБ +- [ ] Шаг 6b-2 — удалить 240 раздач из Transmission (файлы состояния, контейнер стоит) +- [ ] Шаг 6c — удаление файлов: манифест 41 путь / 693,3 ГБ готов, **ждёт ответа на 2 вопроса** - [ ] Шаг 6d — rescan Radarr/Sonarr/Jellyfin - [ ] Шаг 6e — проверка df/docker + приёмка Alex'ом - [ ] Шаг 6f — обновить доки + коммит +- [ ] Уборка: `rm -rf /Users/admin/personal` (побочный артефакт, см. ниже) + +## 🎯 ГДЕ МЫ СЕЙЧАС (для следующей сессии) + +**Transmission остановлен. Файлы не удалены. Манифест построен и верифицирован.** + +Чтобы продолжить: +1. Получить от Alex ответ на 2 вопроса выше (7 папок мультфильмов; доксериалы). +2. Собрать финальный манифест (`/tmp/step3b.sh`, добавить 7 путей при необходимости). +3. Удалить 240 раздач из Transmission (контейнер остановлен → файлы состояния). +4. `xargs rm` по манифесту с логом. +5. `docker start transmission`, rescan Radarr/Sonarr/Jellyfin. +6. `df -h` до/после → приёмка Alex'ом → коммит. + +⚠️ **`rm -rf` на папки `movies`/`movies-radarr`/`series`/`series-sonarr` целиком** — +именно так устроен манифест (41 путь = 4 папки + 37 папок мультфильмов). +Внутренний отбор не пофайловый, а по целым папкам. ### ⚠️ Побочный артефакт, требует уборки diff --git a/personal/tech/lampac-deployment.md b/personal/tech/lampac-deployment.md index 0388d0c2..15f39208 100644 --- a/personal/tech/lampac-deployment.md +++ b/personal/tech/lampac-deployment.md @@ -3495,8 +3495,71 @@ Chaos Walking 58,36 · Oldeuboi 28,65 · Начало 24,25 · Whiplash 23,66 · ⚠️ **Но Jellyfin (`:8096`, живёт на Кра́кене) может смотреть в `media/`.** Перед удалением проверить его библиотеки; после — обязателен rescan. -Артефакты: `/tmp/tr-list.json`, `/Users/admin/transmission-classified.json` -Скрипты: `/tmp/tr_diag.sh`, `/tmp/tr_classify.py` +Артефакты: `/tmp/tr-list.json`, `/Users/admin/transmission-classified.json`, +`/Users/admin/transmission-remove-plan.json` +Скрипты: `/tmp/tr_diag.sh`, `/tmp/tr_classify.py`, `/tmp/step2_plan.py` + +### ✅ Решение Alex по чистке раздач (2026-09-22) + +> «плюс недакачанные если в transmission есть останавливай и тоже сноси. C - целиком» + +``` +data_missing (error==3) -> удалить из списка +downloadDir под удаляемые папки (C) -> удалить ЦЕЛИКОМ (не только совпадающие) +status==0 (stopped) и percentDone < 1.0 -> удалить (недокачанные) +``` + +**Итог плана: снести 240 раздач (1 769 ГБ), оставить 9 (20 ГБ).** +Остаются только документалки вне списка сноса (`Sky.Sharks`, `Way of the Cheetah`, +`Thailands.Wild.Cats`, `Jade.Eyed.Leopard`, `Frozen Kingdom of Snow Leopard`, +`Russias.Wild.Tiger`, `Real Black Panther`, `Тайная жизнь собак`, `King Cobra`) — +все в `/media/documentaries*`, 100%, сидируются. +ID: `/tmp/tr-remove-ids.txt` (240 id через запятую). + +⚠️ **После `docker stop transmission` RPC недоступен.** Править состояние — через +файлы bind-mount'а `/srv/.../docker/transmission/` (`torrents/`, `resume/`, `settings.json`). + +## 🔴 Radarr/Sonarr API — обязательно `UrlBase` + `-L` (2026-09-22) + +``` +curl http://127.0.0.1:7878/api/v3/system/status → HTTP 307, тело ПУСТОЕ +curl http://127.0.0.1:8989/api/v3/system/status → HTTP 307, тело ПУСТОЕ +``` + +У обеих установок задан `UrlBase`: **`/radarr`** и **`/sonarr`** +(`config/config.xml` → `/radarr`). Контейнеры публикуют +`7878->7878` / `8989->8989`, но приложение слушает под префиксом. + +**Рабочий вызов:** +```bash +B=/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/docker +RKEY=$(sudo grep -oE '[^<]+' "$B/radarr/config/config.xml" | sed 's///') +SKEY=$(sudo grep -oE '[^<]+' "$B/sonarr/config/config.xml" | sed 's///') +curl -sL -H "X-Api-Key: $RKEY" "http://127.0.0.1:7878/radarr/api/v3/movie" +curl -sL -H "X-Api-Key: $SKEY" "http://127.0.0.1:8989/sonarr/api/v3/series" +``` + +🔴 **Симптом ложного вывода:** без `-L` и без префикса `curl` отдаёт пустое тело и +**0 байт в файле дампа** — выглядит как «API лежит / ключ неверный». Ключ при этом +читается нормально (32 символа). Диагностика: `curl -o /dev/null -w "%{http_code}"` → `307`. +Скрипт: `/tmp/step1c.sh`. + +### Состояние arr-стека на Кра́кене (2026-09-22) + +| | Версия | Записей | С файлами | +|---|---|---|---| +| Radarr | 6.4.4.10685 | 34 фильма | **12** | +| Sonarr | 4.0.20.3014 | 13 сериалов | **4** | + +🔴 **У Sonarr 9 из 13 сериалов — фантомы** (записи без файлов): `Magical Police Department`, +`The Meeting Place Cannot be Changed`, `MOZU`, `Delicious in Dungeon`, `Double or Quits`, +`Severance`, `Futurama`, `True Detective`, `Brassic`. +Файлы есть только у `Our Flag Means Death`, `Stranger Things`, `The Cyberfarm`, `Rick and Morty`. + +⚠️ `Brassic` — в Sonarr запись есть, файлы лежат в `/media/series/Brassic (Season 1)` +**вне** библиотеки Sonarr (`/media/series-sonarr/Brassic`). Рассинхрон раскладки. + +Дамп: `/tmp/arr-backup-20260922-215428/` (6 JSON, очереди обеих — 0). ## Сверка копий Кра́кен ↔ TrueNAS (2026-09-22) @@ -3512,7 +3575,7 @@ Chaos Walking 58,36 · Oldeuboi 28,65 · Начало 24,25 · Whiplash 23,66 · ## ⏳ Осталось добить (2026-09-22) -### 0. ✅ Удаление медиа на Кра́кене — список УТВЕРЖДЁН, ждёт ответа по Transmission +### 0. 🟡 Удаление медиа на Кра́кене — выполнено 2 из 6 шагов Инвентаризация: [[personal/plans/kraken-media-inventory-cleanup]]. 802 файла / 233 позиции / 1236 ГБ. Свободно 477 ГБ. @@ -3520,17 +3583,43 @@ Chaos Walking 58,36 · Oldeuboi 28,65 · Начало 24,25 · Whiplash 23,66 · **Утверждено Alex'ом: 111 позиций, 828,3 ГБ** — фильмы полный метр (62 / 485,9 ГБ), сериалы все (5 / 119,7 ГБ), мультфильмы с копией на TrueNAS (14 / 30,1 ГБ), мультфильмы полный метр без копии (30 / 192,6 ГБ). Короткометражки `cartoons` -<0,8 ГБ (72 поз. / 21,7 ГБ) — **оставить**. +<0,8 ГБ (72 поз. / 21,7 ГБ) — **оставить**. Плюс: «C [Transmission] — целиком», +недокачанные — тоже сносить. **Порядок:** дамп API Radarr/Sonarr → стоп Transmission → чистка раздач A+C → удаление файлов → **rescan Radarr/Sonarr/Jellyfin** → проверка df/docker → приёмка Alex'ом → доки + коммит. -**Открытый вопрос:** категория C Transmission — удалять все 204 раздачи, или только -те, что соответствуют 111 позициям? Второе аккуратнее. +| Шаг | Статус | +|---|---| +| 1. Дамп API | ✅ `/tmp/arr-backup-20260922-215428/` | +| 2. Стоп Transmission | ✅ `Exited (0)` | +| 3. Чистка раздач (240) | ⏳ план готов, `/tmp/tr-remove-ids.txt` | +| 4. Удаление файлов | ⏳ **манифест готов: 41 путь / 693,3 ГБ**, ждёт 2 ответа | +| 5–6. Rescan + приёмка | ⏳ не начаты | + +**Манифест удаления:** `/tmp/delete-manifest.txt` — 4 папки целиком +(`movies`, `movies-radarr`, `series`, `series-sonarr`) + 37 папок мультфильмов. +Все пути проверены `-e`, отсутствующих 0. Состав `movies`/`movies-radarr` +сверен с утверждённым списком — 51 + 11 позиций, лишнего нет. + +⚠️ **Два открытых вопроса блокируют шаг 4:** +1. Добавить 7 пропущенных папок мультфильмов (42,1 ГБ) → 735,4 ГБ вместо 693,3? + Пропущены из-за несовпадения имён: `смешарики. новый сезон. 2020`, + `Corpse.Bride.2005`, `Тайна третьей планеты (1981)`, `чебурашка`, + `The.Super.Mario.Bros.Movie.2023`, `the.secret.life.of.pets.(480p)`. +2. `documentaries-series` (235,6 ГБ) и `documentaries` (71,9 ГБ) — не в списке, + копий на TrueNAS нет. Точно оставляем? + +⚠️ **В `movies/` есть «сироты»** — `.nfo`/`.srt`/постеры без видео от ранее +удалённых фильмов (`Master.i.Margarita.2023`, `Pchelovod.2024`, +`Планета обезьян Новое царство_2024`, `Леон (авторская версия)`, +`Самолетом, поездом, машиной (1987)`, `Ворон_2024`). Инвентарь (только видеофайлы) +их не видел. Удалять вместе с папкой — правильно. ⚠️ Стект-директории (`movies-radarr`, `series-sonarr`) удалять только через API, -иначе Radarr держит фантом. +иначе Radarr держит фантом. **Решение Alex по факту: удаляем файлами** (манифест +целыми папками), rescan после — обязателен. ### 1. 5 фильмов с Кинопоиск-ID — «здесь пусто», без постера diff --git a/personal/tech/skill-lampac-kraken-deploy.md b/personal/tech/skill-lampac-kraken-deploy.md index aae6b84b..6344729e 100644 --- a/personal/tech/skill-lampac-kraken-deploy.md +++ b/personal/tech/skill-lampac-kraken-deploy.md @@ -83,6 +83,30 @@ related: `cartoons-series` = 1 сборник. 307 ГБ доксериалов/документалок Кра́кена уникальны. 23. ⚠️ **Jellyfin на Кра́кене (`:8096`) может смотреть в `media/`** — проверить библиотеки до удаления, rescan после. Это единственная реальная связь `media/` с просмотром. +24. 🔴 **Radarr/Sonarr API: обязателен префикс `UrlBase` + `-L`.** `curl :7878/api/v3/...` + → **HTTP 307 с ПУСТЫМ телом** (0 байт в дампе) — выглядит как «API лежит / ключ неверный». + Правильно: `curl -sL -H "X-Api-Key: $KEY" "http://127.0.0.1:7878/radarr/api/v3/movie"` + (и `/sonarr` для аналогичного). `UrlBase` в `config/config.xml`. Диагностика: + `curl -o /dev/null -w "%{http_code}"` → `307`. Скрипт: `/tmp/step1c.sh`. +25. 🔴 **У Sonarr 9 из 13 сериалов — фантомы** (записи без файлов): `Magical Police + Department`, `The Meeting Place Cannot be Changed`, `MOZU`, `Delicious in Dungeon`, + `Double or Quits`, `Severance`, `Futurama`, `True Detective`, `Brassic`. + Файлы есть только у `Our Flag Means Death`, `Stranger Things`, `The Cyberfarm`, + `Rick and Morty`. Рассинхрон раскладки, не ошибка чтения. +26. 🔴 **После `docker stop transmission` RPC недоступен** — править состояние через + bind-mount `/srv/.../docker/transmission/` (`torrents/`, `resume/`, `settings.json`). +27. 🔴 **Правила чистки раздач (утверждено Alex'ом):** `error==3` (data missing) → снести; + `downloadDir` под удаляемые папки → снести **ЦЕЛИКОМ**; `status==0` и `percentDone<1` + (недокачанные) → снести. Итог 2026-09-22: **240 снести / 1769 ГБ, 9 оставить**. +28. 🔴 **Манифест удаления строится целыми папками** — `movies`, `movies-radarr`, `series`, + `series-sonarr` по одной строке каждая + папки мультфильмов. Перед этим сверить состав + папки с утверждённым списком (51 + 11 позиций — совпало). + ⚠️ **Инвентарь видит только видеофайлы** — `.nfo`/`.srt`/постеры от ранее удалённых + фильмов (`Master.i.Margarita.2023`, `Pchelovod.2024`, `Леон`, `Ворон_2024`) в манифест + попадают «бонусом». Это правильно, но выглядит шире списка. + ⚠️ **Расхождение итога с утверждённой суммой = несовпадение имён папок.** 693 ГБ вместо + 828 ГБ — 7 папок мультфильмов не сматчились буквально. Всегда `[ -e "$path" ]` каждую + строку + печатать `du -sb` построчно. ## Установка Lampa на ТВ (сжато)