Differenze tra le versioni di "Conversioni video"

Da GolemWiki.
(Copiare un dvd5)
(Annullata la modifica 1760 di Alex.u (discussione))
Riga 1: Riga 1:
== Conversioni e Programmi Video (in init tre). ==
+
fz1HCH <a href="http://fxtlpdutzywb.com/">fxtlpdutzywb</a>, [url=http://nfskjslvprpd.com/]nfskjslvprpd[/url], [link=http://ttvydjivopeb.com/]ttvydjivopeb[/link], http://oqfwqtxyeyhe.com/
 
 
"Alex.u - alessandro.ugolini@autistici.org"
 
 
 
; Ingredienti: [[Mplayer]], [[Mencoder]], [[Transcode]], [[lsdvd]], [[dvdauthor]], [[libdvdcss]], [[Lame]], [[Mjpegtools]], [[image magick]], [[ffmpeg]], [[sox]], [[gimp]], [[lsdvd]], [[toolame]], [[vcdimager]],(minimo indispensabile).
 
 
 
Per l'installazione degli <sup>ingredienti</sup> si utilizzano i vari gestori di pacchetti presenti in tutte le distro; per una personalizzazione e un eccellente rendimento e' preferibile <sub>compilare</sub> il tutto (cosa non da poco:->)."
 
 
 
<small> Il presente doc serve a conoscere i vari termini usati nell'editing video, senza i quali sarebbe difficile usare ANCHE un programma con interfaccia grafica (a suon di clik). </small>
 
 
 
=== Glossari ===
 
==== Formati video. ====
 
 
 
; Mpeg1/2: Motion Process Expert Group - ES elementary stream senza info PS program stream audio-video-info
 
 
 
; Avi: Formato file piu' che video. Audio Video Interleaved (alcuni riportano interlaced). Puo' contenere tutti i codec.
 
 
 
; Mov: Contiene mpeg4 e acc audio.
 
 
 
; Wmv: fanno tenerezza
 
 
 
; OGM: Formato contenitore come l'avi. Puo' contenere qualsiasi codec A/V. Si possono aggiungere sottotitoli, menu. L'unico difetto e' che non e' ancora supportato dai riproduttori da tavolo.
 
 
 
==== Formati video (del televisore :^/) ====
 
 
 
; Standard televisivi: ce ne sono 2 Pal e Ntsc con differenze di eimenzione, hz diversi, frame rate diverso
 
 
 
; PAL: usato in europa e asia, dim. 720x576 area visibile 702x576, dim. del pixel 128x117 con aspect ratio di 1,094, frame rate 25 mezzi frame (50)
 
 
 
; NTSC: usato in usa e japp, dim 720x486 area visibile 711x486, dim. del pixel 72x79 con aspect ratio di 0,911, frame rate 30 mezzi frame (60)
 
 
 
; 4/3: formato delle tv piu' comuni
 
 
 
; 4/3 nativo: formato video tipico dei cartoons
 
 
 
; letter box: tipiche bande nere orizzontali, quando in una tv da 4:3 viene visualizzato un film in 16:9
 
 
 
; 16/9: formato televisivo wide screen
 
 
 
; anamorfico: formato cinematografico leggermente allungato per essere adattato alle tv 16/9.
 
 
 
; VistaVision: Formato cinematografico con dim 1.85:1
 
; Cinemascope: Formato cinematografico con dim 2.35:1
 
 
 
; RGB: descrizione del pixel R-red G-green B-blue tipica dei monitor
 
 
 
; Aspect ratio: E' il rapporto che sta' tra la larghezza e l'altezza di un formato. (es 4:3 = asr 1,3333333)
 
 
 
; Bitrate: Quantita' di informazioni espresse in bit in un secondo. (es. un file mp3 a 128Kbps = 1 secondo di musica = 128000 bit = 16000 byte al secondo)
 
 
 
; YUV: descrizione del pixel Y-luminanza (giallo) U-crominanza (rosso-giallo) V-crominanza (blu-giallo)
 
; dpi: pixel x pollice. Usato dagli scanner es 300 dpi (300 pixel in un pollice). Si puo' calcolare lo spazio utilizzato da un' immagine senza compressione. A4=21x29.7 cm 1-inch=2,54 cm profondita'=24 bit; (300dpi / 2.54 cm)^2 = 13950 pixel/cm^2 ; 21 x 29,7 x 13950 = 8700615 pixel totali; ogni pixel ha una profondita' di 24 bit e per fare un byte ci vogliono 8 bit - 8700615 x 24 / 8 = 26101845 byte overo 26 MB
 
 
 
==== Codecs Video ====
 
 
 
; mpeg1: (vcd) Libreria mpeg1 es.
 
; mpeg2: (dvd) codec per dvd estenzione solo video .m2v
 
; opendivx: codec libero, produce immagini YV12 codifica veloce.
 
; divx: implementata in mplayer (e mencoder) la versione libera di divx4 con il nome di divx4linux. Utilizza mpeg4
 
; xvid: Creato dalla separazione di openivx e divx5. Ottimo codec. Utilizza mpeg4
 
; lavc: No comment. IL Codec GNU per eccellenza supporta un po' di tutto. E di tutto un po' parecchio bene. Utilizza mpeg4 e molti altri.
 
; ffmpeg: E' una signora libreria che contiene codec opensource in grado di decodificare una gran parte di formati video: mjpeg,rv10,divx3-4-5,mp41,wmv1-2,HuffYUV,wma Molto piu' veloce dei codec proprietari. ovviamente.
 
 
 
==== Codecs audio ====
 
; mpeg layer 2: mp2 con extension .mpa
 
; mpeg layer 3: mp3 files musicali
 
; mpeg layer 1: vcd
 
; wma:  v1 v2 di win
 
; ac3 dolby: decodifica hw e sw x piu' canali compreso il dolby surround. Audio dei dvd.
 
; ogg vorbis: libero - libreria simile all'mp3 anzi meglio
 
; pcm: non compresso
 
 
 
==== Supporti CD/DVD ====
 
 
 
; CD: I CD normalmente contengono una sola sessione. E' possibile creare piu' sessioni, di grandezza diversa. Lo spazio utilizzabile e' di 700 Mb, esistono in commercio CD High Capacity in grado di contenere fino a 1Gb, come esistono miniCD di grandezze diverse
 
; CD-audio: I CD audio contengono piu' sessioni, una per ogni traccia audio. Le tracce audio contengono dati stereo campionate a 44100 Hz con 16 bit.
 
; DVD: Digital Video Disk, puo' contenere 120 min di video, con qualche accorgimento anche di piu' ;). Per i dati, lo spazio disponibile e' 4,4 Gb circa e non 4,7 come dicono i costruttori!
 
