Главная » Processing » Микширование видео в Processing

0

Этот пример будет немного другим. Мы проиграем два различных видео и соединим их вместе. Вы научитесь применять различные режимы и получать довольно психоделические результаты.

Как это делается

Начнем с объявления двух объектов класса Movie, по одному на каждый видеофайл. Я использовал уже знакомый нам видеофайл marbles и видеофайл marbles2, который придаст ему эффект калейдоскопа. Мы запустим этот видеофайл с удвоенной скоростью.

import processing.video.*;

Movie m1; Movie m2;

void setup()

{

size( 640, 480 );

m1 = new Movie( this, "marbles.mov" ); m1.loop();

m2 = new Movie( this, "marbles2.mov" ); m2.loop();

m2.speed( 2 );

}

Функция movieEvent() будет несколько отличаться. Если у вас проигрывается более одного видеофайла одновременно, считывать кадры нужно будет по отдельности.

void movieEvent( Movie m )

{

if ( m == m1 ) {

m1.read();

} else { m2.read();

}

}

В функции draw() мы выведем на экран первое видео. Второе видео будет выведено на экран с помощью функции blend().

void draw()

{

background( 0 );

image( m1, 0, 0, width, height );

blend(m2, 0, 0, width, height, 0, 0, width, height, DIFFERENCE);

}

В результате этого интересного приема ваше видео будет выглядть примерно так, как на скриншоте, в зависимости от режима смешивания, который вы выберете.

Функция blend() имеет множество параметров. Первый – это объект PImage, в нашем случае это текущий кадр нашего видео. Следующие четыре параметра это координаты x и y и ширина и высота исходного изображения. Параметры с шестого до девятого – то же самое, только для второго видео. Последний параметр – это режим смешивания. Эти режимы работают точно так же, как режимы смешивания в графических редакторах вроде Photoshop. Вот режимы, которые вы можете применить: ADD, BLEND, BURN, DARKEST, DIFFERENCE, DODGE, EXCLUSION, HARD_LIGHT, LIGHTEST, MULTIPLY,

OVERLAY, SCREEN, SOFT_LIGHT и SUBTRACT. Попробуйте поиграть с этими режимами и посмотреть, как они влияют на результат скетча.

Источник: Ян Вантомм, Processing 2: креативное программирование, перевод с английского Александры Мишутиной, Published by Packt Publishing Ltd., 2012, BIRMINGHAM – MUMBAI.

По теме:

  • Комментарии