|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2005
Messaggi: 296
|
Video splitting "preciso"
Ciao,
devo dividere dei filmati avi in parti piccole (diciamo dai 20 ai 40 secondi l'una), e ho provato a farlo con Easy Video Splitter e Ultra Video Splitter, che non sembrano funzionare bene a tal scopo: ho provato a dividerne alcuni (più di uno) con Easy Video Spliter dicendogli di creare un diverso frammento ogni 20 secondi. appena ha finito, il risultato è che l'inizio di ogni frammento di output non coincide mai con la fine del frammento precedente, ma parte dagli ultimi 2-3 secondi (circa) di quello precedente, cioè ne ripete la parte finale. invece con ultra video splitter alcune volte idem come sopra, e altre volte il frammento inizia qualche secondo dopo la fine del precedente, e quindi vengono proprio persi alcuni secondi di scena. non c'è un programma o un modo per fare lo splitting in maniera più precisa? ogni parte deve iniziare esattamente da dove è finita quella precedente grazie mille p.s. i codec dei filmati che ho provato sono divx o xvid Ultima modifica di GordonFreeman : 17-01-2010 alle 15:34. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2006
Città: più Africa che Italia
Messaggi: 2060
|
Quello che ti è successo non dipende dal programma che hai utilizzato, ma dalla struttura stessa dei filmati in formato AVI e, in particolare, dalle impostazioni di compressione con cui i files video sono stati creati.
Infatti, la maggior parte dei codecs più recenti non memorizza tutti i fotogrammi di un filmato, ma solo alcuni che utilizza come riferimento, ovvero i cosiddetti "fotogrammi chiave" o key frames o k-frames. I fotogrammi situati in posizione intermedia tra due k-frames sono praticamente dei fotogrammi "virtuali", nel senso che non contengono tutte le informazioni iniziali, poiché di essi vengono memorizzate solo le differenze tra un frame e il successivo: in pratica tra due k-frames non esistono veri fotogrammi ma un "flusso di dati video" che descrive le variazioni delle immagini in movimento. I programmi che splittano i files AVI generalmente possono tagliare la sequenza video solo in corrispondenza di k-frame. Per fare diversamente bisognerebbe ricodificare integralmente il filmato, riducendo la spaziatura dei k-frames ma aumentando drasticamente il bitrate video (e quindi le dimensioni del file) per compensare l'enorme mole di dati necessaria a creare i nuovi k-frames. Come avrai capito bitrate video e k-frames sono legati da un rapporto stretto: con meno k-frames puoi utilizzare un bitrate più basso (e ridurre quindi le dimensioni del file) senza perdere troppa qualità; con più k-frames devi utilizzare un bitrate più alto, altrimenti la qualità video può peggiorare di molto.
__________________
...Anima mia, ricordi la cosa che vedemmo quella magnifica dolce mattina d'estate alla svolta di un sentiero,
una carogna infame adagiata su un giaciglio di sassi con le gambe all'aria come una donna impudica bruciando e sudando i suoi veleni...(Baudelaire) |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Apr 2005
Messaggi: 296
|
Quote:
secondo me succede quel fatto perchè lo splitter cerca sempre di fare frammenti di 20 secondi, a discapito anche dell' "allineamento". cioè se nel 20esimo secondo va a finire in un fotogramma intermedio fra due k-frames, termina lì il frammento, e poi nel frammento successivo parte dal fotogramma chiave più vicino alla fine del frammento precedente, quindi perdendo o ripetendo alcuni fotogrammi intermedi quindi semplicemente basterebbe far finire un frammento esattamente in corrispondenza di un keyframe, e il frammento successivo inizierà esattamente da quel fotogramma. senza dover ricodificare il filmato ![]() però come gli dico allo splitter "cerca di fare frammenti di 20 secondi ma non importa se sono esattamente 20 secondi, purchè siano allineati ai fotogrammi chiave" ?? io sono un programmatore e forse in qualche settimana o mese posso scrivere un programmino che lo fa, però vorrei evitare ![]() non c'è un sofware già pronto che lo permetta? Ultima modifica di GordonFreeman : 17-01-2010 alle 19:00. |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2006
Città: più Africa che Italia
Messaggi: 2060
|
Quote:
http://www.videohelp.com/tools/Virtualdub che consente di fare agevolmente varie operazioni di editing video di base sui filmati in formato AVI. Con questo programmino si possono tagliare degli spezzoni video in vari modi: http://www.divxdoor.it/index.aspx?pa...irtualdub.html Prova a seguire le istruzioni contenute nei tutorials che trovi nel sito che ti ho linkato o in quest'altro: http://www.swprog.com/howto/divxvirtualdub.php Tieni presente che, nella parte bassa della finestra del programma, ci sono dei pulsantini con disegnata una chiave gialla: con quelli puoi individuare i vari k-frames, così da selezionare con maggior precisione gli spezzoni da tagliare.
__________________
...Anima mia, ricordi la cosa che vedemmo quella magnifica dolce mattina d'estate alla svolta di un sentiero,
una carogna infame adagiata su un giaciglio di sassi con le gambe all'aria come una donna impudica bruciando e sudando i suoi veleni...(Baudelaire) |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2009
Messaggi: 10148
|
Quoto virtualdub; puoi aprire il tuo file e dal menù file puoi scegliere Save segmented AVI. Nella finestra che si apre puoi impostare il numero di frames che deve essere contenuto in ciascun frammento e poiché i k-frames non sono distribuiti in modo omogeneo dovresti ottenere nel tuo caso dei buoni risultati impostando un valore di 800-1200 frames. Assicurati che sia nel menù audio che nel menù video sia impostata l'opzione Direct stream copy.
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3255
|
A tal scopo consiglio anche l'ottimo Avidemux...
|
![]() |
![]() |
![]() |
#7 | |
Member
Iscritto dal: Apr 2005
Messaggi: 296
|
Quote:
ho provato a fare Save Segmented AVI con molti video e il risultato è buono, basta sapere quanti fotogrammi al secondo ha il video, e nel numero massimo di fotogrammi per segmento si mette il numero calcolato così fps del video * 20 secondi |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:40.