PDA

View Full Version : Problema duplicate frame in divx (xvid)


Kewell
01-10-2011, 14:47
Cercherò di farla breve :D
Ne abbiamo parlato a lungo nella discussione dedicata al recorder LG RHT397:
http://www.hwupgrade.it/forum/showthread.php?t=1891627&page=218
ma volevamo estenderla al di fuori del thread ufficiale per avere un parere di chi "mastica" di divx/xvid.,

Le registrazioni in formato mpeg4 (codec xvid) fatte con il recorder LG RHT397H una volta esportate su PC presentano dei problemi di riproduzione con praticamente tutti i player video (in certi casi il difetto è meno evidente): il video "trema" o addirittura "salta".
Da un'analisi delle registrazioni con Gspost risulta la seguente "particolarità":
"duplicate frame: indicate presence of actual ("non zero-time") N-VOPS: designates a picture is unchanges from the previous one".
Nella mia ignoranza in tema di divx immagino che sia un sistema per risparmiare spazio in fase di codifica. Da questo ho dedotto che essendo i frame duplicati, il player interpreta i frame come unici e quindi salta di frame in frame.

Il problema non si presenta se gli xvid sono riprodotti direttamente dall'LG oppure da un Xtreamer Pro (un NMT).
Il problema, a quanto sembra, si presenta solo su PC.

Possibili soluzioni?

Esavoc
01-10-2011, 19:41
Ciao.

Come detto in quel thread averne uno spezzone non sarebbe male o almeno la schermata di GSpot.
La scattosità potrebbe dipendere anche da troppi b-frame, N-VOP indica che è attivo il Packed Bitstream e dovrebbe essere un problema solo nella riproduzione con altri lettori da salotto e nemmeno tutti, comunque è eliminabile facilmente con mpeg4 modifier e senza ricompressione a differenza degli altri parametri che necessitano del riprocessamento del file.

I duplicate frames se eccessivi in effetti rendono scattoso il filmato, potrebbero dipendere dalla conversione al volo ma è solo un'idea, non vorrei leggere tutto il thread ma non è possibile impostare diversamente questo recorder?

desamo
01-10-2011, 23:25
Ciao.
Grazie mille per la risposta :)
Vedo di postare prima possibile un link con un filmatino da 30 secondi così da poter essere "vivisezionato" da chi se ne intende :mano:
Nel recorder non è possibile settare alcun tipo di parametro relativo alla registrazione in mpeg4 (Xvid).
L'idea è di capire, tramite la vostra esperienza/conoscenza, che cos'è che non va, sperando che si tratti di qualche parametro tipo il "Packed Bitstream" che hai segnalato tu o altro del genere. Se si trattasse di questo, si dovrebbe ovviare attraverso una "semplice" modifica al fw. C'è gente che ci lavora e con le vostre "dritte" potrebbe probabilmente risolvere il problema. :D
Grazie ancora.

Link a due filmati : Video (http://www.megaupload.com/?d=BHEFYUYH)
Il problema del tremolio si vede chiaramente quando ci sono le scene di movimento. Io sul pc ho usato una delle ultime versioni di VLC.

Ciao.

Kewell
02-10-2011, 09:49
Ciao.
...cut...

Grazie dell'aiuto :)
Ho già provato ad eliminare il packed bitstream con mpeg4 modifier, ma il problema resta.

Appena posso posto la schermata di Gspot.

Esavoc
02-10-2011, 14:23
Avendo a disposizione i due spezzoni li ho controllati con GSpot ed in effetti oltre il PB sono presenti i duplicate frames, si vede benissimo anche riproducendo step by step i filmati.
L'unico modo per risolvere il problema a posteriori è riprocessare il filmato, ho ottenuto una visione senza scatti ma purtroppo eliminando i frame doppi risulta comunque scattosa anche se non ai livelli iniziali.
Ho letto qua e là il thread e mi sembra di aver capito che la codifica in mpeg4 si abilita installando un firmware alternativo, non vorrei che il problema dipenda da questo dato che nativamente il recorder è stato pensato per una registrazione diretta in mpeg2, se dopo bisogna convertire tanto vale lavorare sui video in formato mpeg2 (VRO o come registra).
Se qualcuno può fare una prova con una registrazione sempre mpeg4 ma con una qualità minore LP o EP e vedere se scatta ancora.

Allego un file convertito dove si può vedere bene che il video comunque non è fulido.

http://www.megaupload.com/?d=QSN8A9YB

Styb
02-10-2011, 19:23
Dunque, ho fatto varie prove e una prova mi ha dato buoni risultati.
Ho codificato il video postato con Virtualdub impostando il framerate a 50. Il video risultante è velocizzato ma con movimenti fluidi. Ho poi ricodificato impostando il framerate a 25 e ottenuto un video della lunghezza normale con un netto miglioramento.
Penso quindi che ci sia un problema nel codec xvid dell'LG, che non riesce a distinguere i frame della trasmissione video, che in parole povere sono 50 ma che vengono visualizzati due alla volta con il risultato di un video interlacciato a 25 fps.
Quindi penso che i file che hai postato non siano recuperabili, comunque ho provato tutti i player per PC che conosco e soltanto con GOM player la visualizzazione è uguale a quella ottenuta riprocessando con Virtualdub.

desamo
02-10-2011, 22:29
Innanzitutto grazie per le vostre risposte e il tempo dedicato al problema :mano:


Ho letto qua e là il thread e mi sembra di aver capito che la codifica in mpeg4 si abilita installando un firmware alternativo

No. Il firmware originale prevede già la possibilità di abilitare un menù "nascosto" che permette la registrazione in mpeg4. Il fw alternativo deriva da quello originale ma, da quel che ne so, non c'è stata "manomissione" al livello della codifica del mpeg4.


Se qualcuno può fare una prova con una registrazione sempre mpeg4 ma con una qualità minore LP o EP e vedere se scatta ancora.

Proverò a fare un paio di registrazioni.


Allego un file convertito dove si può vedere bene che il video comunque non è fulido.
http://www.megaupload.com/?d=QSN8A9YB
Effettivamente sembra fluido anche se non completamente. :confused:

Dunque, ho fatto varie prove e una prova mi ha dato buoni risultati.
Penso quindi che ci sia un problema nel codec xvid dell'LG, che non riesce a distinguere i frame della trasmissione video, che in parole povere sono 50 ma che vengono visualizzati due alla volta con il risultato di un video interlacciato a 25 fps.
Quindi penso che i file che hai postato non siano recuperabili, comunque ho provato tutti i player per PC che conosco e soltanto con GOM player la visualizzazione è uguale a quella ottenuta riprocessando con Virtualdub.
Effettivamente guardando il video con virtualdub e facendolo avanzare di un frame alla volta ci si rende conto che tutti i frame sono duplicati :rolleyes:
Il discorso non è tanto recuperare le registrazioni effetuate ma cercare di dare delle indicazioni a chi mette le mani nel fw, per poter correggere tale problema.
Qualunque suggerimento in merito è ben gradito !

Domanda da profano: se dai filmati in questione venissero eliminati fisicamente i frame doppi, l'audio poi risulterebbe sfalsato ?

Altra domanda da nubbio : siamo sicuri che effettivamente i frame siano duplicati e che non ci siano solo delle info errate nelle strutture che fanno credere ai vari programmi che il frame seguente è doppio ?!?

Grazie mille per la disponibilità.
Ciao

Styb
02-10-2011, 23:28
Il discorso non è tanto recuperare le registrazioni effetuate ma cercare di dare delle indicazioni a chi mette le mani nel fw, per poter correggere tale problema.
Bene, se conosci chi mette mano nel firmware, digli che il problema è nel riconoscimento di una trasmissione interlacciata.

nicodocet
03-10-2011, 07:51
Cerco di farvi anche io due spezzoni (con un recorder della serie precedente), in modo che, se volete, li possiate analizzare per capire se c'è lo stesso problema.

Mi sapete dire, però, come mai con i player hardware (i vari scatolotti tipo WD HD TV ecc.) questi video si vedono bene, senza scatti?

Styb
05-10-2011, 11:03
Cerco di farvi anche io due spezzoni (con un recorder della serie precedente), in modo che, se volete, li possiate analizzare per capire se c'è lo stesso problema.

Mi sapete dire, però, come mai con i player hardware (i vari scatolotti tipo WD HD TV ecc.) questi video si vedono bene, senza scatti?

Leggi qui http://www.danielerollo.com/video-interlacciato-o-progressivo-differenze-e-soluzioni-per-i-media-digitali/
Penso che quando visualizzi il filmato nel televisore è il televisore che corregge il difetto presente nei file che sul pc si vedono tremolanti, oppure è lo scatolotto che invia al televisore i frame doppi i maniera corretta, cioè i frame doppi vengono riconosciuti ciascuno come un semiquadro.
Chissà se un file codificato in xvid per pc se inserito nel video recorder viene visualizzato correttamente sulla TV: potete fare una prova?

desamo
05-10-2011, 22:52
Chissà se un file codificato in xvid per pc se inserito nel video recorder viene visualizzato correttamente sulla TV: potete fare una prova?
Ciao.
Non so se ho capito bene la tua domanda... ma ti posso dire che il recorder riproduce egregiamente file divx, di varie tipologie, presenti su chiavetta usb o masterizzati su dvd.
Ciao.

Styb
06-10-2011, 10:47
Intendevo dire di inserire un filmato xvid che si vede bene su PC direttamente sull'hard disk del recorder, ma forse non è possibile a causa del file system proprietario, ditemi voi.

Esavoc
06-10-2011, 19:40
Non sarei così sicuro che si tratti della cattiva interpretazione dell'interlacciamento.
In un secondo è vero che in un file interlacciato ci sono 50 fotogrammi ma in realtà sono semiquadri non fotogrammi interi mentre i filmati sono composti da fotogrammi ripetuti 2 volte al giusto framerate.
Tanto per rendere l'idea posto l'immagine del link di Styb:

http://www.danielerollo.com/wp-content/uploads/interlace.gif
si vede bene come l'immagine interlacciata è composta da due semiquadri che vengono riprodotti per creare il frame completo, per questo "balla".

Se si separano i campi di un singolo frame al massimo si possono ottenere due immagini uguali ma ridotte in altezza della metà dato che ad ogni semiquadro mancano le informazioni che sono presenti nel semiquadro opposto.

Invece nelle clip troviamo la ripetizione di fotogrammi uguali. Un caso simile ma al contrario avviene durante l'acquisizione dove il software ha difficoltà a tenere in sincrono audio e video e si ottengono dei file con frame mancanti... non vorrei che in fase di conversione al volo in xvid questa mancanza venga compensata con la ripetizione dei frame per rimettre in sincronia i due flussi.
Per questo ho chiesto di provare una registrazione a qualità inferiore quindi meno pesante, e se in mpeg ci sono gli stessi problemi.
Dato che gli mpeg2 potrebbero essere interlacciati sarebbe utile avere uno spezzone anche in questo formato.

desamo
07-10-2011, 00:01
Intendevo dire di inserire un filmato xvid che si vede bene su PC direttamente sull'hard disk del recorder, ma forse non è possibile a causa del file system proprietario, ditemi voi.
Ciao.
E' fattibilissimo. Si possono tranquillamente copiare file divx da un dvd o dalla porta USB verso l'hdd interno (la lentezza è notevole visto che è una usb 1.1 ma funziona).
La riproduzione di questi file non crea alcun problema.

Ho fatto ulteriori filmati in divx con diverse qualità di registrazione (l'effetto si vede su tutte le modalità :( ), più una registrazione in mpeg2 (che si vede perfettamente)
Qui il link con i filmati : Link (http://www.megaupload.com/?d=492BTGLA)
Ciao.

Styb
08-10-2011, 15:51
Ho guardato i file e in effetti c'è sempre lo stesso difetto.
Il file mpg è codificato come interlacciato, però a occhio non mi pare che sia realmente interlacciato. Non conoscendo né il firmware né l'hardware non saprei dirti di più.

Paky
08-10-2011, 20:30
come già detto dagli altri, sul pc risulta un filmato con la metà dei fotogrammi duplicati

quindi se con avisynth si riproduce il filmato eliminando i fotogrammi pari (Selecteven) ,il video scorre regolarmente , ma non fluidamente

ma la cosa è decisamente normale perchè c'è informazione per 12.5fps e non 25

desamo
08-10-2011, 20:38
quindi se con avisynth si riproduce il filmato eliminando i fotogrammi pari (Selecteven) ,il video scorre regolarmente , ma non fluidamente
ma la cosa è decisamente normale perchè c'è informazione per 12.5fps e non 25

Ciao.
Non c'è modo di modificare con virtualdub le info relative al fps per passarlo da 12.5 a 25 ?
Riusciresti a fare una prova ?

Una domanda : c'è qualche "bibbia" in giro che spieghi bene e in modo esaustivo le strutture dei divx ?

Grazie e buona domenica.

Paky
08-10-2011, 20:45
Speriamo che a qualcuno venga in mente qualcosa :help:

non c'è molto da pensare , è il recorder che fa qualche casino

Esavoc
08-10-2011, 20:53
Secondo me è molto più semplice registrare in mpeg2 e convertire in xvid.
E viene sicuramente un risultato migliore che cercare di ricreare con interpolazione i fotogrammi mancanti...

Paky
08-10-2011, 20:57
quoto , anche perchè "creare" informazione che manca non porta mai a risultati godibili

Kewell
09-10-2011, 00:13
Quello che ci sfugge è perché i filmati vengono riprodotti normalmente sui player hardware. Ad esempio anche questa sera ho visto due film registrati sull'LG sul mio Xtreamer Pro in modo perfetto.

Paky
09-10-2011, 10:02
questo sta a voi scoprirlo , o viene esportato verso il pc con delle modifiche o lo esporta male

oppure lo salva in formato Avi non standard per cui player e programmi di editing vedono frame duplicati

ma questa ultima cosa mi sembra improbabile

Kewell
09-10-2011, 10:09
questo sta a voi scoprirlo , o viene esportato verso il pc con delle modifiche o lo esporta male

Questo lo escludo, perché l'AVI fa il seguente percorso:
1) LG RHT>
2) PC>
3) Xtreamer Pro.