; DVD-video:
 
caratteristiche
 
possibilita' di memorizzare fino a 8 tracce audio
 
possibilita' di inserimento fino a 32 sottotitolazioni
 
possibilita' di inserire riprese (angle) da piu' punti di vista
 
possibilita' di inserire menu e contenuti multimediali
 
possibilita' di inserire punti di biforcazione, in modo da creare storie con conclusioni multiple.
 
; DVD-RAM: DVD riscrivibili da 2.5 Gb per faccia
 
; DVD5: 4.7 Gb per faccia, singolo strato il piu' diffuso e utilizzato, spazio dati 4.4 Gb
 
; DVD9: 8.5 Gb singola faccia doppio strato, i comuni dvd-video in vendita
 
; DVD10: 9.7 Gb doppia faccia singolo strato, disponibili 8.8 Gb
 
; DVD18: 17 Gb doppia faccia doppio strato
 
; Region: Il codice (da1 a 6) che identifica i 5 continenti. L' europa e' il 2
 
 
 
=== Raccolta delle info ===
 
 
 
==== info di un DVD ====
 
 
 
Il programma per eccellenza per raccogliere info da un dvd e' lsdvd. Nella sua massima espressione
 
$ lsdvd -x
 
 
 
libdvdread: Using libdvdcss version 1.2.5 for DVD access
 
 
 
Disc Title: DVDVOLUME
 
Title: 01, Length: 01:52:36 Chapters: 31, Cells: 32, Audio streams: 03, Subpictures: 01
 
 
 
Title: 02, Length: 00:00:06 Chapters: 01, Cells: 01, Audio streams: 03, Subpictures: 01
 
 
 
Title: 03, Length: 00:02:45 Chapters: 06, Cells: 01, Audio streams: 00, Subpictures: 00
 
 
 
Title: 04, Length: 00:00:00 Chapters: 01, Cells: 01, Audio streams: 03, Subpictures: 01
 
 
 
Title: 05, Length: 00:01:38 Chapters: 01, Cells: 01, Audio streams: 03, Subpictures: 00
 
 
 
Title: 06, Length: 00:02:45 Chapters: 06, Cells: 01, Audio streams: 03, Subpictures: 00
 
 
 
Title: 07, Length: 00:00:18 Chapters: 02, Cells: 02, Audio streams: 00, Subpictures: 00
 
 
 
Longest track: 1
 
 
 
