Remux, FPS И LUT
Remux, FPS И LUT
Remux
Remux меняет контейнер без перекодирования, где это возможно.
Remux теперь работает от цели вывода. Пользователь не выбирает формат источника руками: Source обходится рекурсивно, формат каждого файла и аудиокодеки читаются автоматически. Несовместимые файлы пропускаются с причиной в логе.
Видеоконтейнеры вывода:
MP4 MOV MKV MXF
Аудиоконтейнеры вывода:
M4A ALAC MKA AAC AC3 EAC3 DTS FLAC WAV MP3 OPUS OGG
Пайплайн:
Video Audio Video&Audio
Все три режима являются чистым copy: меняется только карта потоков (-map) и контейнер, а кодеки не трогаются.
Videoоставляет только видеотреки (-map 0:v? -an).Audioотделяет аудиотреки (-map 0:a? -vn) в выбранный аудиоконтейнер.Video&Audioкопирует видео и аудио вместе (-map 0:v? -map 0:a?).
Same-container copy тоже разрешён, если меняется состав потоков: например MP4 -> MP4 / Video создаёт MP4 без аудио, а MP4 -> MP4 / Video&Audio делает чистую переупаковку в suffix-папку.
Для audio-only режима контейнер проверяется по реальным аудиокодекам. AAC stereo/mono из MP4/MOV/MKV может уйти в M4A, AC3/EAC3/DTS - в родной файл кодека, FLAC/MP3/OPUS - в свои контейнеры, ALAC - в M4A. MKA остаётся универсальным контейнером для сложных или многодорожечных случаев.
Для video и video+audio режимов проверяется кодек, а не только пара контейнеров. MOV -> MP4 - разрешённая пара, но она законна для H.264 и невозможна для ProRes: у MP4-муксера нет тега для этого кодека. Такой файл пропускается с причиной вида MP4 does not support copy of prores, а не отдаётся FFmpeg на верную ошибку. Практические ограничения:
- ProRes и DNxHR - в MOV, MXF, MKV; в MP4 нельзя;
- HEVC - в MP4, MOV, MKV; в MXF нельзя;
- AV1 и VP9 - в MP4, MKV, WebM; в MOV и MXF нельзя;
- в MXF из аудио идёт только PCM 16/24-bit;
- в режиме
Video&Audioтак же проверяется аудиокодек.
Таблицы говорят, что заведомо работает, и отказ выдаётся только по измеренному кодеку. Кодек, которого в таблицах нет, отдаётся FFmpeg: глухой запрет стоит пользователю рабочей конвертации, а лишний неудачный запуск стоит одной строки в логе. MKV -> MP4 со звуком - обычная рабочая пара и ничем не ограничена; субтитры и data-потоки до муксера не доходят, их снимает карта потоков (-sn -dn).
Если FFmpeg всё же обрывается на записи, пустой файл в OUT не остаётся: нулевой результат удаляется со строкой [CLEAN] в логе.
Результат пишется в suffix-папку с рекурсивным зеркалом Source, а не в имя файла. Пример: Transcoded\Remux\remux_mkv_to_mp4_video_audio\Day1\clip.mp4.
Когда Выбирать Remux
Выбирай remux, если:
- video/audio streams уже подходят;
- нужно сменить контейнер или состав потоков без encode;
- нужно MP4 faststart;
- нужно переупаковать MKV/MOV/MXF;
- нельзя терять качество на повторном encode.
Не выбирай remux, если нужно:
- поменять codec;
- поменять resolution;
- применить LUT;
- изменить FPS;
- нормализовать аудио;
- сделать downmix.
Для этого нужны encode/audio/FPS/LUT-разделы.
Совместимость Контейнеров
Не все codec/container пары безопасны. GUI показывает только целевые контейнеры, а backend проверяет каждый файл отдельно и пропускает несовместимые случаи.
Практически:
- MP4 хорошо подходит для H.264/H.265/AAC.
- MOV удобен для ProRes/PCM workflows.
- MKV гибкий для archive/storage.
- MXF нужен для broadcast/NLE procedures.
- WEBM с Opus обычно безопаснее вести в OPUS/OGG/MKA для audio-only или MKV для video/video+audio.
FPS / Частота
Раздел FPS / частота не просит вручную вводить исходный FPS. Он читается из видеопотока.
Поля:
Режим пересчёта: Varispeed или Conform.Целевая частота: 16, 18, 23.976, 24, 25, 29.97, 30, 48, 50, 59.94, 60.
Дробные записаны точными дробями (24000/1001, 30000/1001, 60000/1001); частота, которую не удалось прочитать, отклоняется, а не подменяется на умолчание — раньше любое неизвестное значение молча превращалось в 23.976. 120/144/240 не добавлены намеренно: это не геймерский инструмент. 16 и 18 — для немого кино и любительских 8 мм.
- Исходная частота — любая, вплоть до скоростной съёмки: 8000 fps → 24
прошли без потери единого кадра (2000 кадров, ровно 83,333 с).
Профиль вывода: H.264 MP4, H.265 MP4, ProRes MOV/MXF, DNxHR MOV/MXF.- Для H.264/H.265 доступен AAC bitrate.
- Для ProRes/DNxHR доступны PCM 16/24/32-float в Apple MOV; MOV сохраняет выбранную рабочую частоту вплоть до 176.4/192 кГц.
- MXF принимает PCM 16/24, но muxer используемой сборки FFmpeg финализирует аудио только в 48 кГц; PCM 32-float в MXF отключён.
- Oversampling аудио: COPY, 2x 88.2/96 или 4x 176.4/192 через SoX/libsoxr. Для MXF это внутренняя рабочая частота с обязательным финальным ресемплингом в 48 кГц.
- CLI FPS-мастер предлагает те же шесть профилей, разрядности и
x1/x2/x4; CLI и GUI строят команду общимsystem_core\core\fps_contract.py.
Varispeed
Varispeed меняет скорость воспроизведения. Длительность меняется, движение остаётся “чистым” без интерполяции кадров.
Используй, когда:
- это осознанный conform по скорости;
- аудио тоже должно растянуться/сжаться;
- нужно перевести material timing.
Conform
Conform меняет интерпретацию/выходную частоту без того же смысла, что varispeed. Выбирай его, когда workflow требует именно conform-выход, а не speed change.
Перед batch-операцией проверь один файл и внимательно посмотри duration.
LUT / Цвет
Раздел Цвет / LUT применяет LUT и grading-пресеты.
Основные элементы:
LUTpicker;- кнопки цветовых профилей, которые являются единственным выбором режима окна;
Gamma до LUT;- output targets;
- encode/decode backend;
- audio/container/resolution/pixel format/CRF/CQ.
LUT Cache
LUT выбирается из LUTs\. GUI умеет:
- выбрать LUT;
- добавить LUT files;
- добавить LUT folder;
- открыть LUT folder;
- закрепить часто используемый LUT.
Если поле пустое, проект использует LUTs\active.cube или первый найденный LUT-файл, если это предусмотрено текущей логикой.
Цветовые Операции
Доступно:
Только LUT;Предэкспозиция + LUT;Pregamma + LUT;HDR to SDR Hable.
Только LUT применяет LUT без pre-gamma helper.
Предэкспозиция + LUT и Pregamma + LUT используют технически один параметр eq=gamma=<число> до LUT, но разные стартовые значения и творческий смысл.
HDR to SDR Hable применяет tonemap-style transform для SDR-выхода.
Служебный script_preset хранится скрыто и передаётся в backend выбранной профильной кнопкой. Отдельного дублирующего select Цветовая операция в GUI нет.
18% Gray Preview
Для pregamma/pre-expose GUI показывает 18% gray preview:
- слева исходный серый;
- справа результат до LUT;
- подпись показывает, станет серый светлее, темнее или останется нейтральным.
Это не замена просмотру итогового видео, но хороший быстрый индикатор направления коррекции.
LUT Path Escaping
Windows-пути к LUT могут содержать:
- диск
C:; - пробелы;
- апострофы;
- запятые;
- точки с запятой;
- скобки.
GUI и scripts используют общий helper для FFmpeg filtergraph escaping. Если LUT работает через GUI, он должен работать и через соответствующий wrapper.
Output Targets
Цветовые цели:
- x264 / H.264;
- x265 / HEVC;
- SVT-AV1;
- ProRes 422;
- ProRes LT.
Для проверки цвета лучше начать с короткого H.264 preview, а не сразу с тяжёлого ProRes/AV1 batch.
Рекомендуемая Процедура LUT
- Выбери Source и OUT.
- Выбери LUT.
- Выбери profile.
- Проверь 18% gray preview, если доступен.
- Нажми
Команда. - Включи
Тест: первый файл. - Оцени короткий результат.
- Запускай batch.
Типовые Ошибки
LUT Не Применился
Проверь:
- выбран ли
.cube; - существует ли файл;
- нет ли старого/не того pinned LUT;
- что dry-run содержит LUT filter.
Цвет Слишком Тёмный Или Светлый
Проверь Gamma до LUT. Для разных LUT стартовое значение может требовать ручной правки.
FPS Результат Не Той Длительности
Сравни Varispeed и Conform. Это не косметические режимы, они по-разному влияют на timing.