oppure lo salva in formato Avi non standard per cui player e programmi di editing vedono frame duplicati

Questa possibilità era stato sollevato anche in un altro forum dove aveva postato un frequentatore della discussione sull'LG.
Anzi gli avevano proprio detto che per loro non era un formato standard.
Come possiamo verificarlo e soprattutto rimediare?

Paky
09-10-2011, 12:20
se la mia ipotesi scartata risulta dunque la + probabile faccio marcia indietro :D

date uno sguardo qui -> http://www.mediafire.com/?xc4kr60lyuwr26y

Styb
09-10-2011, 12:46
Provate a impostare VLC con il deinterlacciamento attivo in modalità lineare o yadif (menu strumenti-preferenze-video), a me risulta il video fluido fino al cambio di scena successivo. Ho usato il file postato da desamo, quello che inizia con il lucertolone cavalcato da un guerriero che scala un muro.

Styb
09-10-2011, 17:55
se la mia ipotesi scartata risulta dunque la + probabile faccio marcia indietro :D

date uno sguardo qui -> http://www.mediafire.com/?xc4kr60lyuwr26y

Hai usato Avidemux?
Con quali filtri/script?

desamo
09-10-2011, 22:54
date uno sguardo qui -> http://www.mediafire.com/?xc4kr60lyuwr26y
Ciao.
Il video sembra perfetto ! :sofico:
Mi unisco alla richiesta di Styb: come lo hai ottenuto ?
Se riesci a spiegarlo in dettaglio.
Ciao !

Styb
11-10-2011, 15:38
Peccato che Paky non risponda, forse ha barato... :D
Comunque ho ottenuto un file mpg fluido, ma non un avi come quello di Paky.
Ecco qui http://www.mediafire.com/?1hc2l4lkjxt2c7z

Paky
11-10-2011, 16:46
e come avrei fatto a barare? , non ho un altro master sano :D

ora sono a lavoro , poi spiego
la soluzione è riordinare i Bframe e i Prame senza riconvertire il filmato

cosa che come avete potuto vedere è fattibile ma ricomprimendo nuovamente l'AVI o altro formato

desamo
12-10-2011, 20:22
Ciao.


la soluzione è riordinare i Bframe e i Prame senza riconvertire il filmato

Puoi spiegarmi in due parole di cosa si tratta ?
Qui parli di non riconvertire il filmato... mentre dopo dici che "è fattibile ma ricomprimendo nuovamente l'AVI o altro formato" :confused:
Scusami ma non sono molto ferrato in materia... :help:
Con cosa hai realizzato il riordino ?

Grazie mille.
Ciao.

P.s.
Splendido, nella sua assurdità, il link, che hai in firma, con il post che parla di FB. ;)

Kewell
15-10-2011, 14:17
Mandato PVT di sollecito a Paky.

