Introduzione
Vantaggi di Tmpeg rispetto al Panasonic mpeg1 encoder
SW
da utilizzare e relativi link
Installazione
Procedimento
Trucchi vari
In questa guida troverete passo - passo come procedere alla conversione diretta, cioè senza alcun passaggio intermedio su Hd, da DVD a XVCD.
Per la conversione diretta da DVD a SVCD vi rimando all'articolo Il SVCD (Super Video Cd)......più DVD che XVCD:guida alla realizzazione in cui troverete un metodo analogo a quello che sto per descrivere più alcune riflessioni sulle varie possibilità offerte dal SVCD.
Ricordo, in breve, come l'XVCD è la versione fuori standard del VCD (Video CD) caratterizzato da un ottimo compromesso qualità/dimensioni dei file mpeg : video mpeg1 , 352*288 ,25 fps, e audio mpeg1 layer2 44100 stereo. Gran parte dei lettori DVD in commercio riescono a leggere e visualizzare gli XVCD.
Rimando agli altri articoli alla pagina digital video per l'approfondimento sul formato XVCD : in particolare troverete informazioni utili su La Babele dei formati: DVD, MiniDVD, MicroDVD, DivX;-)VCD,SVCD,XVCD, CD-DA e Gli encoders MPEG1 , mentre sull'utilizzo di avisynth (che si utilizza per la conversione) trovate informazioni su Avisynth v0.3: l'incredibile sw che trasforma tutti gli mpeg encoder stand alone in Plug-in per Premiere e Flaskmpeg. La mia opinione è che nel campo del video digitale, e in più generale in quello dell'informatica, non è importante tanto saper fare una operazione, quanto capire le cosa c'è dietro ogni passaggio: in caso contrario la minima difficoltà, anche più stupida, può apparire insormontabile; pertanto, il mio invito è di utilizzare questa guida, ma di cercare di approfondire i diversi passaggi, con test e prove varie.
Vantaggi di Tmpeg rispetto al Panasonic mpeg1 encoder
Ci sono ovviamente parecchi modi per realizzare la conversione DVD-->XVCD, ma secondo la mia esperienza quello che permette il miglior rapporto qualità/tempo è il metodo che si realizza tramite la catena Flaskmpeg--->avisynth---->tmpeg, metodo che sto per descrivere .
Una delle caratteristiche di tale metodo è che la conversione avviene senza nessun file intermedio su HD: si passa direttamente dal DVD al video mpeg1 ; pertanto lo spazio libero richiesto sull'HD è quello dell'mpeg1 (normalmente tale file non supera i 700 MB disponibili su di un CDR ).
Una alternativa altrettanto valida, è quella che sfrutta come encoder il Panasonic mpeg1 plug-in: in breve gli svantaggi e i vantaggi.
Vantaggi nell'uso del Panasonic plug-in :
Vantaggi nell'uso della catena Flaskmpeg--->avisynth---->tmpeg :
In tale articolo troverete inoltre come convertire i DVD widescreen 2.35:1 4/3 in XVCD ma in anamorfico : è l'esempio di film quali Titanic o Armageddon, che senza tale metodo risultano a dir poco inguardabili in formato XVCD a causa della scarsa definizione verticale.
Se volete approfondire l'uso del sw tmpeg e comprendere come funziona il formato mpeg vi rimando al mega articolo ( 500 Kbyte di html ed altrettanti di tabelle, schemi, immagini, esempi,...) I formati Mpeg 1 e 2: come funzionano e come utilizzare al meglio tutti parametri di Tmpeg encoder. Dalla teoria matematica...all'uso di tutti i giorni.
SW da utilizzare e relativi link
Iniziamo con il sw da utilizzare:
- Flaskmpegdecss che trovate nel mio sito flask.zip
- Avisynth che trovate nel mio sito Avisynth.zip (60K)
- Tmpeg beta12 che trovate nel mio sito tmpeg.zip con i relativi template (preset) aggiornati template.zip
- Nero Burning Rom versione 5 per la masterizzazione su cdr-cd rw http://www.ahead.de/
Iniziamo con la installazione del software.
Per installare flaskdecss basta decomprimere il file zippato in una directory.
Per avisynth occorre decompattare il file in una directory , copiare il file avisynth.dll in Windows/system ed eseguire poi il file install.reg: avrete avisynth installato nel sistema.
Per
installare tmpeg occorre decomprimere il file zippato in una directory
ed eseguire il file
TmpegEncVFP_install.bat . I template aggiornati vanno copiati sovrascrivendo
quelli presenti nella directory di tmpeg template .
Riguardo Flaskmpeg, il file zippato flask.zip contiene già al suo interno il plug- in di avisynth CM-Avisynth.prm rinominato in avisynth.cm.flask.: se scricate flaskmpegdecss da altri siti occorre copiare CM-Avisynth.prm nella directory in cui c'è Flaskmpeg e rinominarla in avisynth.cm.flask.
Ipotizziamo di voler realizzare un XVCD dotato delle seguenti caratteristiche che per la mia opinione sono il miglior compromesso qualità/ durata
Video |
Data Rate =2100 kbits/s | Image Size 352 X 288 pixel | Frame Rate 25 frame/s |
Audio |
Data Rate 224 kbits/sec | Sampling Freq. 44100 Hz | Channel Stereo |
Con un bit rate video di 2100 kbits/s è possibile inserire in un CDr 650 (comunemente chiamati 74 minuti) sino a 42 minuti di video: in un CDr 700 (comunemente chiamati 80 minuti) si possono inserire sino a 44 minuti di video; è possibile così inserire un film in 3 cdr (tranne eccezioni quale i cartoni W. Disnay in 2 cd).
Ovviamente i parametri del bit rate video si possono variare a secondo delle esigenze: per film più brevi si può salire ad esempio a 2200 Kbit/s garantendosi circa 40 minuti su cdr 650 e 43 su cdr 700. Il limite superiore è dettato solo dai limiti dei lettori DVD da tavolo: per una tabella sulle compatibilità: Formati digitali e compatibilità con i player DVD
Ecco una tabella che riassume i minuti di video che al max è possibile inserire con un dato bit rate video (nella tabella è sempre stato lasciato un margine di alcuni secondi, che occorre sempre mantenere considerando i diversi parametri in gioco.
CDR 74 |
Data Rate Video 2250 kbits/s | Minuti 40 |
CDR 74 |
Data Rate Video 2100 kbits/s | Minuti 42 |
CDR 74 |
Data Rate Video 2000 kbits/s | Minuti 44 |
CDR 74 |
Data Rate Video 1850 kbits/s | Minuti 47 |
CDR 80 |
Data Rate Video 2250 kbits/s | Minuti 43 |
CDR 80 |
Data Rate Video 2100 kbits/s | Minuti 45-46 |
CDR 80 |
Data Rate Video 2000 kbits/s | Minuti 48 |
CDR 80 |
Data Rate Video 1850 kbits/s | Minuti 51 |
Per il calcolo più preciso ecco due formule che penso possano essere utili:
- con CDR 74 Minuti= 103000/(bitrate_video+324) dove bitrate_video è nei casi visti 2100 e 2000.
- con CDR 80 Minuti= 111000/(bitrate_video+324)
324 deriva da 224 Kbit per l'audio + i circa 100Kbit dovuto al multiplexing Audio-Video.
103000 deriva dalla capienza di un cdr74 (circa 687 000 000 byte ), dal fattore 1.13 che si guadagna con il formato XA del VCD ( si sfruttano 2324 byte al posto di 2048, diminuendo i bit dedicati alla correzione degli errori). Ho che
103000 =circa 687000 * 8 bit * 1.13/60 sec (approssimato per difetto)
111000 =circa 103000*80/74
Ricordo che se si ottiene dalla divisione ad esempio 43.56 minuti, tale valore non corrisponde a 43 minuti e 56 secondi ma a 43 minuti e 0.56*60=33 secondi.
Finita l'installazione dei sw e inserito il dvd nel player, la prima cosa da fare è autenticare il DVD: lo si fa semplicemente eseguendo alcuni secondi del DVD con un player software. Nel caso (assurdo) in cui non possedete alcun player sw potete trovare un metodo alternativo in DVD---->XVCD, SVCD o DivX;-)
Terminata l'autenticazione, e chiuso il player sw, occorre eseguire FlasKMPEGDecss
|
..e con open dvd file.... |
..occorre selezionare il file ifo relativo al film (gli altri sono relativi ai servizi speciali, menù animati o altro) Ricordo come il file è normalmente vts_01_0.ifo (ad eccezione di alcuni film in cui è l'ultimo disponibele. es vts_23_0.ifo nel film "Il sesto senso") .... |
... da qui
si ha la conferma di aver selezionato l'ifo giusto grazie alla indicazione
della durata del filmato. In caso contrario si va un pò a tentativi, con
tutti gli ifo presenti. Si sceglie la lingua che si vuole convertire
ed eventualmente, se si desidera, anche i sottotitoli (che in tal caso
sarebbero impressi nel filmato senza poterli più eliminare)
Cliccare su Flask this DVD e aspettare alcuni secondi in cui il sw ricerca la chiave da decriptare... |
... Occorre poi selezionare il punto da cui iniziare la conversione: cliccare su Esegui/lettore ... |
....e dopo aver
cliccato su play, spostando il cursore è possibile selezionare il punto DA
CUI INIZIERA' la conversione. Si devono ovviamente pianificare un po'
i tempi: Nel caso del nostro esempio , 41 minuti per cd,
occorrerà fare 3 conversioni: nella prima conversione partire dall'inizio
(Seek first) nella seconda
conversione piazzarsi al minuto 41 e nella terza al minuto 82.
La scelta dei minuti (e quindi dei secondi) da convertire la si fa in flaskmpeg qui, ( vedi dopo). C'e' l'ulteriore possibilità di convertire tutto il film (lasciando lavorare il pc ad esempio la notte) in un solo file mpeg , e poi spezzettarlo in tre parti tramite l'opzione file/mpeg tools presente in tmpeg. Si deve andare per far ciò in Join/add (per caricare il file mpeg), cliccare sul file, edit (o doppio click) per scegliere l'inizio e la fine dello spezzone che serve (i tempi sono in secondi=minuti*60, senza offendere nessuno !!!!!), selezionare in type l'opzione mpeg1 video cd e infine selezionare il nome del file di uscita e premere ok. Ovviamente tale operazione va fatta 3 volte. Trovate analizzata questa comoda caratteristica di tmpeg nella sezione Trucchi vari nella FAQ 9 In entrambi i metodi visti, conviene ovviamente avere un margine di 4, 5 secondi per i tre spezzoni, considerando come non è un problema se tra la fine del cd e l'inizio del successivo ci sono 4, 5 secondi in comune: per questo motivo conviene comprimere nel nostro esempio es. 41 minuti e 5 secondi. (lo si setta in flaskmpeg). Nel caso del metodo dell'unico file da dividere in tre, sempre nelle ipotesi di 41 minuti di video, occorre settare in secondi: 0-2465 (inizio , 41
minuti + 5 secondi) Ecco una tabella riassuntiva:
|
bit rate video |
secondi da
convertire (da inserire nelle opzioni di flaskmpeg) |
fotogrammi da convertire | posizione inizio conversione |
2100 Kbit/s | (41min*60sec)+5sec=2465sec | 2465sec*25fps=61625 fotogrammi | inizio,41min,82min,123min.. |
2000 Kbit/s | (45min*60sec)+5sec=2705sec | 2705sec*25fps=67625 fotogrammi | inizio,45min,90min,135min.. |
Occorre poi selezionare come formato di uscita Link to Avisynth.
|
Ecco i parametri da settare sempre in flaskmpeg, in opzioni globali progetto
Riguardo l'opzione IEEE-1180, è in realtà messa unicamente a scopo di test, essendo lentissima a producendo miglioramenti della decompressione mpeg2 non visibili e assolutamente trascurabili. |
occorre settare 44100 e non "come file sorgente" poichè il DVD utilizza audio a 48000 mentre l'XVCD audio a 44100. |
L'opzione Filtraggio bilineare basta e avanza poiché i filtraggi più complessi non producono miglioramenti apprezzabili, e al contrario aumentano i tempi di codifica . Da osservare come "Mantieni rapporto altezza/larghezza" non è selezionato: la non selezione garantisce di mantenere il video in formato anamorfico, se disponibile. Ovviamente il non selezionare va bene anche nel caso in cui il video del DVD non è anamorfico. Se si inserisse l'opzione, in caso di video anamorfico, flaskmpeg ridimensionerebbe il video, aggiungendo inutili bande nere e riducendo pertanto la risoluzione verticale del filmato. Il ridimensionamento nelle giuste proporzioni lo farà il decoder o il televisore 16/9 o il televisore 4/3 con l'opzione 16/9. |
|
in uscita occorre scrivere semplicemente 1 ; per approfondimenti vedete l'articolo sull'avisynth. |
|
Qui
occorre inserire i secondi da compilare.
Nel nostro esempio 2465 secondi (41 minuti + 5 secondi ) |
Terminato il settaggio dei parametri in flaskmpeg occorre selezionare esegui- inizia la conversione, ed apparirà la finestra |
Ora flask è pronto a inviare i dati a tmpeg.
Prima di iniziare la
conversione occorre predisporre tmpeg.
Consideriamo i due possibili casi di video anamorfico o meno: come già detto la
questione del video anamorfico nella catena Flaskmpeg--->avisynth---->tmpeg
è trattata nel paragrafo L'aspect-ratio
negli mpeg-encoder
dell'articolo sul
video anamorfico. Nei punti che seguono è descritto come procedere, mentre in
tale paragrafo è spiegato perchè procedere in quella maniera.
Film con video anamorfico (gran parte dei film su DVD)
Per far questo occorre in ordine:
- caricare tmpeg
- Cliccare su Video/Browse |
- Selezionare tipo file/ All files |
- caricare il file carica.avs che trovate nella directory in cui avete scompattato il file avisynth_03.zip. E' consigliabile copiare il file carica.avs in una directory di facile accesso , per ovvi motivi.
- Cliccare su Load e caricare il template XVCD 16 9 BENNY 2100 che trovate nella directory template di tmpeg. |
-Cliccare su
Setting e verificare, (o eventualmente modificare) i parametri come in
figura. (il significato lo trovate sull'articolo del video anamorfico)
Osservo che nelle versioni precedenti alla b12a a causa di una diversa traduzione occorre selezionare FULL SCREEN (fit to frame è stato inserito nella b12a) |
|
Non rimane che scegliere il nome del file di uscita output file/Browse |
e premere START.
Se si vuole terminare la conversione occorre in ordine
Film con video non anamorfico (i film in formato 1.33:1, 1.66:1, e quelli non in anamorfico)
Per far questo occorre in ordine:
- caricare tmpeg
- Cliccare su Video/Browse |
- Selezionare tipo file/ All files |
- caricare il file carica.avs che trovate nella directory in cui avete scompattato il file avisynth_03.zip . E' consigliabile copiare il file carica.avs in una directory di facile accesso , per ovvi motivi.
- Cliccare su Load e caricare il template XVCD 4 3 BENNY 2100 che trovate nella directory template di tmpeg. (nel caso precedente il template era XVCD 16 9 BENNY 2100 ) |
-Cliccare su
Setting e verificare, (o eventualmente modificare) i parametri come in
figura. (il significato lo trovate sull'articolo del video anamorfico)
(rispetto al caso precedente cambia il parametro video/ aspect ratio
4:3)
Osservo che nelle versioni precedenti alla b12a a causa di una diversa traduzione occorre selezionare FULL SCREEN (fit to frame è stato inserito nella b12a) |
|
Non rimane che scegliere il nome del file di uscita output file/Browse |
e premere START.
Se si vuole terminare la conversione occorre in ordine
Una volta preparato il file mpeg, per masterizzare il cdr basta utilizzare il sw Nero Burning 5.X
Con Nero Burning è possibile creare un XVCD contenente uno o più contributi video ed eventualmente una o più fotografie. Con Nero è possibile creare una lista di filmati o immagini che saranno eseguite in successione e nell'ordine prestabilito: all'utente che visionerà l'XVCD sarà possibile saltare al contributo precedente o successivo tramite il telecomando ( reale per i player HW e virtuale per i player SW ).
In fase di creazione dell'XVCD con Nero è possibile fissare un intervallo di tempo che deve trascorrere tra la fine di un contributo e il successivo: se tale intervallo è fissato pari a "infinito", l'unica maniera per avanzare al capitolo successivo è quella di utilizzare il telecomando del player; utilissimo nella creazione di slide show di immagini.
Con tale possibilità è possibile ad esempio creare un XVCD con uno o più filmati a cui segue la successione di alcune fotografie : lo spazio occupato da queste è ridotto a 352844 byte per immagine, poco più dello spazio occupato da un secondo di filmato; in pratica per ogni minuto in meno di video è possibile inserire circa 40 fotografie !! . Un'altra possibilità è quella di inserire alcune foto all'inizio (la presentazione ) a cui seguono uno o più filmati.
Voglio solo osservare come anche inserendo 0 secondi di pausa tra un video e il successivo ci sarà sempre una pausa più o meno lunga (normalmente un paio di secondi) dovuta al fatto che il lettore deve caricare un file fisicamente distinto ( cosa che non succede per la gestione dei capitoli di un DVD che sono tutti presenti sullo stesso VOB). Tale pausa sconsiglia l'uso di tale caratteristica per dividere un film in più capitoli, codificando i capitoli singolarmente.
Riguardo le fotografie eventualmente da inserire consiglio di utilizzare immagini jpeg 704*576 poichè per risoluzioni diverse Nero cerca di ridimensionarle a 704*576, creando delle volte degli evidenti errori nelle proporzioni (immagini più o meno allungate e distorte, praticamente inguardabili)
Prima di usare Nero
consiglio il caricamento degli ultimi aggiornamenti gratuiti e del file che
rende il sw in italiano http://www.ahead.de/
Riguardo
l'aggiornamento in italiano occorre copiare i file relativi (dopo averli
scompattati in una cartella di appoggio) nella directory in cui c'è Nero. Dopo
aver caricato il SW, per rendere operativa la lingua italiana occorre chiudere
tutte le finestre aperte all'interno di Nero e selezionare file/preference/language
e italiano
Dopo aver preparato i file mpeg e le eventuali fotografie jpeg 704*576 occorre caricare Nero Burning e iniziare un nuovo progetto tramite new compilation (CNTR - N) e la selezione di Video CD. |
Tra le opzioni conviene inserire la compatibilità come in figura. | |
Tra
i parametri "opzioni file " conviene lasciare quelli standard.
Per iniziare a inserire i file mpeg e le eventuali immagini jpeg basta cliccare su nuovo in alto a destra. |
|
Per
creare la lista dei contributi basta trascinare gli mpeg e i jpeg nella
finestra in figura.
E' possibile variare l'ordine dei contributi tramite banale spostamento di questi con il mouse dalla vecchia alla nuova posizione. Un doppio click permette la scelta della durata della pausa tra il contributo selezionato e il successivo. Pausa infinita impone l'uso del telecomando (next) per la visualizzazione del video o della foto successiva. |
Nero Burning, considera
standard solo i video avente risoluzione 352*288: negli altri casi, a volte
compatibili con alcuni DVD player "da tavolo" (352*576, 702*576, 720*576) appare il seguente messaggio
Basta cliccare su SI e procedere normalmente.
-Conversione più rapida
Se si è disposti a rinunciare in parte alla qualità a vantaggio di una certa riduzione dei tempi di codifica, nei parametri di codifica in tmpeg si può settare l'opzione Low o Lowest quality ( setting- video - motion search).
Ecco i tempi ottenuti con il metodo discusso:
plug in |
fps
(fotogrammi al secondo) 352X288, PII 400 Mhz |
real time (25/fps) |
Tmpeg
B12a Normal quality |
3.2 -3.4 3.9 - 4.1 |
7.3 - 7.8 6.1 - 6.4 |
Con l'opzione low o lowest si ottiene un video con maggiori artefatti nelle scene dinamiche, mentre nelle scene statiche la qualità si mantiene sempre molto buona..
E' possibile velocizzare ulteriormente la conversione, eliminando la visualizzazione del video durante la codifica: lo si fa in tmpeg con option/output preview mode/ none e nella finestra flask mpeg progress deselezionando display output. Ovviamente si guadagnano solo piccolissime percentuali sui tempi di conversione.
-Perdita del sincronismo
Con Tmpeg collegato ad
avisynth occorre stare attenti ad un particolare: quando modificando un parametro,
compare un preview questo funziona normalmente solo che fa sballare il sincronismo audio video di
flask :provate ad esempio ad andare in file/preview e visualizzare un po di
video: se poi premete start per convertire il file si ha un audio completamente
sfasato. La soluzione è banale : se modificate dei
parametri e utilizzate le funzioni di Preview, prima di iniziare la
conversione occorre cliccare Stop serving nella finestrella Avisynth
Premiere plugin e poi normalmente in Flask esegui- inizia la conversione e in
Tmpeg START; in pratica si reinizializza il processo.
Per lo stesso motivo il punto di inizio della conversione e il numero di
fotogrammi da convertire lo si deve settare in Flask, senza toccare il Source
Frame Range ( Setting- configuration- advanced) di Tmpeg.
-Incremento del volume nell'audio
Uno dei problemi legati all'uso di Flaskmpeg (e forse l'unico) è il livello audio relativamente basso della decodifica AC3: tramite l'uso Flaskmpeg---> avisynth---->Tmpeg, si può aumentare il volume dell'audio grazie a Tmpeg andando in setting - advanced - audio Amplitude Processing-doppio click |
Settare volume es 300% |
Uscendo occorre verificare che tale elaborazione sia selezionata (X). Riguardo il fattore di moltiplicazione per i test che ho fatto con 300% non si corre il rischio di distorsioni: lo si può appurare facendo il preview (play all'nterno di audio preprocessing ) o ad esempio esportando il file Wav in Tmpeg (non si perde il tempo della decodifica video ) tramite File- Save as- wavfile e visualizzando la forma d'onda in un editor audio.
In tal caso vale ovviamente il discorso della perdita del sincronismo che si risolve come già visto ( Stop serving , esegui- inizia la conversione in Flask , e Start in Tmpeg).
-mix di spezzoni mpeg o estrazione di un pezzo di video
Se si hanno più video mpeg codificati con gli stessi parametri è possibile sfruttare la capacità di join di tmpeg.
Ipotizziamo di avere 2 video mpeg, dei quali vogliamo estrarne degli spezzoni e creare così un nuovo mpeg
Lo si fa tramite file/mpeg tools/
Join -add per caricare gli mpeg -doppio click sul file per scegliere i punti di inizio e fine, start e end (per regolazioni precise conviene indicare numericamente i punti, ricordando come i due decimali incrementano di un frame la posizione ogni incremento di 0.04: se 15.00 è il frame 375, 15.04 è il frame 376) -selezionare il formato in uscita type (mpeg1 Video-cd nel caso di XVCD) -selezionare il nome del file da creare (output/browse) click su OK Poichè il video non è ricompresso, la velocità dell'operazione dipende da quella dell'HD, che è il collo di bottiglia. In tutti i casi la velocità è molto elevata. Se si vuole estrarre solo un pezzo si procede ovviamente nella stessa maniera ma operando su di un solo file d'origine. |
Come al solito
per qualsiasi commento e parere potete contattarmi al mio indirizzo di posta
elettronica
benedettodue@tiscalinet.it
.
21 agosto 2000
ultimo aggiornamento 8 novembre 2000
Ritorna alla pagina digital video
Ritorna alla home page