stiamo supponendo che il DVD sia composto da 29 capitoli e di voler rippare il primo title.
Per ricavare il valore esatto per l'opzione '-alang' è necessario usare mplayer nel seguente modo:
per i valori di rectangle conviene iniziare con valori prossimi alla dimensione originale del DVD e poi adattarli alle proprie necessità.
QUARTA FASE: PROVA DI CODIFICA VIDEO
Passiamo adesso alla prova di codifica. Si noti che i valori del bitrate da inserire dopo vbitrate per fare in modo che il file totale possa essere masterizzato in un CD-R da 650, 700, 800 MB viene fornito da mplayer nella fase precedente.
Utilizzeremo come codec video lavc (libavcodec o ffmpeg). La righe di comando per la prima e la seconda passata sono le stesse alle precedenti, abbiamo aggiunto solo l'opzione 'mc 1' che specifica di utilizzare un keyframe ogni secondo per sincronizzare audio e video.
Disclaimer Questo documento è stato scritto con lo scopo di poter effettuare il backup di un DVD regolarmente acquistato. L'autore non si assume nessuna responsabilità dell'uso che sarà fatto da terzi di tali informazioni.
Edit: 16 Febbraio 2005: Corretto raw.avi in out.avi e -dvd 1 in dvd://1
Edit: 17 Febbraio 2005: Cambiata l'opzione '-alang 128' in '-alang it'
Last edited by gutter on Thu Feb 17, 2005 5:58 pm, edited 4 times in total.
"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin https://www.news.admin.ch/it/nsb?id=103968
Non so se ne hai voglia ma sarebbe molto interessante anche fare un HowTO per codificare in formato .ogm, che per di più utilizza solo formati opensource. Inoltre l'ogm permette di avere più tracce audio, i sottotitoli e teoricamente audio a 6 canali (ma non so se è possibile usufruirne con linux, qualcuno che ne sappia di più potrebbe magari correggermi).
Dico questo perchè l'unico tutorial che avevo trovato per farlo era per Winzozz
Some of those that were forces, are the sames that bore crosses,
Some of those that were crosses, are the sames that are forces
Ti spiego cos'è il formato .ogm. In poche parole il formato video può essere sia DivX o Xvid (ma io propendevo per averlo codificato in Xvid), mentre il formato audio è ogg-vorbis che è simile al mp3 ma è migliore IMHO. Inoltre il formato ogg-vorbis permette di avere un audio a più canali. L'ogm inoltre supporta la divisione in capitoli, più tracce audio (non mi ricordo quale sia il limite) e i sottotitoli.
Adesso cerco magari qualche tutorial che possa spiegarlo meglio
Some of those that were forces, are the sames that bore crosses,
Some of those that were crosses, are the sames that are forces
allora gogoolando ho ritrovato questi due link. In verità mi ero sbagliato una guida per linux c'è ma mi sebra dalle mie esperienze che qualcosa non mi andava benissimo.
Allora la guida a cui faccio riferimento è questa:
Ma questa usa come formato video libavcodec (che non se sia veramente migliore e se sia compatibile con windows, ma penso di si) e non l'Xvid ed inoltre l'audio codificato in ogg-vorbis non mi sembra che venga codificato a più canali, ma sinceramente non è specificato.
Questo è il link alla spiegazione di cos'è il formato OGM e spiega anche come farne uno ma sotto piattaforma WInzozz:
Magari a qualkuno interessa il formato AAC per il "backup" del dvd... occupa la metà dell'ac3 con la stessa qualità audio e lo stesso numero di canali
Certo nn lo si può decomprimere via hardware (ahhhh avere un ipod) ma tant'è...
mencoder -o -ovc copy -oac copy -aid 129 dvd://1
crea il file test.avi contenente i file vob del dvd, si può usare vobcopy quando mencoder fallisce (e viceversa), la sintassi è semplice.
mplayer -vc dummy -vo null -hardframedrop -ao pcm -aofile test.wav test.avi
Estrae l'audio da test.avi creando il file test.wav
normalize test.wav
Normalizza i livelli audio
oggenc -q3 -o test.ogg test.wav
Converte l'audio in formato ogg, -q3 è la qualità ed è un buon compromesso, aumentando la qualità aumentano le dimensioni del file audio a discapito della qualità video, annotarsi la dimensione del file audio e la durata, nel mio caso 62.6 Mb e 5814 secondi.
mplayer -vop cropdetect test.avi
Serve a calcolare le "vere" dimensioni del filmato, tagliando le bande nere ai lati.
si otterrà un output simile a questo:
crop area: X: 2..719 Y: 9..564 (-vop crop=718:554:2:10)15% 0,8% 0 0 49%
A noi interessano: 718, 554, 2, 10 annotarseli
bitrate=(dimensionefinale x 1048576)-(dimensioneaudio x 1048576)x8/1.0115/temposec/1000
Serve a calcolare il bitrate del video, nel mio caso (700 x 1048576)-(62.6 x 1048576) x 8 / 1.0115 / 5814 /1000 = 909
Ho scelto 700 perchè è la dimensione del cd dove masterizzerò il divx, 909 è il risultato approssimato per difetto.
calcbpp.pl risoluzione 16/9 bitrate 25
calcbpp.pl è uno script che si può prendere dal cvs di mplayer, basta renderlo eseguibile, serve a calcolare la dimensione ottimale in pixel del nostro divx.
Parametri:
Risoluzione: quella ottenuta da "mplayer -vop cropdetect test.avi", nel mio caso 718x554
16/9 In genere i dvd sono in 16/9 ma potrebbero anche essere in 4/3.
bitrate: quello calcolato con l'equazione sopra
25: Numero di frame al secondo del filmato, sinceramente non so dire di più, i dvd credo siano sempre con 25 Frame/s, ma altri tipi di filmati potrebbero avere un framerate diverso.
L'output sarà simile a questo:
calcbpp.pl 718x554 16/9 909 25
Prescaled picture: 1021x554, AR 1.84
720x384, diff 7, new AR 1.88, AR error 1.69% scale=720:384 bpp: 0.132
704x384, diff -2, new AR 1.83, AR error 0.54% scale=704:384 bpp: 0.134
688x368, diff 5, new AR 1.87, AR error 1.41% scale=688:368 bpp: 0.144
672x368, diff -3, new AR 1.83, AR error 0.94% scale=672:368 bpp: 0.147
656x352, diff 4, new AR 1.86, AR error 1.09% scale=656:352 bpp: 0.157
640x352, diff -5, new AR 1.82, AR error 1.38% scale=640:352 bpp: 0.161
624x336, diff 3, new AR 1.86, AR error 0.75% scale=624:336 bpp: 0.173
608x336, diff -6, new AR 1.81, AR error 1.86% scale=608:336 bpp: 0.178
592x320, diff 1, new AR 1.85, AR error 0.37% scale=592:320 bpp: 0.192
576x320, diff -8, new AR 1.80, AR error 2.40% scale=576:320 bpp: 0.197
560x304, diff 0, new AR 1.84, AR error 0.06% scale=560:304 bpp: 0.214
544x288, diff 7, new AR 1.89, AR error 2.42% scale=544:288 bpp: 0.232
528x288, diff -2, new AR 1.83, AR error 0.54% scale=528:288 bpp: 0.239
512x272, diff 6, new AR 1.88, AR error 2.08% scale=512:272 bpp: 0.261
496x272, diff -3, new AR 1.82, AR error 1.08% scale=496:272 bpp: 0.270
480x256, diff 4, new AR 1.88, AR error 1.69% scale=480:256 bpp: 0.296
464x256, diff -4, new AR 1.81, AR error 1.70% scale=464:256 bpp: 0.306
448x240, diff 3, new AR 1.87, AR error 1.25% scale=448:240 bpp: 0.338
432x240, diff -6, new AR 1.80, AR error 2.40% scale=432:240 bpp: 0.351
416x224, diff 2, new AR 1.86, AR error 0.75% scale=416:224 bpp: 0.390
400x224, diff -7, new AR 1.79, AR error 3.22% scale=400:224 bpp: 0.406
384x208, diff 0, new AR 1.85, AR error 0.16% scale=384:208 bpp: 0.455
368x192, diff 8, new AR 1.92, AR error 3.83% scale=368:192 bpp: 0.515
352x192, diff -1, new AR 1.83, AR error 0.54% scale=352:192 bpp: 0.538
336x176, diff 6, new AR 1.91, AR error 3.45% scale=336:176 bpp: 0.615
320x176, diff -2, new AR 1.82, AR error 1.38% scale=320:176 bpp: 0.646
Bisogna controllare l'ultimo valore di ogni riga e si sceglierà quello più simile a 0.24 , nel mio caso:
528x288, diff -2, new AR 1.83, AR error 0.54% scale=528:288 bpp: 0.239
La risoluzione del mio filmato sarà 528x288
Primo passaggio, creerà il file divx2pass.log contenente informazioni per il secondo passaggio:
-vop scale=528:288 la risoluzione ottenuta con calcbpp.pl
crop=718:554:2:10 I valori ottenuti con "mplayer -vop cropdetect test.avi"
vbitrate=909 Il bitrate del video ottenuto con l'equazione.
mencoder -v -o test.divx -oac copy -ovc lavc -vop scale=528:288,crop=718:554:2:10 -lavcopts vcodec=mpeg4:vbitrate=909:vhq:vqmin=2:v4
mv:vpass=2 -sws 2 test.avi
Secondo passaggio, genera i file nostro divx contenente l'audio non compresso
ogmmerge -o titolo.ogm -A test.divx test.ogg
Genera il nostro file contenente il video e l'audio compressi
Ho fatto uno script che esegue i passi di gutter automaticamente senza bisogno di specificare molto. Lo script lo trovate qui e si usa nel seguente modo:
Usage: ripencode <lang> <type audio> <size>
Where:
<lang> is it, fr, en and de
<type audio> is mp3 or ac3
<size> is 1x650, 2x650, 1x700, 2x700, 1x800 and 2x800
Example
ripencode it ac3 2x700
Scala l'immagine dell'80% da crop ma poi studiero' meglio questa cosa con il sistema di marchetto.
NOTA: il programma necessita di lsdvd (emerge lsdvd), inoltre lo sto provando ora domani vi faro' sapere se funziona e come funziona. Il programma ammette che esiste il device /dev/dvd (se non c'e' fate un link che punta al vostro device del dvd). Non viene fatto alcun test sui parametri d'entrata quindi attenzione.
26/02/2005 Nuova versione: calcola lo scale da solo in un modo (spero) piu' corretto, e aggiunto qualche check sui parametri in entrata
Last edited by fedeliallalinea on Fri Mar 11, 2005 12:50 pm, edited 4 times in total.
Questions are guaranteed in life; Answers aren't.
"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin https://www.news.admin.ch/it/nsb?id=103968
mencoder -o -ovc copy -oac copy -aid 129 dvd://1
MEncoder 1.0pre5try2-3.3.5 (C) 2000-2004 MPlayer Team
CPU: Intel Pentium 4/Xeon/Celeron Foster 2401 MHz (Family: 8, Stepping: 4)
Detected cache-line size is 64 bytes
MMX supported but disabled
MMX2 supported but disabled
SSE supported but disabled
SSE2 supported but disabled
CPUflags: Type: 8 MMX: 0 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions:
Reading /home/luna80/.mplayer/codecs.conf: Can't open '/home/luna80/.mplayer/codecs.conf': No such file or directory
Reading /usr/share/mplayer/codecs.conf: 73 audio & 180 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
Reading config file /home/luna80/.mplayer/mencoder: No such file or directory
font: can't open file: /home/luna80/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
File not found: 'copy'
Failed to open copy
Cannot open file/device.
Exiting...
presumo che sia dovuto al fatto che non trova dvd://1, anche perchè il mio lettore dvd non da segno di vita dopo che ho dato il comando.
ho provato a guardare il man di mencopy ma non mi ha aiutata molto.
ora mi viene un qualche dubbio,...io ho il dvd nel device /dev/cdroms/cdrom0, non è che dovrei avere un device /dev/dvd (se si...beh non ce l'ho)?
luna80 wrote:ora mi viene un qualche dubbio,...io ho il dvd nel device /dev/cdroms/cdrom0, non è che dovrei avere un device /dev/dvd (se si...beh non ce l'ho)?
Si questo mi pare ci sia bisogno, fai un link simbolico
luna80 wrote:qualcuno sa dirmi da cosa è dovuto il mio errore?
Ma stai cercando di fare il primo passo? se si non e' completa quella linea, quella giusta e'
"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin https://www.news.admin.ch/it/nsb?id=103968
-dvd-device <path to device> (DVD only)
Override default DVD device name /dev/dvd.
(funziona anche nel caso avete già estratto tutto il dvd su filesystem)
anche a me dava un'errore ... ho riemergiato mettendo la use dvd
ho letto solo ora la tua risposta: grazie.
cmq io avevo già la use dvd come flag, probabilmente il mio non è lo stesso tuo errore.
ho provato a dare il comando specificando il path del device ma non va, poi ho fatto come diceva @fedeli: ho creato un link simbolico e non va lo stesso (ho provato anche con il comando corretto) : sempre lo stesso errore.
mmm, e va beh ci guarderò dietro, intanto qualsiasi consiglio e sempre ben accetto.
fedeliallalinea wrote:Ho fatto uno script che esegue i passi di gutter automaticamente senza bisogno di specificare molto. Lo script lo trovate qui e si usa nel seguente modo:
Usage: ripencode <lang> <type audio> <video format> <size>
Where:
<lang> is it, fr, en and de
<type audio> is mp3 or ac3
<video format> is 16/9, 4/3, 1.85 or 2.35
<size> is 1x650, 2x650, 1x700, 2x700, 1x800 and 2x800
Example
ripencode it ac3 16/9 2x700
Ciao a tutti, Qui c'è già uno script, però non l'ho controllato/provato.
xoen.Blog()
god@paradise # tar xfvjp big-bang.tar.bz2 -C universe