Newsgroup: it.comp.software.divx
Titolo: Codificare un file avi accellerato.

Innanzitutto un saluto a tutti, visto che è il mio primo messaggio qui.
Questo il problema.
Devo preparare circa 800 ore di filmati avi di videosorveglianza ad una 
elaborazione di motion detection da eseguire nella mia linux box. Il mio 
problema non è l'attività di motion detection ma il fatto che, per limiti 
del programma "motion", questa risulterebbe lunga 800 ore, come i filmati 
da processare.
Quindi ho intenzione di ricodificare i filmati originali in modo da 
ottenere dei filmati più brevi, mi spiego meglio:
ho 800 file avi lunghi ognuno 1 ora codificati a 15 fps
voglio ottenere 800 file avi più brevi, sempre codificati a 15 fps, ma 
ogni 30 frame voglio conservarne 1 e scartare gli altri 29, in modo che 
il file avi risultante sia lungo solo 2 minuti
riepilogo:
1 ora a 15 fps = 54000 frames
riduco i frames a 1800 (dividendo x 30)
1800 frames a 15 fps = 2 minuti
Attualmente per alimentare motion utilizzo il programma transcode, ma la 
"lettura del man" non mi ha illuminato.
Anche una ricerca in google non mi ha dato informazioni utili 
(probabilmente perché non conosco il termine inglese corretto per 
indicare l'operazione voluta).
Non mi sembra sia una operazione improbabile e quindi sicuramente un 
filtro del genere esiste. Naturalmente per preparare i filmati posso 
utilizzare dei programmi diversi da transcode.
Grazie a tutti.
Raffaele Tannone

 il file avi risultante sia lungo solo 2 minuti
Frank Sinapsi (se non ricordo male) aveva scritto qui una volta la
possibilità di un comando con MEncoder che faceva qualcosa del genere.
Ora come ora non ricordo quale fosse l'opzione da usare, però.
-- 
Saluti, Kap - 
www.lordkap.it
 - AVINaptic: 
http://fsinapsi.altervista.org
FAQ del newsgroup: 
http://giubbe.altervista.org
Il vino è la poesia della terra. - Mario Soldati

 1800 frames a 15 fps = 2 minuti
puoi fare cio' che hai chiesto con mencoder, usando le opzioni "fps"
e "ofps".
Innanzitutto occorre sapere come sono codificati gli avi da cui parti,
perche' in qualche caso non c'e' bisogno di ricodificare; altrimenti
devi ricodificare.
Ad esempio, puoi fare cosi':
primo comando:
mencoder tuo.avi -o temp.avi -nosound -ovc xvid
 -xvidencopts fixed_quant=2 -fps 30 -ofps 1
secondo comando:
mencoder temp.avi -o nuovo.avi -ovc copy -fps 2 -ofps 15
Il primo comando prende in ingresso il tuo avi, informando mencoder
che deve trattarlo come 30 fps, e codifica in xvid il file temp.avi
a 1 fps (quindi mencoder scegliera' un frame ogni trenta di tuo.avi).
Il file temp.avi ottenuto ha un framerate nominale di 1 fps.
Tu lo vuoi accelerare a 15 fps, quindi hai bisogno del secondo
comando (o equivalenti) che non fa altro che creare una copia esatta
(nuovo.avi) di temp.avi, con l'unica differenza che il framerate
impostato negli headers e' cambiato da 1 fps a 15 fps.
-- 
Home page di Frank: 
http://fsinapsi.altervista.org
Home page di Giubbe e FAQ: 
http://giubbe.altervista.org

 mencoder temp.avi -o nuovo.avi -ovc copy -fps 2 -ofps 15
oops, scusa, l'opzione "-fps 2" e' sbagliata, va proprio
tolta (avrei dovuto scrivere "-fps 1" ma e' inutile perche'
quello e' proprio il framerate nominale di quell'avi)


 framerate nominale di quell'avi)
Ad un secondo passo non c'ho  proprio pensato, grazie tantissimo 
dell'aiuto.
Raffaele Tannone

 dell'aiuto.
si puo' fare in un passo unico (stamattina non mi era venuto in
mente :-) ) con questo comando:
mencoder tuo.avi -o temp.avi -nosound -ovc xvid
 -xvidencopts fixed_quant=2 -fps 450 -ofps 15
in questo modo ottieni direttamente un avi a 15 fps, i cui frame
sono scelti uno ogni 30 del filmato di partenza
