Записано, чего сборка потоком не даёт

Четыре оговорки с ценой каждой: продолжение стоит места вдвое, отступ
назад идёт до целого куска, MP4 продолжать нельзя вовсе, и потоком идёт
не всё. Все четыре известны заранее, а не вскроются через месяц.
This commit is contained in:
4aiman 2026-09-30 16:50:18 +03:00
commit 4526f65fcc

View file

@ -119,6 +119,35 @@ NVENC, если он есть). Это разрозненно и не даёт
неподъёмным. Пока цифры замеряны только на одной машине, у человека
должна быть возможность выключить любую из этих трат.
## Сборка потоком: чего она не даёт
Ролик собирается потоком — куски идут сразу в готовый файл, кэш не
создаётся. За это заплачено тремя вещами, и все три известны заранее.
**Продолжение стоит места.** Дописать в конец существующего MKV нельзя:
Matroska этого не даёт. Продолжение всегда пишется в новый файл, куда
сперва переливается целая часть старого, так что на диске в этот момент
лежат оба — места нужно вдвое больше готового ролика. Обойти это можно
только разбором и правкой самого контейнера, а это уже своя маленькая
библиотека Matroska.
**Отступ назад — до целого куска.** Продолжают не с последнего
записанного кадра, а с границы последнего целого куска: кусок — это
неделимая единица, у него свои метки времени и своё число кадров. На
замерах терялось от нуля до нескольких секунд работы. Мельче отступать
можно было бы, храня рядом с файлом карту стыков, но выигрыш в секундах
не стоит нового файла, который надо держать в согласии с роликом.
**MP4 продолжать нельзя вовсе.** Оглавление пишется в конец, оборванный
файл не открывается — `moov atom not found`. Программа предупреждает об
этом до начала сборки и предлагает MKV. Теоретически недописанный MP4
можно восстановить, собрав оглавление по кускам самому (так делают
untrunc и подобные), но это отдельная задача другого размера.
**Потоком идёт не всё.** MPEG-TS несёт не любой кодек, и пересборка
всего ролика под площадку требует списка кусков. В этих случаях сборка
идёт по-старому, через кэш — со всеми его 110 ГБ на часе материала.
## Мелочи, до которых не дошли руки
**Вид дорожки не виден в её заголовке.** Дорожки картинки, звука и текста