Ролик больше не хранится на диске дважды
Картинка собиралась в промежуточный файл, а потом сшивалась со звуком в конечный. На часовом ролике это 91 ГБ в кэше плюс 91 ГБ рядом и лишний полный проход копирования — ради того, чтобы приписать звуковую дорожку. Теперь звук собирается раньше картинки, а склейка сразу кладёт всё вместе в конечный файл. Тем же путём пошла и сборка с перекодированием. Промежуточного файла нет вовсе, проход на один меньше. Куски после удачной сборки удаляются, и в журнале сказано, сколько места освободилось: на часовой съёмке их набирается больше сотни гигабайт, а нужны они только чтобы продолжить прерванную сборку. После неудачной сборки они остаются — с них и продолжают. Настройка keep_parts оставляет их всегда.
This commit is contained in:
parent
a28955fa2e
commit
45777bbdbb
6 changed files with 164 additions and 30 deletions
|
|
@ -1378,8 +1378,13 @@ begin
|
|||
WriteLn('вжигаю текст, пересобрать придётся ',
|
||||
SecondsToStr(BurnTextIntoSegments(Proj, Segs, Proj.CacheDir)), ' с');
|
||||
|
||||
{ Куски после удачной сборки убираются — как и в самой программе.
|
||||
Словом keep их можно оставить: пригодится, когда разбираешься, из
|
||||
чего собрался ролик. }
|
||||
Thread := TExportThread.Create(Segs, AudioSegs,
|
||||
ExpandFileName(ParamStr(3)), True, Proj.Master, Default(TEncodeProfile));
|
||||
ExpandFileName(ParamStr(3)),
|
||||
(ParamCount >= 4) and (LowerCase(ParamStr(4)) = 'keep'),
|
||||
Proj.Master, Default(TEncodeProfile));
|
||||
{ Словом resume просят продолжить прерванную сборку: готовые куски
|
||||
берутся с диска, а не считаются заново. }
|
||||
Thread.Resume := (ParamCount >= 4) and (LowerCase(ParamStr(4)) = 'resume');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue