[BGLug VS] DVD-slideshow

Fleur @ BGLUG fleur@bglug.it
Gio 3 Lug 2008 12:40:40 CEST


Bonacina Alberto ha scritto:
>> mencoder dvd-slideshow.vob -o dvd-slideshow.avi -ovc lavc -oac mp3lame   
> Funziona veramente bene. La conversione va benissimo, (per ora) senza 
> errori e la qualità non viene intaccata.
> 
> dvd-slideshow -flv Prova.txt
> le immagini vengono bruttissime, è normale? perchè?

Si, purtroppo e' normale ...
L'opzione -flv e' stata pensata per un filmato a 320x420@15fps ...
Il bitrate impostato a 100 (KB/sec) e' troppo basso per filmati con 
risoluzione dvd, con la conseguenza che per stare nei 100KB la 
compressione viene portata al massimo e si hanno in omaggio effetti a 
cubetti ed immagini sgranate!

Scott Dylewski l'autore di dvd-slideshow mi ha risposto cosi' [1]

 > I've never tested the -flv option at full size!  You're in no-man's
 > land!  I think I understand your problem, though... internally, the
 > specs are fixed when using flv, and they aren't really set perfectly
 > yet.  the bitrate gets reduced significantly, so that might be the
 > cause of your bad transitions. I can look into it when I get a chance.
 > Why the hell are you using full-resolution flvs?

In sostanza con l'opzione -flv vengono forzati a dei valori fissi i 
parametri:
video_bitrate	= 100 (KB/sec)
framerate	= 15
frames_per_ms	= 15000
ppmtoy4m_frc	= '15:1'

 > Here's the flv hard coding within dvd-slideshow:
 > if [ "$output_format" == 'flv' ] ; then
 >         video_bitrate=100  # this works ok for 320x240.
 >         video_suffix='flv'
 >         framerate='15'  # is this needed for .flv?
 >         frames_per_ms=15000  # in ms
 >         ppmtoy4m_frc='15:1'  # 15 fps
 >         ppmtoy4m_aspect='1:1'  # square pixels
 >                 # see http://www.uwasa.fi/~f76998/video/conversion
 >
 > so, framerate gets hard-coded to 15, and the video bitrate is very low
 > but gets scaled back up depending on the output video size.  increase
 > the video bitrate to 500 or more, and you should get better results.

Mi suggerisce di portare il bitrate da 100 a 500 per evitare che la 
compressione incida cosi' tanto (troppo) sulla qualità ...

Vado a memoria, ma ricordo che dalle mie prove 500K e' comunque ancora 
poco !

Se 100KB a 320x240px con 15fps la qualità é buona, allora:

100 : 320x240 = K : 720x576
K = 100 : (320x240) x (720x576) => 540
(720x576px e' la risoluzione video pal di un dvd)

inoltre il framerate passa da 15  a 25 fotogrammi al secondo, quindi

K : 15 = KK : 25
KK = K(540) : (15) x (25) => 900

Questi in sostanza i parametri che devi cambiare

video_bitrate	= 900
framerate	= 25
frames_per_ms	= 25000
ppmtoy4m_frc	= '25:1'

L'alternativa che hai e' quella di usare ffmpeg per generare il file 
mpeg4 dal file vob [2]:

ffmpeg -i miodvd.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec 
libmp3lame -ab 128k miodvd.avi

# Questo e' un tipico esempio di ripping DVD
-i miodvd.vob 	# nome file video di input
-f avi 		# (meta)formato di output
-vcodec mpeg4 	# codifica da adottare
-b 900k		# bit rate di codifica
-g 249 		# 1 intra frame ogni 10 secondi (25fps => 250 frame/10s)
-bf 2 		# usa B-frame, lo stream MPEG4 e' DivX5 compatibile
-acodec libmp3lame # lo stream audio e' codificato in mp3
-ab 128k	# mp3 audio bit rate a 128K
miodvd.avi	# nome file di output

Buon Divertimento !

Ciao
Fleur

[1] 
http://sourceforge.net/mailarchive/message.php?msg_name=464B29A4.1020704%40bglug.it
[2] http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html#TOC5

PS : Alla sua domanda "Perché diavolo stai usando Flash Video a 
risoluzione piena ?!?" ho risposto con un laconico "Because I need 
no-less than that !!!"


Maggiori informazioni sulla lista BglugVS