Tensionix ENDERU
GitHub28 репозиториевDaily Tech3 подписчикаaudion.devвитрина продуктовRSSлента выпусков
← Все заметкиProjects

Media Known Pitfalls

Плоский OUT

Проблема: из нескольких подпапок Source получается одна плоская папка результатов. Одинаковые имена файлов конфликтуют или перезаписывают друг друга.

Решение: обычные batch media-операции должны сохранять относительную структуру Source внутри OUT. Проверяй это после изменений в _output_path() и Scripts\Common\script_runner.py.

Непонятные Режимы Аудио

Проблема: названия вроде “Разделить файлы”, “Внутри видео”, “Только аудио” не объясняют результат.

Решение: использовать action labels:

  • Извлечь аудио;
  • Звук в видео;
  • Конвертировать аудио.

Подсказка должна объяснять, создаются ли отдельные аудиофайлы, новый видеофайл или обрабатываются standalone audio files.

Tooltips Обрезаются На Краях

Проблема: длинный tooltip центрируется относительно первой или последней кнопки и уезжает за край панели.

Решение: для крайних segmented-кнопок использовать классы edge alignment:

  • первая: left aligned;
  • последняя: right aligned;
  • центральные: centered.

Проверять computed style ::after: у первой left: 0, у последней right: 0.

Tooltip Не Появляется

Проблема: native NiceGUI q-tooltip может не монтироваться или вставленный script через add_body_html не выполняется как ожидается.

Решение: tooltips хранятся в data-audion-tooltip и показываются CSS-псевдоэлементом. Не полагаться на runtime JS для базовой подсказки.

Нажали Реальный Batch Вместо Проверки

Проблема: пользователь запускает длинную папку до проверки команды.

Решение: рабочая привычка:

  1. Команда;
  2. Тест: первый файл;
  3. просмотр результата;
  4. полный batch.

Overwrite Стирает Хороший Результат

Проблема: включено Перезаписывать, OUT уже содержит нужные файлы.

Решение: overwrite по умолчанию false. Включать только для disposable OUT или после явной очистки.

Hardware Backend Выбран На Машине Без Такого Железа

Проблема: CUDA/QSV/AMF профиль выбран, но драйвера или hardware нет.

Решение: запускать Hardware Capabilities. MISS - нормальный результат для отсутствующего backend. Выбирать CPU или другой backend.

Remux Используется Вместо Encode

Проблема: пользователь ждёт смену codec, FPS или audio params от remux.

Решение: remux меняет контейнер без перекодирования. Для codec/resolution/FPS/LUT/audio изменений нужны соответствующие encode/audio/FPS/LUT страницы.

FPS: Varispeed И Conform Путают

Проблема: результат имеет неожиданную длительность.

Решение: сначала тестировать один файл. Varispeed меняет скорость и duration. Conform имеет другой timing-смысл. Всегда сверять duration до batch.

LUT Выбран Не Тот

Проблема: pinned LUT или fallback active.cube не соответствует текущей задаче.

Решение: перед цветовой операцией выбрать LUT явно, проверить tooltip/путь, открыть папку LUT при сомнении, нажать Команда.

LUT Path Сломался Из-За Символов Windows

Проблема: путь содержит пробелы, диск, скобки, апострофы или запятые.

Решение: использовать общий helper escaping, не собирать filtergraph вручную строковой склейкой.

YouTube Скачал Плейлист

Проблема: ссылка на видео содержит playlist context.

Решение: включить Без плейлиста.

YouTube Требует Auth

Проблема: в браузере ссылка работает, yt-dlp не может скачать.

Решение: cookies-файл, Safe Safari, IPv4, retries, обновление yt-dlp. Cookies не коммитить и не класть в отчёты.

Старый GUI-Сервер На Порту

Проблема: порт занят старым процессом, новый код не виден.

Решение: проверить порт и PID:

Get-NetTCPConnection -LocalPort 8080 -State Listen

Для тестов использовать 8081 или остановить старый процесс.

Ручная Командная Строка Заменяет GUI

Проблема: пользователь запускает сложные media-команды вручную в нижнем терминале и теряет reports/progress/preflight.

Решение: ручная строка - для служебных команд. Media workflows должны идти через дерево операций, если уже есть готовый профиль.

Интерактивные CLI В GUI

Проблема: команда ждёт stdin, а GUI выглядит зависшим.

Решение: GUI-операции должны быть неинтерактивными. Интерактивные wizard-команды оставлять в CLI/TUI или проектировать отдельный GUI-flow.

Документация Устарела После Manifest

Проблема: добавили профиль или поле, но guide не обновился.

Решение: после изменения config\tool_manifest.yaml обновлять:

  • USER_GUIDE_RU.md;
  • USER_GUIDE_EN.md;
  • соответствующий файл в Docs\docs;
  • smoke checklist при необходимости.
Правлено 28.08.2026