Newsgroup: it.comp.lang.visual-basic
Titolo: repost: Aprire un file mpeg2 e leggere i GOP

Scusate, riposto il messaggio, visto che era partito con la data del pc a 
qualche giorno fa... non vorrei che sfugga a qualcuno, credendola vecchia 
:-)
Ciao a tutti,
come ultimo post pre-ferie, non potevo certo fare una domandina facile
facile!
Ecco la questione:
ho dei file MPEG2, e da quanto sto leggendo in rete (porcaccia miseria, ho
appena letto un documento di oltre 120 pagine per capirci qualche cosa di
piu', e tutto a Monitor), ho capito che mi serve di sapere quando inizia un
GOP.
Ogni GOP ha una intestazione, ma non sono riuscito a capire come e'.
La mia intenzione sarebbe quella di aprire il file in modalita' binaria,
analizzarlo, e trovare questi famosi GOP Header... ma come?
C'e' nessuno che sa, ad esempio, come iniziano 'sti cosi?
Buon WE, buon ferragosto, e occhio alle stelle che cadono, questa notte (se
avete la fortuna di avere un po' di cielo limpido)... Maurizio

 C'e' nessuno che sa, ad esempio, come iniziano 'sti cosi?
OK, questa è facile: gugla per "+GOP header format" oppure
"+gop mpeg2 format" e garantito che trovi qualcosa nella prima
paginata di risultati. Per esempio ;-) una frase che dice:
"I-picture and/or I-Frame (intra coded picture) reference picture,
corresponds to a fixed image and is independent of other picture
types. Each GOP begins with this type of picture.".
Il che sposterebbe il problema a riconoscere un I-Picture e un I-frame,
giusto ?
Però ti trovi anche questa:
"Group of pictures (GOP) are optional, and direct access to
a bitstream can be done at any repeated sequence header,
even if there is no GOP header there."
Il che non è molto simpatico. :-(
Altre info comunque qui:
http://www.wotsit.org/list.asp?fc=3
http://graphcomp.com/info/specs/mpeg2.html
**************************
Il punto dove volevo arrivare è: a cosa ti serve ? Puoi anche dirmi
che non sono fatti miei, eh, ma cercare di analizzare un flusso
MPEG in VB mi pare un tantino inconsueto, e mi chiedevo se
magari non ci fosse una strada più semplice per il tuo obiettivo.
Bye, G. 

 Il punto dove volevo arrivare č: a cosa ti serve ?
...
E' vero, non sono affari tuoi, ma visto che ti sei impegnato a rispondremi, 
te lo dico :-) :-) :-)
Stiamo realizzando un progamma di messa in onda di mpeg2 tramite una scheda 
apposita, e nel far  girare il tuttto, ci siamo resi conto che, entrando 
dentro un file ad una posizione (espressa in byte), ci trovavamo sempre 
sfasati in ritardo rispetto al punto di ingresso previsto (tramite marcatura 
del filmato stesso).
Abbiamo poi capito che il motivo e' che l'inizio del flusso mpeg2 e' sempre 
in corrispondenza del GOP successivo al punto a cui tentiamo di accedere (a 
meno che, naturalmente, non accediamo ad un GOP). La soluzione pensata per 
evitare di creare discrepanze tra la marcatura e l'effettiva riproduzione, 
e' quella di dare la possibilita' di fare le marcature solo in corripondenza 
del GOP.
Da qui la necessita' di sapere dove cavolo si trovano questi GOP.
E questo e' il quanto :-)
Ciao... Maurizio (appena tornato dalle ferie, ancora un po' assopito, e 
quindi speranzoso di comprensione se avesse scritto qualche boiata)