Animate / ApplyRange

Animate (clip, int start_frame, int end_frame, string filtername, start_args, end_args)
ApplyRange (clip, int start_frame, int end_frame, string filtername, args)

Animate  é um meta-filtro que avalia seu filter de parâmetro com argumentos que variam continuamente. No quadro start_frame e mais novo, filter é avaliado com os argumentos dados por start_args. No quadro end_frame e seguinte, filter  é avaliado com os argumentos dados por end_args. No meio, os argumentos são interpolados linearmente para uma transição suave.

ApplyRange é um caso especial de Animate onde start_args = end_args, e presente na v2.51. Pode ser usado quando você quiser aplicar um certo filtro em certa faixa de quadros de um clipe. Outra diferença com Animate é que args não pode conter um clipe. A partir da v2.53 suporta áudio e start_frame pode ser igual a end_frame (tal que só um quadro é processado).

O filtro deve ser incluído entre aspas (é uma string) e as duas listas de argumentos aninhadas não estão entre parênteses. Strings e clipes vídeos não podem ser interpolados e então devem ser idênticos nas duas listas de argumentos. Você não pode usar anotação OOP ou o implícito last com este filtro, mesmo que o filtro no argumento filtername regularmente os permite.

Este filtro não controlará corretamente uma trilha sonora variável, assim eu não recomendo seu uso com filtros que modificam a trilha sonora. E pelo amor de Deus, não faça os parâmetros iniciais e finais renderem uma saída de tamanho de quadro diferente.

O argumento filtername pode ser até mesmo Animate se você quiser ao quadrado em lugar da interpolação linear, mas não vou pensar muito nisso porque minha cabeça pode explodir.

 

# Faça uma versão enrolando o vídeo de "Versão":
ver = Version()
return Animate(0,149,"Crop", ver,0,0,64,32, ver,316,0,64,32)

# ou o que é o mesmo:
ver = Version()
return Animate(ver,0,149,"Crop", 0,0,64,32, 316,0,64,32)

# Desvaneça ao branco
AviSource("E:\pdwork\DO-Heaven.AVI")
Animate(100,200,"Levels", 0,1,255,0,255, 0,1,255,255,255)

# Faça um zoom gradual no centro de um vídeo 320x240, começando em
# 1:1 ampliação no quadro 100 e terminando com ampliação 4:1
# no quadro 200
clip = AviSource("E:\pdwork\DO-Heaven.AVI")
Animate(100,200,"BicubicResize",clip,320,240,0,0,320,240, clip,320,240,120,90,80,60)

# Faça o texto " Alô, Mundo "! desfaça o zoom do centro de um vídeo 320x240
Animate(0,48,"Subtitle", last,"Alô, Mundo!",160,120,0,99999,"Arial",0,
  \  last,"Alô, Mundo!",25,130,0,99999,"Arial",48)

ver = Version()
return ver.ApplyRange(0,149,"Crop", 158,0,64,32)

AviSource("E:\pdwork\DO-Heaven.AVI").BicubicResize(320,240)
ApplyRange(0,48,"Subtitle", "Alô, Mundo!",25,130,0,99999,"Arial",48)

# ou o que é o mesmo:
clip = AviSource("E:\pdwork\DO-Heaven.AVI").BicubicResize(320,240)
ApplyRange(clip, 0,48,"Subtitle", "Alô, Mundo!",25,130,0,99999,"Arial",48)

$Date: 2006/03/26 18:11:19 $ Portuguese translation by RoLon