вгору

оперативний блогер

05.07.11

Картинка в картинці. pip частина 2.

Отож, в першому відео я зробив цілісну картинку в картинці з двох подібних відео. Проте наглядніше, коли два окремі потоки йдуть паралельно і кожен своє відео несе. Для реалізації цієї задумки прийшлося трохи помучитися.
Звісно, простіше накласти друге відео на перше без обрізання і буде дві ліві частини екрану гри. Проте я захотів відцентрувати і взявся робити це так. Кінцевий код:


main = DirectShowSource("C:\Users\Toss\Desktop\22.avi") //завантажую 1
pipm = DirectShowSource("C:\Users\Toss\Desktop\23.avi") // і другий потоки
pipm = pipm.Crop(480,0,-480,-0) // обрізаю перше відео збоків
main = main.Crop(480,0,-480,-0) // відповідно друге
b = BlankClip(length=3800, width=1920, height=1080, fps=30, color=$000000) // створюю порожній чорний кліп на 3800 кадрів з частотою 30fps
xpos = 960
ypos = 0
k = Overlay(b, main, x=0, y=0)  // задаю перекриття кліпу першим відео.
Overlay(k, pipm, x=xpos, y=ypos)  // задаю перекриття кліпу з першим відео другим відео.
Як вкласти це в один Overlay я не додумався. Наглядно на графіку:

І ось результат).

Над синхронізацією геймплею попрацюю, коли розберуся з макросами, проте трохи пізніше. AHK script.

2 коментарі:

  1. В якому редакторі ти створюєш ролики?

    Синхронізувати можна простим зсувом в Adobe Premier. Відцентрувати також там можна і накласти маску на друге відео, щоб не перекривало перше. Хвилин 5 займе цей процес.

    ВідповістиВидалити
  2. Ролики я створюю в Virtualdub. Буду розбиратися в Premiere.

    ВідповістиВидалити