Este documento discute operações básicas de reprodução de vídeo no Max/MSP, incluindo start/stop, velocidade, tempo, frames e looppoints. É explicado como converter unidades de tempo do QuickTime para segundos e como trabalhar com diferentes modos de looping. Exemplos de patches Max são fornecidos para ilustrar cada tópico.
1. Jitter – Operações Básicas
Vídeo Arte Interactiva
12-02-2010 Jorge C. S. Cardoso 1
2. 2
Conteúdo
• Start Stop, Rate Vol
Start, Stop Rate,
• Tempo
– Looppoints
12-02-2010 Jorge C. S. Cardoso
3. 3
Reprodução básica
• Start Stop, voltar ao início velocidade
Start, Stop início,
reprodução, volume de som
• Exemplo 1-PlayStartStop.maxpat
1 PlayStartStop.maxpat
12-02-2010 Jorge C. S. Cardoso
4. 4
Tempo
• O Quicktime usa unidades próprias de tempo
(Quicktime time units)
• T d os atributos relacionados com tempo são
Todos t ib t l i d t ã
expressos em QT Time units
– A relação d
l ã destas unidades com um segundo varia com o
id d d i
ficheiro de vídeo
• O número de unidades num segundo é dado pelo atributo
“timescale”
• Exemplo 2-Time.maxpat
12-02-2010 Jorge C. S. Cardoso
5. 5
Tempo
• É possível converter as QT Time units em
segundos:
– Timescale = QtTimeUnits/Segundo
– Duration = Número de QtTimeUnits total
– Duração (segundos) = Duration/Timescale
– Tempo actual = Time/Timescale
• Exemplo 3-Time-Segundos.maxpat
12-02-2010 Jorge C. S. Cardoso
6. 6
Frames
• Também é possível trabalhar com frames em
vez de tempo
– O atributo ‘framecount’ permite saber o número
total de frames no vídeo
– A mensagem ‘frame’ permite posicionar numa
determinada frame
• E
Exemplo 4 F
l 4-Frames.maxpat
12-02-2010 Jorge C. S. Cardoso
7. 7
Tempo e Frames
• Também podemos converter tempo em frames
– Frame actual = (Tempo actual/Tempo total)*Total de frames
( p p )
• Exemplo 5-TimeToFrames.maxpat
5 TimeToFrames.maxpat
12-02-2010 Jorge C. S. Cardoso
8. 8
Looppoints
• É possível definir que apenas um segmento do
vídeo deve ser reproduzido
– Através de ‘looppoints’: instante inicial e instante
final
• Exemplo 6-Looppoints maxpat
6-Looppoints.maxpat
12-02-2010 Jorge C. S. Cardoso
9. 9
Loop
• É possível alterar o comportamento de “looping” do
looping
vídeo alterando o looping mode
– Mensagem loop
• Looping mode (default = 1 (start to end))
• 0 = no looping
p g
• 1 = normal looping (start to end)
• 2 = palindrome looping (start to end to start to ....)
• 3 = no looping, but use looppoints to define playback limits
• Exemplo 7-Loop.maxpat
p p p
12-02-2010 Jorge C. S. Cardoso
10. 10
Segmentos pré-definidos
• Exemplo 8 Loops Sequencias maxpat
8-Loops-Sequencias.maxpat
12-02-2010 Jorge C. S. Cardoso
11. 11
Mais Info
• Controlling Movie Playback
– http://cycling74.com/docs/max5/tutorials/jit-
tut/jitterchapter04.html
/ h 04 h l
12-02-2010 Jorge C. S. Cardoso
12. 12
Exercício #1
• Crie um patcher com um botão que, quando
que
accionado, reproduza o vídeo a partir de um
instante aleatório
i l ói
1. Use [random]
2. Atenção aos limites
12-02-2010 Jorge C. S. Cardoso
13. 13
Exercício #2
• Modifique o patcher anterior para que a
velocidade de reprodução também seja
aleatória (d
l ó i (dentro de limites pré-definidos)
d li i é d fi id )
12-02-2010 Jorge C. S. Cardoso
14. 14
Exercício #3
• Crie um patcher com um botão que, quando
que
accionado, acelere o vídeo até um instante
pré-definido e reproduza em velocidade
é d fi id d l id d
normal a partir desse momento
12-02-2010 Jorge C. S. Cardoso
15. 15
Exercício #4
• Crie um patcher com dois vídeos (diferentes
ou com looppoints diferentes) que
reproduzem em cascata:
d
– O 1º vídeo começa quando se clicar num botão,
q
– O 2º vídeo começa quando o 1º terminar,
– O 1º vídeo volta a começar quando o 2º terminar
1 2 terminar.
12-02-2010 Jorge C. S. Cardoso