desamo
15-10-2011, 14:49
Grazie! ;)

Styb
16-10-2011, 13:32
Già, mi ero scordato di questo 3d, chissà se Paky ha voglia di svelare il suo... segreto!

EDIT: la lucetta di paky è accesa, vediamo.

EDIT2: ho inviato anch'io un pvt a paky.

Paky
19-10-2011, 18:23
chiedo perdono per il ritardo , ho visto gli mp di sollecito :D

Ciao.


Puoi spiegarmi in due parole di cosa si tratta ?
Qui parli di non riconvertire il filmato... mentre dopo dici che "è fattibile ma ricomprimendo nuovamente l'AVI o altro formato" :confused:
Scusami ma non sono molto ferrato in materia... :help:
Con cosa hai realizzato il riordino ?


dunque , quello che volevo dire è che la soluzione ottimale "dovrebbe" prevedere il riordino dei frame e il rimux in AVI

allo stato attuale non ho trovato nessun software che lo permetta in modo lossless

quindi c'è il passaggio obbligato della ricompressione (in avi , o quello che vi pare)
morale della favola , una perdita di tempo e qualità finale


cmq

Provate ad aprire con Avidemux uno di quegli spezzoni AVI generati dal recorder , e scorrete di frame in frame

salta subito all'occhio che ci sono solo I frame (Key Frame) e P frame (Predicted frame)
mancano di fatto i Bframe :eek:

anche usando la funzione -> Strumenti ricostruisci fotogrammi I & B non accade nulla


Allora ho provato a cambiare contenitore , ho rimuxato l'Avi in Mp4 con Yamb (o direttamente con Mp4box se vi piace la linea di comando)

Importando questo Mp4 in Avidemux....magia
si accorge che c'è qualcosa che non va

http://img546.imageshack.us/img546/1300/avidem.png

dando SI accade il miracolo.... ecco finalmente i Bframe :sofico:
sia scorrendo frame per frame che dando Play tutto è fluido e in ordine corretto

il problema si ripresenta esportando in Avi (ma anche in Mp4)
il filmato generato in modalità directstream è nuovamente incasinato :muro:

Avidemux non riesce a salvarlo correttamente

Se nella tendina "Video" si imposta un codec e si ricomprime, il filmato generato viene fuori corretto (quello che avete potuto visionare dagli spezzoni che ho caricato su Mediafire)


Tutto qui :fagiano:

Considerazione : il recorder oltre a generare un Avi non standard , utilizza il codec Mpeg-4 in modo piuttosto balordo
alterna consecutivamente P e B frame
e non funziona proprio così :D

desamo
19-10-2011, 20:44
Innanzitutto : GRAZIE !!! :sofico:

Vista la mia quasi totale ignoranza su come DEVE essere strutturato un file in MPEG-4, devo dire che ho chiaro dove sta il problema ma non capisco come mai il recorder combini questo "pasticcio" :rolleyes: :( :rolleyes:

Penso che la tua spiegazione faccia finalmente luce su cos'è che non quadra sulla codifica del recorder. :D
Spero che chi mette le mani al fw alternativo abbia maggiore know-how sulle codifiche MPEG-4 e che con le tue preziose info possa correggere questa anomalia ! :)

Ti chiedo, per mia curiosità personale, di nuovo una cortesia : hai qualche sito/pubblicazione di riferimento dove vengano spiegate in modo approfondito le strutture dei file MPEG-4 ?

Ancora mille GRAZIE per la disponibilità ! :cincin:

Ciao.

Kewell
19-10-2011, 22:38
Grazie Paky :ave:

Considerazione : il recorder oltre a generare un Avi non standard , utilizza il codec Mpeg-4 in modo piuttosto balordo
alterna consecutivamente P e B frame
e non funziona proprio così :D