il Title 1 e' il piu' lungo, quindi si presuppone sia il film vero e proprio.
 
Con Mplayer si ottengono le info relative allo scale, alla durata e al tipo di file.
 
mplayer dvd://1 -v -vo null -ao null
 
 
 
Aumentando l'opzione -v si inrementa il livello di verbosita' (-v -v -v)
 
Ulteriori info si trovano con tcprobe
 
$ tcprobe -i /dev/dvd -T 1
 
 
 
Con l'opzione -d Numero 0-1-2 si incrementano le info.
 
 
 
Con questo comando si ha in risposta il bitrate giusto da impostare per un' eventuale codifica in mpeg4 e audio mp3 abr a 128 kbps
 
 
 
==== info di un file avi ====
 
 
 
Si puo' usare mplayer (come sopra del resto!)
 
$ mplayer film.avi -v
 
 
 
o tcprobe
 
$ tcprobe -i film.avi (mpg)
 
 
 
==== Durata del film - qualita' dell' mp3 ====
 
 
 
Nel caso dell'output riportato il film dura 1 ora 52 minuti e 36 secondi ovvero in sec.
 
(112*60)+36 = 6756
 
 
 
La creazione di un buon MP3 e' del bitrate di 128 Kbit ma si puo' ricorrere a riduzioni piu' drastiche tipo di 64 (la meta' dello spazio accupato da un normale mp3)
 
 
 
Mb di spazio occupato di un mp3 128 Kbit durata 6756 secondi
 
 
 
[(128*6756)/8]/1000 = 108,096
 
 
 
un mp3 di durata 6756 occupa 108 Mb a "bitrate Fisso"
 
 
 
N.B. ci rimangono solamente 593 Mb di un cd da 700 Mb per metterci il video.
 
 
 
==== Calcolo del bitrate video ====
 
 
 
Si calcola in base allo spazio a disposizione.
 
 
 
Nel nostro caso
 
 
 
592 Mb (ovvero)
 
 
 
592*1000*8=4,736,000 Kbit disponibili
 
 
 
e un secondo del film puo' contenere
 
 
 
4,736,000/6756 = 701,00651 Kbit
 
 
 
Cmq la soluzione piu' veloce si ottiene lanciando tcprobe con dvd inserito. Il calcolo del bitrate video lo fa da solo impostando di default il codec audio mp3 a 128 kbps
 
$ tcprobe -i /dev/dvd
 
<nowiki>
 
import frame size: -g 720x576 [720x576]
 
    aspect ratio: 4:3 (*)
 
      frame rate: -f 25.000 [25.000] frc=3
 
      audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000]
 
      audio track: -a 1 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000]
 
 
 
[tcprobe] V: 67500 frames, 2700 sec @ 25.000 fps
 
 
 
[tcprobe] A: 42.19 MB @ 128 kbps
 
 
 
[tcprobe] CD:  650 MB | V:  607.8 MB @ 1888.4 kbps
 
 
 
[tcprobe] CD:  700 MB | V:  657.8 MB @ 2043.8 kbps
 
 
 
[tcprobe] CD: 1300 MB | V: 1257.8 MB @ 3907.9 kbps
 
 
 
[tcprobe] CD: 1400 MB | V: 1357.8 MB @ 4218.6 kbps
 
</nowiki>
 
 
 
==== Ritaglio alias Crop ====
 
 
 
con mplayer si puo' calcolare il ritaglio
 
$ mplayer dvd://1 -vop cropdetect -vo null -ao null
 
 
 
aggiungerei anche un capitolo in modo che sia parte interna del film
 
$ mplayer dvd://1 -chapter 3 -vop cropdetect -vo null -ao null
 
 
 
[-'bla'<bla>'bla']
 
 
 
crop area: X: 4..719  Y: 0..575  (-vf crop=716:576:4:0)28%  1,2% 0 0 41%
 
 
 
crop area: X: 4..719  Y: 0..575  (-vf crop=716:576:4:0)28%  1,2% 0 0 43%
 
 
 
ci interessa solo..........................^^^^^^^^^^^
 
 
 
facciamo una prova con un rettangolo bianco
 
$ mplayer dvd://1 -vop rectangle=716:576:4:0
 
 
 
oppure direttamente ritagliato
 
$ mplayer dvd://1 -vf crop=716:576:4:0
 
 
 
Prima ho usato mplayer con l'opzione -vop e ora -vf. Il manuale dice che -vop e' obsoleto e con -vf video filters si ottengono i soliti risultati
 
 
 
==== Funzionamento del crop - video ====
 
 
 
supponiamo la schermo 720 x 576
 
 
 
+-----------------------W-----------------------+
 
|                                              |
 
|                                              |
 
|                                              |
 
Z                                              X
 
|                                              |
 
|                                              |
 
|                                              |
 
+-----------------------Y-----------------------+
 
 
 
-vf crop=X:Y:Z:W
 
 
 
Attenzione che "X" e "Y" dipendono da "W" e "Z"
 
supponiamo Z = 20 ; X =< [720-20]
 
poiche' il crop taglierebbe una parte dello schermo inesistente
 
 
 
==== interlaced ====
 
 
 
I video creati per essere visti alla TV sono interlacciati, cioe' creati da mezzi frame a righe dispari e pari, quindi, durante la visione su un pc o durante una codifica e' opportuno deinterlacciarli con un video filtro.
 
$ mplayer videointerlac.vob -vf pp=li
 
 
 
tra le opzioni di pp : lb-lineare blend li-lineare interpolato ci-cubico interpolato
 
 
 
=== Trasformazioni video ===
 
 
 
==== Rippare DVD. ====
 
 
 
L'operazione detta rippaggio consiste nel copiare il contenuto di un dvd-video sull'HD.
 
 
 
Per ripparlo si usa mencoder, vobcopy o transcode.
 
$ mencoder dvd://n -dvdangle n -chapter n -ovc copy -oac copy -o film.avi
 
 
 
Se si vuol rippare il film intero toglie l'opzione -chapter. Sid e' l'indice dei sottotitoli. Attenzione a dove viene lanciato che non ci siano nei paraggi file tipo frameno.avi :)
 
oppure
 
$ vobcopy -l
 
 
 
Per mettere i sottotitoli in un file separato
 
$ mencoder dvd://n -dvdangle n -chapter n -vobsubout film -vobsuboutindex
 
0 -sid 0 -ovc copy -oac copy -o film.avi
 
 
 
creando cosi due file film.idx e film.sub (conviene chiamarli come il file video, in modo che mplayer li carichi semplicemente con la 'v'). Con -sid si sceglie la lingua dei sottotitoli. Con vobsuboutindex si da un indice al file sottotitoli creato. All'interno dello stesso file si possono aggiungere piu' lingue, basta ripetere il processo e cambiare i numeri di vobsuboutindex e sid.
 
 
 
==== Encoding DVD ====
 
 
 
L'operazione di encoding consiste nel trasformare il dvd rippato, il dvd dal suo device o un qualsiasi file video in un altro formato video tramite l'uso di un codec. (come divx4 o lavc)
 
 
 
1° passaggio
 
 
 
Non e' proprio il primo passaggio del codificatore... con questo passaggio si crea un file frameno.avi contenente solo l'audio e alla fine dell'output, delle informazioni relative al bitrate video da usare
 
# mencoder film.avi -oac mp3lame -lameopts abr:br=128 -aid 130
 
-af volume=2:sc -ovc frameno -o frameno.avi
 
 
 
da un risultato di calcolo tipo questo
 
 
 
[...]
 
 
 
Pos:2613,6s  65344f (100%) 135fps Trem:  0min  56mb  A-V:0,038 [0:175]
 
 
 
Writing AVI index...
 
 
 
Fixing AVI header...
 
 
 
Recommended video bitrate for 650MB CD: 1897
 
 
 
Recommended video bitrate for 700MB CD: 2058
 
 
 
Recommended video bitrate for 800MB CD: 2379
 
 
 
Recommended video bitrate for 2 x 650MB CD: 3983
 
 
 
Recommended video bitrate for 2 x 700MB CD: 4304
 
 
 
Recommended video bitrate for 2 x 800MB CD: 4946
 
 
 
Video stream:    0,800 kbit/s  (100 bps)  size: 261356 bytes  2613,560 secs  65344 frames
 
 
 
Audio stream:  174,997 kbit/s  (21874 bps)  size: 57182184 bytes  2614,080 secs
 
 
 
2° passaggio
 
 
 
Nel secondo passaggio si riprende dalla dir corrente il frameno.avi con -oac copy, e diamo il pass=1 al codec divx (nelle opzini), creera' un file di log che verra' in seguito letto dall'opzione pass=2. Il risultato finale viene cancellato, ci interessa solo il file di log
 
$ mencoder film.avi -oac copy -ovc divx4 -divx4opts :br=2066:pass=1 -vf 
 
pp=de,crop=716:576:4:0,scale=480:-2 -aid 130 -o "/dev/null"
 
 
 
oppure con il mitico lavc
 
$ mencoder filmavi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2066:
 
