2012-08-10 29 views
6

Estoy intentando reconstruir un archivo de video desde un servidor de Smooth Streaming. Smooth Streaming sirve archivos fMP4 que son archivos regulares MP4 sin ni su FTYP ni sus átomos MOOV.¿Reconstruir el archivo MP4 del átomo fragmentado MP4 "mdat"?

Toda la información almacenada en esos átomos se coloca en un archivo XML Manifiesto, que tengo.

¿Hay una manera de reconstruir mediante programación el archivo MP4 original, ya sea por:

  • la reconstrucción de un nuevo archivo de contenido directamente desde H264/AAC situado en MDAT (y informaciones de formato de imagen); o
  • reconstrucción FtyP y MOOV átomos

o de lo contrario, ¿hay una herramienta que puede fusionar FMP4?

Respuesta

3

Sí. Es completamente posible.

Puede hacer esto con FFmpeg. Estudia el mov.c [MP4 demuxer] de libavformat.

Tendrá que completar el MP4 en la memoria con todos los datos que "faltan" en el fMP4. En otras palabras, cuando necesitas un átomo que no existe en fMP4 [casi todos], tendrás que ingresar toda la información codificada (tal información, la mayoría proviene del manifiesto).

No es fácil ... pero seguro que es posible. Lo he hecho solo. Lamentablemente, el código no es de mi propiedad.

¡Buena suerte! ;-)

ACTUALIZACIÓN: la especificación de formato PIFF será muy útil (http://go.microsoft.com/?linkid=9682897) por lo que uno puede entender lo que ya está en el FMP4 y lo que no lo es!

0

Es simple reconstruir un archivo mp4, si hay archivos ism e ismc que están relacionados con archivos fragmentados mp4.

Se solicita que conozca el tipo de medio, el tipo de códec, los datos específicos del códec y la escala de tiempo de cada trak para reconstruir un átomo moov y ftyp.

esta información se puede recuperar del archivo ism y ismc.

puede recuperar un tipo de medio de cada pista del archivo ism. puede recuperar el tipo de códec, los datos específicos del códec y la escala de tiempo de cada pista desde el archivo ismc.

hablando en términos simples, los archivos ism/ismc son metadatos para el servidor y el cliente para que pueda reconstruir metadatos (ftyp, moov atom) para un archivo mp4.

+0

Tengo el ism, ismc y ismv (archivo mp4 fragmentado). Tiene razón en que podemos obtener el tipo de códec, los datos específicos del códec y la escala de tiempo de cada pista desde el archivo ismc. Además, se puede acceder a esta información agregando/Manifiesto en url, como http: //localhost/pp/Test.ism/Manifest. Esto devolverá los datos de manifiesto. Ahora, ¿me puede decir alguna forma de crear el archivo MP4 a partir de esto? Quiero decir, ¿hay alguna biblioteca o cualquier fragmento de código disponible para hacer esto? Estoy probando la misma tarea desde el último mes y no tengo ningún progreso. Por favor, dame una idea. – waghekapil

Cuestiones relacionadas