Audion Media Tools и ИИ-агент
English · Руководство · Консольная команда · Операции
Содержание
Руководство для ИИ-агента (Claude Code, Codex и подобных), которого пользователь попросил работать с программой. Для человека —
USER_GUIDE_RU.md; для командной строки — CLI_RU.md.
Кто что делает
Программа делает работу с медиа через FFmpeg — одинаково при каждом запуске: кодирует для архива, монтажа, хранения и доставки;
переупаковывает в другой контейнер без перекодирования; извлекает и конвертирует звук; режет камерный файл без потерь; меняет
частоту кадров; накладывает LUT; скачивает по ссылке через yt-dlp; говорит, что за файлы, через ffprobe. Каждая кнопка её окна —
операция консольной команды media_cli.cmd, поэтому агенту доступно всё это.
Агент переводит слова пользователя в операцию и её пресет, запускает, читает итог и проверяет файл. Своих команд FFmpeg агент не пишет там, где есть операция: операция уже знает подводные камни контейнеров, частот кадров и таймкода.
Консольная команда
media_cli.cmd лежит в корне программы:
media_cli.cmd describe операции, поля, варианты, пресеты (JSON)
media_cli.cmd run --operation ID --set ИМЯ=ЗНАЧЕНИЕ запустить операцию; --dry-run — какие команды она запустила бы
media_cli.cmd run ... --source ФАЙЛ_ИЛИ_ПАПКА --target ПАПКА --result ИТОГ.json
Источник — input\ программы, если --source не называет папку или один файл; Назначение — output\, если --target не
называет другое. Коды выхода: 0 готово, 1 сбой, 2 неверный вызов или запуск, отклонённый проверками (ничего не запускалось),
130 остановлено. Файл итога --result: outcome, ok, message, parameters — все значения, с которыми шёл прогон, —
и data: у медиа-операции processed (записано файлов), skipped (пропущено), files, failed там, где операция идёт
дальше упавшего файла; у скачивания processed и downloaded (пути записанного); всегда log_file. Все ключи —
CLI_RU.md. --result — файл .json вне Источника; давать полным путём или звать команду из папки программы:
относительный путь считается от папки, из которой вызвана команда. failed или refused больше 0 — итог failed.
Какая операция
| Раздел | Режим | Вызов |
|---|---|---|
| АУДИО | ИЗВЛЕЧЬ | media_cli.cmd run --operation audio_run --set audio_workflow=extract |
| АУДИО | ЗВУК В ВИДЕО | media_cli.cmd run --operation audio_run --set audio_workflow=in_video |
| АУДИО | КОНВЕРТИРОВАТЬ | media_cli.cmd run --operation audio_run --set audio_workflow=audio_files |
| КОДИРОВАНИЕ | АРХИВ | media_cli.cmd run --operation archive_run |
| КОДИРОВАНИЕ | МОНТАЖ | media_cli.cmd run --operation editing_run |
| КОДИРОВАНИЕ | ХРАНЕНИЕ | media_cli.cmd run --operation storage_run |
| КОДИРОВАНИЕ | ДОСТАВКА | media_cli.cmd run --operation delivery_run |
| УПАКОВКА | ВИДЕО | media_cli.cmd run --operation remux_run --set remux_stream_mode=video |
| УПАКОВКА | АУДИО | media_cli.cmd run --operation remux_run --set remux_stream_mode=audio |
| УПАКОВКА | ВИДЕО И АУДИО | media_cli.cmd run --operation remux_run --set remux_stream_mode=video_audio |
| УПАКОВКА | СУБТИТРЫ | media_cli.cmd run --operation subtitles_extract |
| НАРЕЗКА | ОСТАВИТЬ | media_cli.cmd run --operation trim_run --set trim_action=keep |
| НАРЕЗКА | ВЫРЕЗАТЬ | media_cli.cmd run --operation trim_run --set trim_action=cut |
| НАРЕЗКА | РАЗДЕЛИТЬ | media_cli.cmd run --operation trim_run --set trim_action=split |
| ЧАСТОТА | VARISPEED | media_cli.cmd run --operation fps_run --set fps_mode=varispeed |
| ЧАСТОТА | CONFORM | media_cli.cmd run --operation fps_run --set fps_mode=conform |
| ЦВЕТ | LUT | media_cli.cmd run --operation grading_run |
| СКАЧАТЬ | ЛУЧШЕЕ MP4 | media_cli.cmd run --operation youtube_run --set youtube_profile=best_mp4 |
| СКАЧАТЬ | НАДЁЖНОЕ MP4 | media_cli.cmd run --operation youtube_run --set youtube_profile=safe_mp4 |
| СКАЧАТЬ | СВОЁ ВИДЕО | media_cli.cmd run --operation youtube_run --set youtube_profile=video_custom |
| СКАЧАТЬ | ДЛЯ ЗАГРУЗКИ | media_cli.cmd run --operation youtube_run --set youtube_profile=upload_ready |
| СКАЧАТЬ | СВОЁ АУДИО | media_cli.cmd run --operation youtube_run --set youtube_profile=audio_custom |
| СКАЧАТЬ | СУБТИТРЫ | media_cli.cmd run --operation youtube_run --set youtube_profile=subs_only |
СВЕДЕНИЯ, СЕРВИС и кнопки у полей:
| Операция | Что это |
|---|---|
| probe_source | Проверить источник: Один раз запустить ffprobe по Источнику, вывести таблицу и обновить строку параметров. |
| source_info | Инфо об источниках: Прогнать ffprobe по Источнику и вывести все аудиопотоки: codec, sample_fmt, sample rate, bits, channels, bitrate, language/title. |
| inventory | Инвентаризация: Посчитать файлы в Источнике, Назначении и LUTs. |
| selftest | Самопроверка: Проверить ffmpeg, ffprobe, yt-dlp и Deno. |
| profile_doctor | Проверка профилей: Проверить операции GUI, script wrappers и общий каталог пресетов. |
| hardware_capabilities | Возможности оборудования: Короткий FFmpeg smoke для CPU, QSV/NVENC/AMF H.264 и HEVC, SVT-AV1 и dav1d. |
| preset_test_matrix | Тест матрицы пресетов: Прогнать portable smoke на 1-секундных файлах по audio, remux, FPS, LUT, архиву, монтажу, хранению и публикации. |
| install_7zip | Установить 7-Zip: Установить или обновить portable 7-Zip; нужен для FFmpeg 7z payloads. |
| install_ffmpeg | Установить FFmpeg: Установить или обновить portable FFmpeg Gyan GPL payload в Tools/ffmpeg. |
| install_ytdlp | Установить yt-dlp: Установить или обновить portable yt-dlp и Deno в Tools. |
| install_mpv | Установить mpv: Установить или обновить portable mpv в Tools/mpv: плеер нарезки. |
| youtube_formats | Форматы ссылки: Какие форматы есть у ссылки - разрешение, кодеки, размер - списком в журнале, ничего не скачивается. Взять один из них - профилем «Своё видео». |
| youtube_cookies_import | Взять под DPAPI: Файл поля «Файл cookies» запечатывается DPAPI для этой учётной записи Windows в config\cookies.dpapi: загрузки с Cookies - «Файл» берут эту копию, и открытый файл больше не нужен. |
Каждое поле, вариант и пресет каждой операции — OPERATIONS_RU.md.
Типовые задачи
- «Перекодируй файл для монтажа». Сначала
probe_sourceс--source ФАЙЛ: кодек, размер, частота кадров, звук (source_infoподробно говорит о каждом звуковом потоке). Потомediting_run: по умолчаниюediting_profile=prores_422_mov, полегче —prores_lt_movилиprores_proxy_mov, DNxHR —dnxhr_hq_mov, для Avid — пресет*_mxf. Файл ложится в папку операции и её настроек —output\Editing\prores422\, — а не в папку с именем пресета; точный путь печатает--dry-run. - «Сожми для хранения» / «для загрузки».
storage_run(x264_crf14,hevc10_crf14,svt_av1_crf14,x264_1080_crf14— 4K вниз до 1080) илиdelivery_run(review_h264,upload_h264,upload_hevc10). На видеокарте —--set encode_backend=cuda(NVIDIA),amd,qsv; что умеет эта машина, говоритhardware_capabilities. - «Переложи в MP4 / MOV / MKV» без перекодирования.
remux_runсremux_target_formatиremux_stream_mode=video_audio. Контейнер, который не удержит поток, отклоняется до запуска, с причиной. - Звук.
audio_run:audio_workflow=extract— достать из видео,in_video— перекодировать звук внутри видео, картинка копируется,audio_files— конвертировать звуковые файлы;audio_profile—wav_24_48,flac_24_48,m4a384,mp3_v0,lufs14_m4a(громкость −14 LUFS),lufs_report(только замер). - Нарезка.
trim_run --set trim_file=ИМЯ --set trim_action=keep --set trim_start=00:00:05,000 --set trim_end=00:01:00,000. Видео копируется: начало встаёт на ближайший ключевой кадр, конец — на точный кадр; журнал говорит, где рез лёг на деле.cutвырезает кусок,splitрежет на части по точкам. - Частота кадров в 23,976.
fps_run:fps_mode=varispeedзамедляет каждый кадр и звук вместе с ними;conformвыбрасывает или повторяет кадры и сохраняет скорость. - LUT, HDR в SDR.
grading_run --set lut_file=LUTs\ИМЯ.cube; LUT лежат вLUTs\.hdr_hable_x264переводит HDR в SDR без LUT. - Скачать по ссылке.
youtube_formats --set youtube_url=ССЫЛКАпоказывает, что предлагает ссылка, и ничего не скачивает; потомyoutube_run --set youtube_url=ССЫЛКА(по умолчаниюyoutube_profile=best_mp4;safe_mp4— для ссылки, которая обрывается;audio_customсyoutube_audio_format=m4a— только звук).best_mp4берёт лучшую картинку, которая ложится в MP4, — это может быть AV1; H.264 с AAC —upload_ready. Файл называетdata.downloaded:output\Download\<автор>\<дата> - <название> [<id>].<ext>. Весь плейлист —--set youtube_source_mode=playlist; список ссылок —batchсinput\urls.txt.
Проверка результата
- Прочитать файл итога:
outcome—done,data.processedбольше 0. Приfailedилиrefusedжурнал (data.log_file) говорит почему: его строки[ERR]и[PREFLIGHT]. - Файл, который уже лежит в Назначении, без
--set overwrite=trueне перезаписывается: журнал пишет[SKIP] ИМЯ already exists and Overwrite is off, старый файл остаётся, а итог считает его вskipped, не вprocessed. - Новый файл проверить
Tools\ffmpeg\bin\ffprobe.exe -v error -show_streams -show_format ФАЙЛ: кодек, размер, частота кадров, длительность и звук против исходника; у нарезки — число кадров.
Правила
- Не менять, не переносить и не удалять файлы пользователя в
input\или там, куда указывает--source. Результаты — в Назначение. - Файл cookies не читать и не печатать. По умолчанию файл cookies пользователя уходит со скачиванием, если он есть, — как
в окне; публичной ссылке они не нужны —
--set cookies_source=none; ссылке, которой нужен вход, —--set cookies_source=chrome(илиedge,firefox,brave). - Очистка папок удаляет насовсем и из команды не запускается: пользователь очищает их в окне, через Корзину.
- Видеокарту называть только после того, как
hardware_capabilitiesсказал, что она работает на этой машине; процессор работает всегда. - Перед долгим прогоном
--dry-runпоказывает точные команды.