Клип, не заполняющий кадр, ложится поверх нижнего, а не закрывает его
Уменьшенная и сдвинутая картинка выходила в ролик с чёрными полями, и нижнюю дорожку закрывал не сам клип, а эти поля. Так же вело себя и уменьшенное видео. Между тем уменьшают клип ровно затем, чтобы под ним было видно другое. Теперь «не заполняет кадр» означает то же, что «не сплошной»: наравне с выбитым цветом и прозрачностью. Такой клип уходит в накладываемые — предпросмотр рисует его поверх нижнего силами плеера, сборка собирает участок слоями, где у верхнего слоя цепочка без полей и место, куда он встаёт. Класть не на что — поля остаются полями, как и были. Решение одно на оба пути: IsOverlayClip, и в нём TransformFillsFrame считает по тем же числам, что уходят в фильтр. Заодно две вещи, всплывшие по дороге: — у картинки своя ветка уплощения, и слои там не строились вовсе: клип с прозрачностью в окне накладывался, а в ролике нет. Теперь строятся. — в сборке ветка «готовая вставка» стояла раньше ветки слоёв, и кусок со слоями уходил в неё за несуществующей заготовкой. Заготовка для такого куска больше и не заказывается: это были бы минуты впустую. Проверка tests/imagecrop.sh получила второй случай: под картинкой видео, вокруг неё обязано быть видно его. На прежней сборке там чёрное.
This commit is contained in:
parent
ffd105a8c0
commit
3d3d02368c
6 changed files with 193 additions and 17 deletions
25
README.md
25
README.md
|
|
@ -527,7 +527,19 @@ Linux потом искала по нему `.dll`.
|
|||
Два клипа **на одной дорожке**, наползшие друг на друга, дают переход:
|
||||
один плавно перетекает в другой. На разных дорожках перекрытие означает
|
||||
не переход, а наложение — там по-прежнему побеждает верхний, если он
|
||||
непрозрачен.
|
||||
сплошной.
|
||||
|
||||
Сплошным клип перестаёт быть по трём причинам: выбит цвет, задана
|
||||
прозрачность или **он не заполняет кадр**. Последнее — то же самое,
|
||||
сказанное иначе: уменьшенный или сдвинутый клип занимает часть кадра, а
|
||||
вокруг остаётся пустое место, которое сборка обкладывает чёрными полями.
|
||||
Поле непрозрачно, и нижнюю дорожку закрывает не сам клип, а его поля —
|
||||
поэтому такой клип кладётся поверх нижнего, а не вместо него. Уменьшают
|
||||
клип ровно затем, чтобы увидеть под ним другое. Класть не на что —
|
||||
остаются поля.
|
||||
|
||||
Отсюда же берётся картинка в углу кадра и два видео рядом: достаточно
|
||||
уменьшить и сдвинуть клипы на разных дорожках.
|
||||
|
||||
В месте наезда под указателем два клипа. Первый щелчок берёт верхний,
|
||||
повторный по тому же месту переводит выделение на следующий, после
|
||||
|
|
@ -713,6 +725,11 @@ Linux потом искала по нему `.dll`.
|
|||
«Кадрирование и поворот». Поэтому в кэше лежит столько заготовок,
|
||||
сколько разных кадрирований у этой картинки, и предпросмотр с роликом
|
||||
показывают одно и то же.
|
||||
|
||||
Заготовка нужна не всегда: если картинка не заполняет кадр, а под ней
|
||||
что-то лежит, участок собирается наложением, и чёрным полям взяться
|
||||
неоткуда. Заготовка с полями остаётся для случая, когда класть не на
|
||||
что.
|
||||
3. Границы кусков кладутся на кадровую сетку проекта: между кадрами
|
||||
времени нет, а звук набирается с точностью до отсчёта, и доли кадра
|
||||
разводят их в стороны.
|
||||
|
|
@ -1050,8 +1067,10 @@ Wine с новой библиотекой не грузилось ничего.
|
|||
|
||||
Отдельно от них `tests/imagecrop.sh` — сквозная, без окна: делает
|
||||
картинку, кладёт её клипом с уменьшением и смещением, собирает секунду
|
||||
ролика и смотрит на точки готового кадра. Ей нужны `tests/nlvetool`
|
||||
(`./build.sh test`), ffmpeg и python с PIL.
|
||||
ролика и смотрит на точки готового кадра. Случая два: класть не на что —
|
||||
вокруг картинки чёрные поля; под картинкой видео — вокруг неё видно его,
|
||||
а не поля. Ей нужны `tests/nlvetool` (`./build.sh test`), ffmpeg и python
|
||||
с PIL.
|
||||
|
||||
Последним восьми нужен монтаж в `test/поток/`: `длинный-фейд.nlve` — один
|
||||
клип с затуханием секунд на семьдесят (такой кусок сводится около
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue