Domanda

Sono in una situazione in cui ho bisogno di avere una parte di mpeg4v1 (Microsoft MPEG-4 VKI Codec V1) dati situati all'inizio di un pacchetto (che è stato inviato da un'unità DVR).

La struttura dei pacchetti assomiglia a questa:

  • Dati MPEG4 compressi.
  • Intero lungo - Numero di eventi e tripli.
  • Intero lungo - Numero di eventi.
  • Evento - Sequenza dell'evento.
  • Intero lungo - Numero di tripli.
  • Tripwire - Sequenza di tripli.
  • Intero lungo - Codice ridondante ciclico (CRC).

Quindi non vi è alcuna indicazione su come sapere dove fa il MPEG4 i dati finiscono (O c'è?) e da dove dovrei iniziare a leggere questi dati aggiuntivi come "Numero di eventi e tripliochi" e così via...

Ho caricato due pacchetti in modo da poter vedere come sembrano i dati reali:recvdata1.txt, recvdata2.txt.

Ho provato a decodificare quei pacchetti usando la libreria FFMPEG con la funzione Avcodec_decode_video e rimuovendo il byte per byte dalla fine del mio recvdata buffer in una speranza per eventuali risultati,
Ma FFMPEG è stato sempre restituito con messaggi di errore come questo:

[MSMPEG4V1 @ 038865A0] INVALID STARTCODE", [MSMPEG4V1 @ 038865A0] DANNEGGIO".

Non sono così un buon specialista nel sapere come funziona l'MPEG4 dall'interno, ma a giudicare dai messaggi di errore si è visto chiaramente che mi mancano alcuni dati per la decodifica all'inizio del buffer.

Quindi non sono sicuro di quale parte / tipo di dati MPEG sto ottenendo qui ..
Forse sono una specie di dati "frame" di MPEG con l'indicazione "fine" o qualcosa del genere?

Ho persino confrontato l'inizio del mio recvdata Buffer in alcuni dei file video codificati MPEG4v1 che ho trovato in rete "http://www.trekmania.net/clips/video_clips4.htm" per verificare se l'inizio del mio buffer contiene davvero i dati MPEG ..e non una specie di roba specifica del fornitore DVR ..

E ho notato che ci sono circa 20 byte di dati (all'inizio dei miei dati di pacchetti e nei file .avi subito dopo circa 180 byte ..) che sembra una specie di intestazione o qualcosa del genere ..

Controlla questa immagine: "http://ggodis.gamedev.lt/stackoverflow/recvdata.jpg"

Forse qualcuno sa cosa rappresenta questa parte dei dati MPEG4v1?

Ps .. Ho controllato i valori CRC per i miei pacchetti ricevuti e avevano ragione ..

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top