# Audion Media Tools — руководство

[English](USER_GUIDE_EN.md) · [О программе](README_RU.md) · [Консольная команда](CLI_RU.md) · [Операции](OPERATIONS_RU.md) · [Замеры](MEASUREMENTS_RU.md)

**Содержание**

- [Окно](#окно)
- [Порядок работы](#порядок-работы)
- [Источник и Назначение](#источник-и-назначение)
- [Нарезка: плеер и клавиши](#нарезка-плеер-и-клавиши)
- [Разделы](#разделы)
- [Железо](#железо)
- [Журнал и отчёты](#журнал-и-отчёты)
- [SETTINGS и ABOUT](#settings-и-about)
- [Правила безопасной работы](#правила-безопасной-работы)
- [Техническая часть](#техническая-часть)

Как работать: окно, порядок запуска операции, Источник и Назначение, нарезка с
плеером, журнал и отчёты.

## Окно

- **Заголовок**: название и версия; посередине — версии того, чем работает
  программа: yt-dlp, Deno, mpv, FFmpeg и драйвер видеокарты; справа — СЕРВИС, язык
  (RU / EN), светлый или тёмный вид, SETTINGS и ABOUT.
- **Лента разделов**: АУДИО, КОДИРОВАНИЕ, УПАКОВКА, НАРЕЗКА, ЧАСТОТА, ЦВЕТ,
  СКАЧАТЬ — под каждым названием строка о том, что он делает.
- **Форма** слева: режимы раздела, потом блоки полей — сначала пресет, затем то, чем
  его можно поправить. Над формой — ЗАПУСТИТЬ, ↺ (вернуть пресет режима) и КОМАНДА.
- **Источник и Назначение** справа, с кнопками папок.
- **Журнал** под ними: что говорит прогон — цветами той программы, которая говорит,
  и с родной строкой хода FFmpeg.
- **КОМАНДА** внизу: строка для своей команды.

У каждого раздела и режима своя форма, и она помнится между запусками. Общие на
всё окно — только кодер и декодер: это выбор машины, а не задачи.

## Порядок работы

1. Выбрать Источник и Назначение — или оставить `input` и `output`.
2. Открыть раздел и режим.
3. Выбрать пресет.
4. Поменять только то, что нужно.
5. Нажать КОМАНДА — журнал покажет, что именно уйдёт в FFmpeg, и ничего не
   запустится.
6. Прогнать первый файл.
7. Запустить папку.

Пресет задаёт готовую основу, поля ниже переопределяют её точечно. Флажки не
включают скрытых действий, если пресет их не задал.

**Шаги 5 и 6 не пропускают на новой операции.** Ошибка в параметрах на одном
файле стоит секунд, на папке — часа.

## Источник и Назначение

| кнопка | что делает |
|---|---|
| папка | выбрать папку с исходниками (или папку для результата) |
| файл | один файл как Источник: операция пройдёт только по нему |
| история | прежние пути, закреплённые первыми |
| закрепить | держать этот путь первым в истории |
| открыть | открыть папку в Проводнике; один файл показывается выделенным |
| СБРОСИТЬ | вернуть оба пути на папки программы, `input` и `output`; файлы не трогаются |
| СПИСОК | имена файлов Источника в журнале, с вложенными папками |
| СВЕДЕНИЯ | что ffprobe знает об Источнике: таблица файлов или все звуковые потоки |
| В ИСТОЧНИК | сделать результат Источником следующей операции: Источник очищается в Корзину, затем в него переносится Назначение |
| ОЧИСТИТЬ | содержимое Источника, Назначения или обоих — в Корзину; сами папки остаются, окно сначала спросит |

Путь можно и вписать, и перетащить в окно. Пустое поле — папка программы.

Источник обходится рекурсивно, и результат повторяет его структуру:

```
Назначение\<операция>\<пресет>\<как в Источнике>\<имя файла>.<ext>
```

`input\Day1\clip.mov` и `input\Day2\clip.mov` не сваливаются в одну плоскую
папку и не спорят за имя.

## Нарезка: плеер и клавиши

Точки реза находят в плеере mpv — кнопка `Открыть в плеере` в разделе НАРЕЗКА — и
переносят в поля кнопкой `Взять A и B` или по одной: `Отметить IN`, `Отметить OUT`.
Клавиши работают **в окне плеера**, не в программе.

Файл выбирается стрелками по бокам от его имени; кнопка рядом говорит, что знает о
нём ffprobe. Режется один файл за раз: у дублей одной папки разные точки реза.

Плеер пишет в последнюю строку. `+` за ней добавляет следующую, когда в последней
взяты точки, и сбрасывает A и B в плеере — следующий кусок ищется с чистого листа.
В ОСТАВИТЬ и ВЫРЕЗАТЬ каждая строка — отдельный вариант в своём файле: `_keep01`,
`_cut02`; строки могут пересекаться, справа от OUT — длительность куска. В
РАЗДЕЛИТЬ у каждой точки одно поле, кнопки плеера — `Взять A` и `Отметить здесь`, и
точка берётся только дальше предыдущих. Набрать точку руками можно всегда: цифры
подряд с часов, разделители ставятся сами, недобранное дополняется нулями —
`000128` становится `00:01:28,000`; просто секунды тоже годятся. `▲▼` в поле
меняют секцию, где стоит курсор: часы, минуты, секунды или кадр (у звука —
миллисекунду); без курсора — секунды; удержание ускоряет шаг. Точки переносятся,
только если плеер показывает файл, выбранный в разделе; после стрелок нажмите
`Открыть в плеере`.

Дюжина клавиш, которыми делается вся работа:

| клавиша | что делает |
|---|---|
| `Пробел` | играть или пауза |
| `,` `.` | шаг ровно в один кадр назад и вперёд |
| `←` `→` | перемотка на 5 секунд |
| `Shift+←` `Shift+→` | **точно** на секунду назад и вперёд |
| `Shift+↓` `Shift+↑` | **точно** на пять секунд |
| `↓` `↑` | на минуту назад и вперёд |
| `Home` | в начало файла |
| `l` | поставить точку **A**; второе нажатие — точку **B**; кусок между ними играет по кругу |
| `Ctrl+l` | снять точки A и B |
| `b` | играть **назад** |
| `n` | вернуться к воспроизведению вперёд |
| `[` `]` | медленнее или быстрее на 10 % — на скорости 0,25 слышно каждый слог |
| `Backspace` | вернуть обычную скорость |
| `s` | снимок кадра рядом с исходным файлом |

`l` — это и есть рез: поставили A и B, послушали петлю, и если точка неверна —
подвинули её `,` и `.`, нажали `l` снова.

**Разница между `←` и `Shift+←` важна.** Обычная перемотка прыгает на 5 секунд и
показывает ближайший кадр; `Shift` — точная, ровно на секунду, и попадает в кадр.
Для поиска точки реза нужна вторая.

`b` и `n` — свои у этой программы: в обычном mpv на `b` висит подавление полос,
здесь оно переопределено (`config\mpv\input.conf`).

Полный список — все 197 привязок с командами плеера — в
`tools\MPV_HOTKEYS_RU.md`. Список снят с самого плеера ответом `input-bindings`,
а не переписан из интернета.

Подробности нарезки — рабочий цикл, три действия, точность, отказы — в
`tools\TRIM_RU.md`; что с чем совместимо при резе — в `tools\TRIM_MATRIX_RU.md`.

## Разделы

| раздел | о чём | подробно |
|---|---|---|
| АУДИО | извлечение, ресемплинг, громкость, упаковка; звук внутри видео без перекодирования картинки | `tools\AUDIO_WORKFLOWS_RU.md` |
| КОДИРОВАНИЕ | FFV1 и x264 без потерь, ProRes и DNxHR, x264/x265/AV1, профили заливки | `tools\ENCODING_PIPELINES_RU.md` |
| УПАКОВКА, ЧАСТОТА, ЦВЕТ | смена контейнера, частота кадров, таблицы цвета, HDR в SDR | `tools\REMUX_FPS_LUT_RU.md` |
| НАРЕЗКА | покадровая и по ключевым кадрам; звук без потерь (WAV, FLAC, ALAC) — по сэмплу, сжатый — по своим пакетам без перекодирования или по сэмплу в режиме «Точно» | `tools\TRIM_RU.md` |
| СКАЧАТЬ | ссылка, плейлист или список, профили формата, разрешение, субтитры, cookies | `tools\YOUTUBE_DOWNLOAD_RU.md` |
| СЕРВИС | что за железо, что оно умеет, проверка профилей, установщики | `tools\HARDWARE_DIAGNOSTICS_RU.md` |

Каждое поле, вариант и пресет с подсказкой: [Операции](OPERATIONS_RU.md).

**СКАЧАТЬ.** `ВСТАВИТЬ` у ссылки, у файла списка и у файла cookies берёт их из
буфера обмена. ⓘ у ссылки показывает, какие форматы она предлагает, ничего не
скачивая. Ссылке, которой нужен вход, — cookies браузера или файла; щит рядом
запечатывает этот файл DPAPI для этой учётной записи Windows, и открытый файл
больше не нужен.

**ЦВЕТ.** LUT лежат в папке `LUTs` программы. Кнопки у списка добавляют файлы
(`.cube`, `.3dl`, `.lut`) или целую папку — они копируются в `LUTs` — и открывают
папку.

## Железо

Программа умеет выбирать между аппаратными путями NVIDIA, Intel и AMD,
отдельными кодировщиком и декодировщиком AV1 и обычным процессором.

**Перед первым запуском на новой машине — СЕРВИС → «Возможности оборудования».**
Результат кладётся в кэш, и профили с аппаратным кодированием сверяются с ним.
Отсутствие пути — нормальный ответ, а не поломка: значит нет драйвера или самого
железа.

## Журнал и отчёты

Журнал показывает строки прогона так, как их пишут программы: `[CMD]` — команда, с
которой запущен FFmpeg, `[PROGRESS]` и под ней родная строка FFmpeg, `[OK]`,
`[WARN]`, `[ERR]`. Прогон открывается своим названием и консольной командой, которая
его повторяет, и закрывается итогом со временем. Под журналом — операция, её время
и итог; СТОП останавливает прогон, недописанный файл убирается.

Над журналом: LOGS — журналы прогонов, REPORT — их отчёты, CONFIG — настройки
программы, дальше — скопировать журнал, очистить его и развернуть (ширина
запоминается).

Каждая операция пишет `batch_report.md` и `.json`. АУДИО добавляет
`audio_report.md` и `.json`: исходный поток, параметры входа, режим обработки,
громкость, путь результата.

**КОМАНДА** внизу выполняет свою команду — в PowerShell 7 программы (PS) или в
`cmd.exe` (CMD). Её строки идут в журнал, СТОП её завершает; во время операции
команда ждёт своей очереди. Кнопки рядом: история (закреплённые первыми), путь к
файлу в кавычках, папка, в которой идёт команда.

## SETTINGS и ABOUT

SETTINGS: четыре вида (Audion Code Dark, Audion Vault Dark, Audion Dark, Audion
Light), шрифт окна и шрифт терминала; КОМПОНЕНТЫ — версии yt-dlp, Deno, mpv, FFmpeg
и 7-Zip с ОБНОВИТЬ или УСТАНОВИТЬ и ПРОВЕРИТЬ СЕЙЧАС для свежих выпусков; СИСТЕМА —
процессор, видеокарта и её драйвер, память, какие кодеры FFmpeg прошли проверку,
диск, и СКОПИРОВАТЬ — для сообщения об ошибке.

ABOUT: версия, папки программы, автор и состав программы с лицензией каждой части.

## Правила безопасной работы

* Новая операция — сначала КОМАНДА, потом запуск.
* Большая папка — сначала первый файл.
* Перезапись не включают, не будучи уверенным в папке результата.
* Аппаратный путь — сначала проверить возможности оборудования.
* Цветовая таблица — сначала посмотреть, какой `.cube` выбран.
* Пачка скачивания — сначала проверить список ссылок.
* Очистка и В ИСТОЧНИК — внимательно посмотреть на папки: окно называет их, прежде
  чем спросить.

---

## Техническая часть

### Запуск

`Start.exe` открывает окно. Нет окружения Python или инструмента — его собирает
`builder_main.cmd`.

Те же операции идут из консоли или сценария: `media_cli.cmd` —
[Консольная команда](CLI_RU.md).

### Проверка после изменений

```cmd
runtime\python.exe -m pytest -q -p no:cacheprovider tests system_core\tests
install\Build-App.cmd
```

Первое — движок (около пяти минут: обёртки и нарезки гоняют настоящий FFmpeg);
второе проверяет окно, собирает его в `App\` и даёт собранной копии проверить себя.
Что именно прогоняется перед выпуском — [список проверок](SMOKE_TEST_RU.md).

### Подсказки

У каждого поля, варианта и пресета есть подсказка на двух языках — задержите на нём
курсор. Те же тексты — в [Операциях](OPERATIONS_RU.md).