vpass=1 -vf pp=li,crop=716:576:4:0,scale=480:-2 -aid 130 -o "/dev/null"
 
 
 
3° passaggio
 
 
 
ultimo passaggio, quindi creazione del file avi
 
$ mencoder film.avi -oac copy -ovc divx4 -divx4opts :br=2066:pass=2 -vf
 
pp=de,crop=716:576:4:0,scale=480:-2  -aid 130  -o "minonnafaleprove.avi"
 
 
 
ricodarsi di cancellare i residui
 
$ rm frameno.avi
 
 
 
$ rm divx2pass.log
 
 
 
con lavc
 
$ mencoder film.avi -oac copy -ovc lavc -lavcopts
 
vcodec=mpeg4:vbitrate=2066:vpass=2 -vf pp=li,crop=716:576:4:0,scale=480:-2
 
-aid 130 -o film.avi
 
 
 
Rippare e encodare con un solo passaggio
 
 
 
Se le dimenzioni finali del file video possono essere superiori al Gb, e' conveniente rippare con un solo passaggio, risparmiando un sacco di tempo :)
 
$ mencoder dvd://1 -aid 129 -sid 1 -vobsubout film -oac mp3lame -lameopts
 
abr:br=128 -af  volume=2:sc -ovc divx4 -divx4opts :br=2066 -vf
 
pp=ci,crop=716:576:4:0,scale=600:-2 -o film.avi
 
 
 
In dettaglio
 
 
 
mencoder dvd://1 # dice a mencoder di leggere il dvd al title 1
 
 
 
-aid 129 # seleziona la lingua - un alternativa e' -alang it per selezionare lingua italiana
 
 
 
-sid 1 -vobsubout film # seleziona la traccia 1 dei sottotoli che in questo es. e' la traccia in italiano. Vobsubout specifica il file di destinazione. NB se non viene specificato vobsubout, i sottotitoli vengono "cuciti" sul video stesso e non e' possibile toglierli
 
 
 
-oac mp3lame -lameopts abr:br=128 # oac usa mp3lame come codec audio, average bitrate a 128 kbps
 
 
 
-af volume=2:sc # audio filters, aumento il volume di 2
 
 
 
-ovc divx4 -divx4opts :br=2066 # uso il codec divx4 con bitrate 2066
 
 
 
-vf pp=ci,crop=716:576:4:0,scale=600:-2 # video filters, pp=ci deinterlaccio il film con cubic-intepolar xche' e MOLTO interlacciato, ritaglio il video con
 
crop, lo riscalo da 716 x 576 a 600 x "il calcolo lo fa lui col l'opzione -2"
 
 
 
-o film.avi # Nome del file finale
 
 
 
nel caso di lavc basta sostituire la riga del codec video con:
 
 
 
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2066
 
 
 
==== Creare una piccola anteprima ====
 
 
 
Per controllare i settaggi senza dover aspettare delle ore si puo' creare una piccola anteprima tipo questa:
 
$ mencoder dvd://1 -aid 129 -sid 1 -ss 00:10:00 -endpos 00:01:00 -vobsubout
 
film -oac mp3lame -lameopts abr:br=128 -af  volume=2:sc -ovc divx4
 
-divx4opts :br=2066 -vf pp=ci,crop=716:576:4:0,scale=600:-2 -o film.avi
 
 
 
l'opzione -ss 00:10 dice di iniziare la lettura dopo 10 minuti, -endpos dice di fermarsi dopo 1 minuto di lettura il risultato e' una anteprima di un minuto 10 minuti dopo l'inizio del film.
 
 
 
=== Manipolare gli avi ===
 
 
 
==== tagliare in due parti un file avi ====
 
 
 
Nel pacchetto transcode sono presenti numerosi eseguibili per la modifica degli avi. Cio' non toglie che si possa usare mencoder. Cmq per spezzare un file avi si usa avisplit:
 
$ avisplit -s 700 -i film.avi
 
 
 
spezza l'avi in file da 700 Mb
 
$ avisplit -i film.avi -c -o out.avi -t 00:10:00-00:11:00,00:13:00-00:14:00
 
 
 
spezza e unisce l'avi dal decimo all'undicesimo minuto e lo incolla (-c) con il pezzo dal tredicesimo al quattordicesimo
 
 
 
==== incollare due avi ====
 
 
 
avimerge e' l'ideale
 
$ avimerge -o filmone.avi -i film1.avi film2.avi film3.avi
 
 
 
oppure incollare una traccia audio
 
$ avimerge -o filmconaudio.avi -i film.avi -p audio2.avi -a 1
 
 
 
