Question

est-ce que quelqu'un sait comment je peux récupérer la dimension de l'image d'une vidéo mpeg4 (non h264, c'est-à-direMpeg4 Partie 2) à partir du flux binaire vidéo brut ?J'écris actuellement une source multimédia personnalisée pour Windows Media Foundation, je dois fournir un type de média qui nécessite la taille du cadre.ça ne marche pas sans ça.des idées?merci

Était-ce utile?

La solution

Je ne te comprends pas.Essayez-vous de connaître la largeur et la hauteur de la vidéo diffusée ?Si c'est le cas (et je suppose que c'est la "dimension" que vous recherchez), voici comment :

  1. Analyser le flux pour cet entier 000001B0(hex) c'est toujours la première chose que vous recevez en streaming.Sinon, consultez le SDP du flux (si vous en avez, et recherchez config= champ, et le voilà...seulement maintenant, c'est une chaîne Base16 !
  2. Lisez tous les octets jusqu'à ce que vous arriviez à l'entier 000001B6(hexadécimal)
  3. Vous devriez obtenir quelque chose comme ceci (hex) : 000001B0F5000001B5891300000100000001200086C40FA28 A021E0A2
  4. Il s'agit de "l'en-tête de configuration du flux" ou de la trame ou autre, le nom exact est Séquence d'objets vidéo.Il contient toutes les informations dont un décodeur aurait besoin pour décoder le flux vidéo.
  5. Lisez les 4 derniers octets (dans mon exemple, ils sont séparés par un espace -- A021E0A2)
  6. Observez maintenant ces octets comme un entier non signé de 32 bits...
  7. Obtenir largeur lire les 8 premiers bits, puis multipliez ce que vous obtenez par 4
  8. Passer les 7 bits suivants
  9. Obtenir hauteur lire les 9 bits suivants
  10. En pseudo-code :

      WIDTH = readBitsUnsigned(array, 8) * 4;
      readBitsUnsigned(array, 7);
      HEIGHT = readBitsUnsigned(array, 9);
    

Voilà...largeur et hauteur.( :

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