Pregunta

¿alguien sabe cómo puedo recuperar la dimensión de fotograma de un vídeo mpeg4 (no h264, es decir,Mpeg4 Part 2) de las primas de vídeo de la secuencia de bits?actualmente estoy escribiendo una costumbre fuente de medios de windows media foundation, tengo que darle a un tipo de medio que necesita el tamaño del marco.no funciona sin él.alguna idea?gracias

¿Fue útil?

Solución

No estoy recibiendo de usted.Estás tratando de saber el ancho y la altura de la de vídeo se transmite?Si es así (y supongo que es la "dimensión" que está buscando) heres cómo:

  1. Analizar la secuencia de esta entero 000001B0(hex) es siempre la primera cosa que usted consigue escuchados.Si no, véase el SDP de la corriente (si es que los tiene, y la búsqueda de config= campo, y ahí está...sólo que ahora es un Base16 cadena!
  2. Leer todos los bytes hasta llegar a la número entero 000001B6(hex)
  3. Usted debe obtener algo como esto (hex): 000001B0F5000001B5891300000100000001200086C40FA28 A021E0A2
  4. Esta es la "configuración de la corriente de cabecera" o el marco o lo que sea, el nombre exacto es Objeto de Vídeo de la Secuencia.Tiene toda la info de un decodificador sería necesario para decodificar la secuencia de vídeo.
  5. Leer los últimos 4 bytes (en mi ejemplo que están separadas por un espacio -- A021E0A2)
  6. Ahora observar estos bytes como uno de 32 bits entero sin signo...
  7. Para obtener ancho leer los primeros 8 bits y, a continuación, multiplique lo que usted consigue con 4
  8. Pase al lado de 7 bits
  9. Para obtener altura leer el próximo 9 bits
  10. En seudo código:

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

Hay que ir...la anchura y la altura.(:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top