==== creare audio2.mpa da un mp3 e' un buona idea ... ====
 
$ transcode -i song.mp3 -x null,mp3 -g 0x0 -y raw -a 1 -o audio2.avi -u 50
 
 
 
==== risincronizzare audio e video ====
 
 
 
usando avisync
 
$ avisync -i fim.avi -o out.avi -n -10
 
 
 
ritarda l'audio di 10 frames
 
correggere un indice danneggiato
 
 
 
I risultati migliori li ho ottenuti con mencoder
 
$ mencoder film.avi -ovc copy -aoc copy --forceidx -o indicecorretto.avi
 
 
 
==== Scrivere su un file di testo l'header di un avi ====
 
 
 
Utile per il debug
 
aviindex -i film.avi -o film.index
 
 
 
=== DVD video ===
 
 
 
==== Copiare un dvd5 ====
 
 
 
Nel caso si voglia duplicare un dvd5 con una copia 1:1, si puo' benissimo usare un programma di masterizzazione come k3b e fare un copia incolla da dvd sorgente a dvd destinazione, oppure al volo
 
$ dd if=/dev/cdrom of=/dev/dvdrw
 
 
 
o
 
$ growisofs -Z /dev/dvdrw=/dev/dvdrom
 
 
 
e chi piu' ne ha piu' ne metta.
 
 
 
==== Copiare un DVD9 ====
 
 
 
Per dvd5 si intende un dvd da 4,7 Gb ovvero 120 min di film. Per fare una copia 1:1 occorre avere il dvd sorgente di 4,7 gb , cosa non da poco visto che i normali dvd a noleggio sono tutti di durata superiore (dvd9).
 
 
 
Occorre cosi' togliere il superfluo, come i contenuti speciali, gli audio extra ecc.. e rientrare nei 120 min. Se il film e' di durata superiore, si puo' ricorrere a 2 stratagemmi. 1 acquistiamo un dvd9 :) e facciamo la copia, 2 requantiziamo il film (non sempre il risultato funziona su tutti i lettori dvd da tavolo)
 
 
 
