Pagina 1 di 1
ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 14:49
da spudhead
Salve a tutti!
È da un po' di tempo che sto utilizzando ffmpeg per svariati motivi, soprattuto per convertire i filmati del cellulare in formati più "convenzionali".
Se ricodifico un filmato in mpeg ottengo un file che funziona e si vede/sente bene ma se lo apro con xine il cronometro non avanza e segna durata nulla (0:00:00).
Con mplayer invece non accade e "ffplay -stats" mi segna la durata giusta.
Ecco come codifico in mpeg (il file da convertire era un video flash scaricato da youtube):
Codice: Seleziona tutto
ffmpeg -i slackcompiz.flv -f mpeg -vcodec mpeg2video -sameq -acodec libmp3lame slackcompiz_mpeg1.mpg
che mi dà un file MPEGv1
oppure
Codice: Seleziona tutto
ffmpeg -i slackcompiz.flv -f dvd -vcodec mpeg2video -sameq -acodec libmp3lame slackcompiz_mpeg2.mpg
che mi dà un file MPEGv2
Se invece codifico in mpeg4 il file risulta buono, infatti xine riconosce la giusta durata.
Codice: Seleziona tutto
ffmpeg -i slackcompiz.flv -f avi -vcodec mpeg4 -sameq -acodec libmp3lame slackcompiz.avi
Lo stesso problema ritorna quando demultiplexo e rimultiplexo dei file vob quando effettuo dei backup di DVD Video. Infatti "dvdauthor" spesso si lamenta che il file "va all'indietro" e mi consiglia di rimultiplexare ma poiché il file creato da ffmpeg non è corretto nemmeno il dvd finale risulta corretto!
Per de- e rimultiplexare uso "tcextract" e "mplex" ma se quest'ultimo fallisce allora uso ffmpeg.
Sapete come risolvere??? Magari con mencoder??? Qualche parametro particolare???
Giorgio
Re: ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 15:04
da birg81
scusa ma i video in formato flv non fai prima a convertirli con il sito
http://media-convert.com/conversione/ ?
Re: ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 15:10
da spudhead
si si certo era giusto un esempio!
Ho scaricato un file da youtube e ho dato esattamente i comandi che ho scritto per essere sicuro degli "errori" di ffmpeg!
Re: ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 15:20
da birg81
il li scarico con downloadhelper che per default mi salva i file come flv solo che poi li converto con quel sito che ti ho scritto.
anche perché usando ffmpeg l'audio ti crea problemi nel convertirlo invece con qst sito puoi pure convertire i file
inoltre puoi pure convertire i video di youtube in file 3gp o in audio in formato amr per il tuo telefonino
così non ti complichi troppo la vita!!!!
Re: ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 16:05
da 414N
Mmm

Come fai a dire che questo comando:
Codice: Seleziona tutto
ffmpeg -i slackcompiz.flv -f mpeg -vcodec mpeg2video -sameq -acodec libmp3lame slackcompiz_mpeg1.mpg
ti produce un file MPEG-1? Usando come codec mpeg2video produci un video in MPEG-2... Prova a produrre un MPEG-1 senza usare la forzatura -f mpeg e senza specificare il vcodec.
Stesso discorso per il MPEG-2:
Codice: Seleziona tutto
ffmpeg -i slackcompiz.flv -f dvd -vcodec mpeg2video -sameq -acodec libmp3lame slackcompiz_mpeg2.mpg
dice a ffmpeg di produrre un file in formato DVD (quindi MPEG-2 come video e come audio AAC) e poi gli dici di piazzarci un video MPEG-2 (ok) ma l'audio mp3
Credo che i tuoi parametri non siano coerenti col container, per questo xine si arrabbia.
Io quando codifico in MPEG con ffmpeg non specifico mai i codec da usare (al max aggiusto il bitrate dell'audio) per essere sicuro di non avere problemi di conformità agli standard. Per esempio:
sono sicuro che mi produca un file video MPEG-1 con audio MPEG-2 (a bitrate un po' basso, ma tranquillamente aggiustabile con -ab).
produce un file MPEG-2 già pronto per il dvd.
Re: ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 18:24
da spudhead
414N ha scritto:
Credo che i tuoi parametri non siano coerenti col container, per questo xine si arrabbia.
Grazie 414N per i consigli, avevo pensato anch'io alla storia del container!
Comunque se lancio i comandi che mi hai proposto,
Codice: Seleziona tutto
ffmpeg -i file_input.avi file_output.mpg
ffmpeg -i file_input.avi file_output.vob
xine si arrabbia lo stesso (durata nulla)!!!
Capita anche a te???
Re: ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 18:51
da 414N
In effetti capita anche a me. La durata è sempre 00:00:00, però il seeking funziona normalmente.
Curioso...

Re: ffmpeg - durata video errata!
Inviato: mer 20 feb 2008, 19:21
da neongen
con output mpg durata 00:00:00 (ho provato diverse opzioni ma il risultato non cambia)
con output avi ok

Re: ffmpeg - durata video errata!
Inviato: gio 21 feb 2008, 12:43
da 414N
Forse ho trovato qualcosa di simile ad una risposta su
http://xinehq.de/index.php/hackersguide:
What is this metronom thingy?
Metronom serves two purposes:
* Generate vpts (virtual presentation time stamps) from pts (presentation time stamps) for a/v output and synchronization.
* Provide a master clock (system clock reference, scr), possibly provided by external scr plugins (this can be used if some hardware decoder or network server dictates the time).
pts/vpts values are given in 1/90000 sec units. pts values in mpeg streams may wrap (that is, return to zero or any other value without further notice), can be missing on some frames or (for broken streams) may "dance" around the correct values. Metronom therefore has some heuristics built-in to generate clean vpts values which can then be used in the output layers to schedule audio/video output.
The heuristics used in metronom have always been a field of research. Current metronom's implementation tries to stick to pts values as reported from demuxers, that is, vpts may be obtained by a simple operation of vpts = pts + vpts_offset, where vpts_offset takes into account any wraps. Whenever pts is zero, metronom will estimate vpts based on previous values. If a difference is found between the estimated and calculated vpts values by above formula, it will be smoothed by using a "drift correction".