Dici che alterna consecutivamente i P ed i B frame: intendi dire dopo che AviDemux ha ricostruito l'indice, oppure intendevi dire gli "I e P frame"?

Ho fatto la tua stessa procedura ed dopo la ricostruzione ho tutti P e B frame uno dietro l'altro (intervallati ogni tanto dai frame I).

Tra le altre cose, come facevi notare, dopo aver salvato il film, dopo la ricostruzione, come mp4 una volta ricaricato in avidemux non chiede di ricostruire gli indici ed ho una successione di P e B frame. Nonostante questo il film si veda male durante l'anteprima (presenta i soliti difetti).

Quindi, forse, i player hardware fanno una sorta di ricostruzione in tempo reale dell'indice? Possibile che non esista un player software che faccia altrettanto?

Styb
19-10-2011, 23:38
allo stato attuale non ho trovato nessun software che lo permetta in modo lossless

quindi c'è il passaggio obbligato della ricompressione (in avi , o quello che vi pare)
morale della favola , una perdita di tempo e qualità finale

Bravo Paky, grazie per la risposta.
A me succede una cosa diversa: quando apro con yamb l'avi postato da desamo, yamb mi avverte che la traccia audio ac3 non è compatibile e nel file mp4 muxato che ottengo c'è solo il video che però è fluido, cioè non c'è bisogno di ricodificarlo poiché yamb (non so come) lo ricostruisce in modo corretto.

Il punto è che questo file mp4 non ha l'audio; quindi ho prelevato l'audio ac3 dal file avi di desamo con virtualdub e l'ho dato in pasto ad avidemux insieme al video ottenuto con yamb, impostando copia sia per l'audio che per il video.

Quindi si può ottenere un file mp4 fluido e senza ricodifica, cioè nel file avi in realtà sembra che NON ci siano i frame duplicati, ma è forse l'indice corrotto del file che fa credere al player che i frame sono duplicati.

Comunque le stranezze continuano, poiché il file mp4 ottenuto con avidemux si vede bene con VLC ma non con altri player.

Paky
05-11-2011, 10:23
Ti chiedo, per mia curiosità personale, di nuovo una cortesia : hai qualche sito/pubblicazione di riferimento dove vengano spiegate in modo approfondito le strutture dei file MPEG-4 ?

con google non faticherai a trovarne , anche tra materiale universitario
http://www.comlab.uniroma3.it/telecinfo/mpeg4.pdf
http://www.comlab.uniroma3.it/ens/ENS_MPEG.pdf


Dici che alterna consecutivamente i P ed i B frame: intendi dire dopo che AviDemux ha ricostruito l'indice

si intendevo proprio questo

alla fine la cosa è verificabile aprendo un qualsiasi AVI e facendolo scorrere con <- -> , non ci sono P e B frame uno dopo l'altro


Quindi, forse, i player hardware fanno una sorta di ricostruzione in tempo reale dell'indice? Possibile che non esista un player software che faccia altrettanto?

non so cosa dirti , queste sono domande che andrebbero girate a chi ha fatto il firmware :boh:


A me succede una cosa diversa: quando apro con yamb l'avi postato da desamo, yamb mi avverte che la traccia audio ac3 non è compatibile e nel file mp4 muxato che ottengo c'è solo il video che però è fluido, cioè non c'è bisogno di ricodificarlo poiché yamb (non so come) lo ricostruisce in modo corretto.

che non peschi l'audio è normale , mp4 con AC3 non è accettato da tutte le gui/soft di mux
spesso ci sono delle noie in decodifica , soprattutto con lettori standalone

cmq ,l'Mp4 generato , anche senza video sulla mia configurazione gira male
va fluido solo dopo la ricostruzione frame di Avidemux (preview)

Superfranciscarl
19-11-2012, 18:15
spero di non dire una grossa cavolata, ma ho notato che l'HD dell'LG presenta anche molti file denominati INDEX, in particolare nella directory dove sono stati messi i filmati compressi in XVID ....... non potrebbero essere utilizzati dall' LG per ricostruire e far riprodurre fluidamente il filmato ?


Se ho detto una caxxata cosa sono questi files INDEX ????