Il DVD sorgente va comunque "smontato", cosa non difficile ma che richiede molto tempo. Per semplificare il tutto esiste uno script in perl in grado di facilitare questo compito (NB il piu' delle volte funziona!). Da http://james.nontrivial.org/projdvd.htm e' possibile scaricare dvd2iso.pl, l'utilizzo e' pittosto semplice. Editare lo script e inserire la directory di lavoro che abbia almeno 20 Gb di spazio libero, inserire il dvd e lanciare
 
 
 
$ ./dvd2iso.pl -c -D -a 2 -k -v 5000
 
 
 
A questo punto dentro la directory di lavoro abbiamo una dir chiamata out contenente i vob, pronti da essere trattati con dvdauthor e masterizzati, nel caso in cui lo spazio sia ridimenzionato rispetto all'originale.
 
 
 
Nel caso il file .vob sia comunque piu' grande del necessario, si puo' requantizzare a mano anziche' rilanciare lo script con un bitrate piu' basso, basta estrarre il flusso video
 
 
 
$ tcextract -i out/nomefile.vob -x mpeg2 -a 1
 
ottenendo cosi' 2 file .m2v mpa. E' il momento di requantizzare
 
 
 
Nel pacchetto transcode si trova l'eseguibile tcrequant. Per calcolare la requantizzazione risolvere la seguente formula
 
fattore di requant = (grandezza del filevideo .m2v / (grandezza del supporto - grandezza del file audio .mpa)) * 1.04
 
con il numeretto ottenuto si lancia tcrequant
 
 
 
$ tcrequant -i file.m2v -o film.m2v -f fattore di requant
 
a questo punto ricreiamo il file .vob, vedere la sezione multiplexaggio
 
 
 
==== da Divx a DVD5 ====
 
 
 
Prendere le info
 
 
 
$ tcprobe -i film.avi
 
alla riga:
 
...
 
[avilib] A: 44100 Hz, format=0x55, bits=0, channels=1, bitrate=128 kbps
 
...
 
Attenzione al bitrate audio, non puo' essere superiore dell'originale (128). X la specifica dvd deve andare da 32 kbps a 192 kbps per audio mono, 64 kbps a 384 kbps per audio stereo
 
 
 
# transcodifica
 
 
 
$ transcode -i film.avi -V -y mpeg -F d -E 44100 -b 128 -o primodvd
 
 
 
creando cosi' 2 file primodvd.m2v primodvd.mpa. Ultimamente frugando nel man di transcode ho scoperto questo:
 
 
 
$ transcode -i film.avi -V -y mpeg -F d -E 44100 -b 128 --export_prof dvd-pal -o primodvd
 
 
 
L'opzione export prof si preoccupa di rendere l'output totalmente compatibile con lo standard DVD
 
 
 
# multiplexaggio
 
 
 
unione di primodvd.pmpa primodvd.m2v
 
 
 
$ tcmplex -o film.vob -i primodvd.m2v -p primodvd.mpa -m d
 
 
 
supponiamo di avere un altro file audio in un altra lingua (primodvdeng.mpa), si puo' aggiungere con:
 
 
 
$ tcmplex -o film.vob -i primodvd.m2v -p primodvd.mpa -s primodvdeng.mpa -m d
 
 
 
# trasformazione in formato dvd
 
 
 
con dvdauthor da riga, al volo. Creare due dir A e B, dentro A metterci il film.vob o i vari film.vob. Dopodiche'
 
 
 
$ dvdauthor -o B A/*
 
 
 
in questo modo si mettono tutti i vob di A nella dir di B con i relativi .ifo .bup.
 
 
 
$ dvdauthor -T -o B
 
 
 
Crea la tabella dei contenuti del DVD. Si puo' procedere alla masterizzazione.
 
 
 
==== Creazione di un menu ====
 
 
 
# Scegliere un immagine
 
 
 
L'immagine di sfondo deve essere di formato 4:3. Con gimp 2, dal menu nuovo si puo impostare nuova immagine PAL, incollarci dentro qualsiasi tipo di disegno e salvare con il formato png o jpeg. Alla solita immagine aggiungere un layer trasparente e disegnare i pulsanti di attivazione. Successivamente verra' salvata in modalita' 4 colori (salvarla 2 volte in 2 colori diversi). Ottenendo cosi 3 immagini : menu.png select.png high.png.
 
 
 
# L'audio
 
 
 
Si puo' creare una traccia audio con una musichetta oppure una traccia audio vuota, poiche' e' indispensabile avere una traccia audio.
 
$ mplayer -ao pcm /arc/mp3/musichetta.mp3
 
 
 
trasformo un mp3 in un wav (audiodump.wav)
 
$ mp2enc -r 48000 -o menu_audio.mpa < audiodump.wav
 
 
 
trasformo un wav in un mp2 ottenendo il menu audio. Oppure una traccia audio vuota con un semplice:
 
$ dd if=/dev/zero bs=4 count=1920 | toolame -b 128 -s 48 /dev/stdin menu_audio.mpa
 
 
 
# Un filmato con menu.png
 
 
 
Con il file menu.png e' necessario creare un filmato ovvero uno stream MPEG2 formato PAL 720x576
 
$ pngtopnm menu.png | ppmtoy4m -n 50 -r -F 25:1 -A 128:117 -I p |mpeg2enc -n p
 
-f 8 -o menu_video.m2v
 
 
 
Nel caso l'immagine sia in formato jpeg
 
$ jpeg2yuv -n 50 -I p -f 25 -j menu.jpeg | mpeg2enc -n p -f 8 -o menu_video.m2v
 
 
 
# Unire il filmato con l'audio
 
 
 
Si usa mplex come sempre!
 
$ mplex -f 8 -o menu.mpg menu_video.m2v menu_audio.mpa
 
 
 
# Creazione dei bottoni animati
 
 
 
Creare il file xml per spumux (e' nel pacchetto dvdauthor) vedere l'esempio spumux.xml
 
<subpictures>
 
<stream>
 
<spu start="00:00:00.0" end="00:00:00.0" highlight="high.png" select="select.png"
 
force="yes" autoorder="columns" autooutline="infer"> </spu>
 
</stream>
 
</subpictures>
 
 
 
 
 
 
 
All' interno del tag spu sono presenti le immagini contenenti i bottoni in png indicizzato a 4 colori, highligh sta ad indicare l'attivazione al passaggio del mouse e select il colore al momento della pressione. Start ed End sono uguali, sta ad indicare un loop del menu video. Autoorder, dice a spumux che i pulsanti sono ordinati per colonne.
 
$ spumux spumux.xml < menu.mpg >menu_finito.mpg
 
 
 
Con questo il menu con i pulsanti e' fatto.
 
 
 
==== Inserire i sottotitoli. ====
 
 
Il problema piu' grande e' estrarre i sottotitoli dal dvd in formato .srt. Il programma subrip, nato x win, e' gpl e gira bene in emulazione con wine.
 
 
 
L'utilizzo e' semplicissimo, dopodiche creare un nuovo file xml che servira' per inserire i sottotitoli.
 
<subpictures>
 
<stream>
 
<textsub filename="film.sub" characterset="ISO8859-15" fontsize="28.0"
 
font="arial.ttf" horizontal-alignment="left" vertical- alignment="bottom"
 
left-margin="30" right-margin="60" top-margin="20" bottom-margin="30"
 
subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574" />
 
</stream>
 
</subpictures>
 
 
 
Inserire il font arial.ttf nella directory .spumux della propria home. Se non esiste, crearla.
 
e per unire al video
 
$ spumux sub.xml < film.mpg > film_sottotitolato.mpg
 
 
 
==== Creazione DVD finale con dvdauthor ====
 
 
 
Ancora un file xml contenente i tag x le specifiche, stabilire capitoli, pul santi, e menu.
 
<dvdauthor dest="dvd/" >
 
<vmgm>
 
<menus lang="it" >
 
<video format="pal" aspect="4:3" />
 
<subpicture lang="it" />
 
<pgc>
 
<vob file="menu.mpg" pause="inf"/>
 
<button>jump title 1;</button>
 
<button>jump title 2;</button>
 
</pgc>
 
</menus>
 
</vmgm>
 
<titleset>
 
<titles>
 
<pgc>
 
<vob file="film1.mpg"/>
 
<post>call menu;</post>
 
</pgc>
 
<pgc>
 
<vob file="film2.mpg"/>
 
<post>call menu;</post>
 
</pgc>
 
</titles>
 
</titleset>
 
</dvdauthor>
 
 
 
 
 
Per creare piu' capitoli aggiungere alla voce vob del film l'opzione chapter es:
 
<vob file="film.mpg"chapters="0:10:00.000,0:20:00.000 />
 
 
 
Mettere menu, file xml e file video tutto nella stessa directory
 
$ dvdauthor -x tuttoillavoro/film.xml
 
 
 
==== Masterizzazione ====
 
Si puo' creare un' immagine con mkisofs, oppure masterizzare il contenuto della dir di lavoro con growisofs
 
 
 
$ mkisofs -dvd-video -v -o dvd.iso cartella con dvd
 
 
 
$ growisofs -Z /dev/hdc -dvd-video /home/utente/tuttoillavoro/DVD
 
 
 
=== Creare VCD ===
 
==== Che cosa? ====
 
avendo un avi per le mani si puo' trasformare in un vcd (attenzione alla durata)
 
 
 
==== Come? ====
 
 
 
Si puo' redigere l'avi al codec yuv4mpeg della famiglia di mjpeg tool. creando una named pipe dal nome dell output di mplayer si lancia il programma
 
Oppure la stessa cosa con transcode. Un esempio:
 
 
 
$ mkdir filmout
 
 
 
$ mkdir filmout.mpa
 
 
 
si creano 2 named pipe
 
 
 
$ transcode -i film.avi -V -y yuv4mpeg,mpeg -b 224 -Z 352x288 -o filmout -k -C 2
 
 
 
con questa roba transcode prende l'avi e spedisce il flusso video alla named pipe filmout e il flusso audio alla named pipe filmout.mpa. Su una consolle diversa digitiamo:
 
 
 
$ cat filmout.mpa > film.mpa
 
 
 
cosi copiamo il contenuto della pipe nel file audio .mpa
 
 
 
$ cat filmout | mpeg2enc -f 1 -n p -o film.m1v
 
 
 
==== mplex ====
 
 
 
Con il programma mplex si incolla audio e video.
 
 
 
$ mplex -f 1 -o film.mpeg film.m1v film.mpa
 
 
 
==== vcdimager ====
 
 
 
e per renderlo vcd a tutti gli effetti e prepararlo alla masterizzazione si usa vcdimager
 
 
 
$ vcdimager -l "boia de!" -p film.mpeg
 
 
 
ottenendo = videocd.bin (immagine binaria) = videocd.cue (indice delle tracce)
 
 
 
Nella dir /usr/share/doc/mplayer/examples/ c'e' un file di nome mencvcd.gz. E' uno script che fa la stessa roba utilizzando mencoder. E' obbligatorio provarlo!
 
 
 
==== Masterizzalo! ====
 
 
$ cdrdao write --speed 4 --device 0,0,0 videocd.cue
 

Versione delle 14:54, 27 mar 2011

fz1HCH <a href="http://fxtlpdutzywb.com/">fxtlpdutzywb</a>, [url=http://nfskjslvprpd.com/]nfskjslvprpd[/url], [link=http://ttvydjivopeb.com/]ttvydjivopeb[/link], http://oqfwqtxyeyhe.com/