Estoy trabajando en el dispositivo en vivo para la transmisión de servidor en android. Puedo enviar datos en bytes en el servidor pero cuando juego ese archivo durante la grabación en el servidor VLC dicen que MOOV átomo no encontrado. Después de una gran cantidad de solución encontré que MOOV átomo de un archivo mp4 genera al final. Pero tengo que reproducir ese archivo en el servidor mientras la grabación significa en vivo. Voy a través del código fuente de SPYDROID y SIPDROID pero ninguno de ellos está funcionando. Traté de agregar mover átomo en el servidor usando FFMPEG pero no tuve éxito. Alguien tiene alguna idea de cómo puedo lograr esto. Gracias por adelantado.Cómo agregar un átomo MOOV en un archivo de video mp4
Respuesta
Ejecute qt_faststart para mover el átomo moov al principio de la secuencia.
qt-faststart in.mp4 out.mp4
Tienes un problema. El cuadro 'moov' es una especie de tabla de contenidos. Si no todo el contenido está allí, no puede tener una tabla completa de contenidos. ¡Ay!
Si quiere seguir con MP4 y si está escribiendo el archivo usted mismo, podría escribir el archivo como el llamado archivo MP4 fragmentado. Un archivo MP4 fragmentado contiene varias partes pequeñas del video, cada una con su propia tabla de contenido. Le permitirá reproducir el archivo antes de que la grabación completa haya finalizado.
Si no necesita seguir con MP4, una opción sería escribir el flujo de h264 sin procesar en el servidor. Entonces no tienes ese tipo de tabla de contenido. VLC puede reproducir flujos h264 sin formato.
ho sebsatian, no puedo obtener datos de filas en Android mientras grabo video, ¿pueden decirme cómo puedo lograr eso? – Ravinder
Conozco MP4 pero no a Android en particular. Tal vez deberías crear una nueva pregunta. –
Otra forma de hacerlo podría ser grabar solo uno o dos segundos y volver a concatenar en el servidor? –
Utilice MP4Box para mover el átomo MOOV al inicio del archivo y entrelazar para transmitir en trozos.
MP4Box test.mp4 test.mp4
No funciona para mí. Devuelve: Error - 2 nombres de entrada especificados, verifique el uso MP4Box versión 0.5.0-rev4065 –
Añadir a su Gradle este lib: compilación 'net.ypresto.qtfaststartjava: qtfaststart: 0.1.0' y luego
File input = new File(path + "/input.mp4"); // Your input file
File output = new File(path + "/output.mp4"); // Your output file
try{
if(!output.exists()) // if there is no output file we'll create one
output.createNewFile();
}
}catch (IOException e){
Log.e("TAG", e.toString());
}
try{
QtFastStart.fastStart(input, output); // Adds moov to your input
// Now your output file is ready to stream!
}catch (QtFastStart.MalformedFileException m){
Log.e("QT", m.toString());
}catch (QtFastStart.UnsupportedFileException q){
Log.e("QT", q.toString());
}catch (IOException i){
Log.e("QT", i.toString());
}
Aquí eso es todo
es posible para mover el átomo moov al comienzo del archivo de video usando FFMpeg.
ffmpeg -i input_video_file.mp4 -vcodec copy -acodec copy -movflags +faststart output_video_file.mp4
- 1. ¿Es posible falsificar un átomo de moov (mp4)?
- 2. ¿Reconstruir el archivo MP4 del átomo fragmentado MP4 "mdat"?
- 3. Cómo convertir un archivo F4F a MP4?
- 4. ¿Cómo editar o agregar metadatos de video de "rotación" en mp4?
- 5. Cómo cargar video desde un teléfono (n Android) mientras se está grabando
- 6. Post procesamiento en ffmpeg para mover 'moov atom' en archivos MP4 (qt-faststart)
- 7. Android: Copie RawFile a Sdcard (video mp4)
- 8. ¿Cómo reproducir un archivo de video en Android?
- 9. ¿Cómo incrusto un video en un tweet?
- 10. ¿cómo encuentro la fecha en que se grabó un video (.AVI .MP4)?
- 11. Utilice un solo archivo adjunto para video/imagen en clip
- 12. Cómo generar salida de mp4 fragmentado con ffmpeg?
- 13. Android: no puede reproducir video mp4
- 14. Actualizar un átomo con un único valor
- 15. Tipo de contenido HTTP advertencia de video/mp4 en firefox
- 16. Cómo combinar un video .mp4 con un audio .wav con un desplazamiento en ffmpeg desde la línea de comandos?
- 17. Conversión de video de MOV a Mp4 iPhone Programmatically
- 18. Cómo puedo asegurar el video mp4 y flv
- 19. Agregar audio a video en Android
- 20. ¿Cómo puedo validar un archivo de video desde un script?
- 21. Gstreamer: transcodificación de video de Matroska a mp4
- 22. cromo podría reproducir video html5 mp4 pero html5test dijo que Chrome no admitía el códec de video mp4
- 23. Agregar texto arriba Video HTML5
- 24. Transmite video MP4 en iPhone directamente desde S3?
- 25. etiqueta de video html5 no está reproduciendo mp4 - IIS
- 26. Lista de reproducción de video de iPhone MP4
- 27. Cómo reproducir un video desde una URL local o de un servidor en iOS
- 28. Problemas con Rails 3 Webrick y cargando video para archivos de video iPhone/iPad (mp4 m4v)
- 29. ¿Cómo se reproduce un archivo AVI en una etiqueta de video?
- 30. Agregar un archivo JavaScript
d33pika..thnx hi ur RPLY, quiero enviar datos de vídeo en el servidor durante la grabación, pero un átomo moov genera después de la grabación haya terminado así que por eso creo qt-FastStart no será útil en este caso. – Ravinder
¿Has resuelto tu problema @Ravinder? Estoy tratando de hacer exactamente lo mismo ahora y no veo una solución viable. Si conoce uno, publique un comentario aquí. –
¿Cómo se usa qt-faststart en android? ¿Alguien puede publicar un código de ejemplo? –