Question

Je suis dans une situation où j'ai besoin d'obtenir un morceau de MPEG4V1 (Microsoft MPEG-4 VKI Codec V1) données situées au début d'un paquet (qui a été envoyé par une unité DVR).

La structure des paquets ressemble à ceci:

  • Données MPEG4 compressées.
  • Long entier - Nombre d'événements et de triples.
  • Entier long - Nombre d'événements.
  • Événement - Séquence de l'événement.
  • Entier long - Nombre de Tripwires.
  • Tripwire - Séquence Tripwires.
  • Entier long - code redondant cyclique (CRC).

Il n'y a donc aucune indication de savoir où Mpeg4 Les données se terminent (Ou y a-t-il?), et d'où devrais-je commencer à lire ces données supplémentaires comme "Nombre d'événements et de triples" et etc...

J'ai téléchargé deux paquets pour que vous puissiez voir à quoi ressemble les données réelles:recvdata1.txt, recvdata2.txt.

J'ai essayé de décoder ces paquets à l'aide de la bibliothèque FFMPEG avec une fonction AVCODEC_DECODE_VIDEO et en supprimant l'octet par octet de la fin de mon recvdata tampon dans l'espoir de tout résultat,
Mais FFMPEG est tout simplement revenu avec des messages d'erreur comme celui-ci:

[msmpeg4v1 @ 038865a0] startcode invalid", [msmpeg4v1 @ 038865a0] En-tête endommagé".

Je ne suis pas un bon spécialiste pour savoir comment le MPEG4 fonctionne de l'intérieur, mais à en juger par les messages d'erreur, il est clairement vu que je manque des données pour décoder au début du tampon.

Je ne sais donc pas quelle partie / type de données MPEG que j'obtiens ici.
Peut-être que c'est une sorte de données de "cadre" de MPEG avec son indication "fin" ou quelque chose?

J'ai même comparé le début de mon recvdata Buffer sur certains des fichiers vidéo codés MPEG4V1 que j'ai trouvés sur le net "http://www.trekmania.net/clips/video_clips4.htm" pour vérifier si le début de mon tampon contient vraiment les données MPEG ..et pas une sorte de trucs spécifiques au fournisseur de DVR.

Et j'ai remarqué qu'il y a environ 20 bytes de données (au début de mes données de paquets, et dans des fichiers .avi juste après environ ~ 180 bytes ..) qui ressemble à une sorte d'en-tête ou quelque chose.

Veuillez vérifier cette image: "http://ggodis.gamedev.lt/stackoverflow/recvdata.jpg"

Peut-être que quelqu'un sait ce que représente cette partie des données MPEG4V1?

Ps ..J'ai vérifié les valeurs CRC pour mes paquets reçus et ils étaient corrects.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top