Sto lavorando su live dispositivo per lo streaming di server in Android. Sono in grado di inviare dati in byte sul server ma quando riproduco quel file durante la registrazione sul server VLC dire che l'atomo MOOV non è stato trovato. Dopo un sacco di soluzioni ho trovato che l'atomo MOOV genera un file alla fine. Ma devo riprodurre quel file sul server mentre la registrazione significa dal vivo. Vado attraverso il codice sorgente di SPYDROID e SIPROIDI ma non funziona. Ho provato ad aggiungere move atom su serveride usando FFMPEG ma non ha avuto alcun successo. Qualcuno ha idea di come posso ottenere questo. Grazie in anticipo.Come aggiungere un atomo di MOOV in un file video mp4
risposta
Eseguire qt_faststart per spostare l'atomo moov all'inizio del flusso.
qt-faststart in.mp4 out.mp4
Hai un problema. La scatola 'moov' è una sorta di sommario. Se non tutti i contenuti sono presenti, non è possibile avere un sommario completo. Ahia!
Se si desidera attaccare con MP4 e se si sta scrivendo il file da soli, è possibile scrivere il file come file MP4 frammentato. Un file MP4 frammentato contiene più piccoli pezzi autonomi del video, ognuno con il proprio sommario. Ti permetterebbe di riprodurre il file prima che la registrazione completa sia finita.
Se non è necessario attenersi a MP4, un'opzione potrebbe essere quella di scrivere il flusso di h264 non elaborato sul server. Quindi non hai quel tipo di tabella dei contenuti. VLC può riprodurre flussi raw h264.
hi sebsatian, non sono in grado di ottenere dati di riga in Android durante la registrazione di video, puoi dirmi come posso ottenerlo. – Ravinder
Conosco MP4 ma non Android in particolare. Forse dovresti creare una nuova domanda. –
Un altro modo per farlo potrebbe essere registrare solo uno o due secondi e concatenarlo di nuovo sul server ?! –
Utilizzare MP4Box per spostare l'atomo MOOV all'inizio del file e l'interleaving per lo streaming nel blocco.
MP4Box test.mp4 test.mp4
Non funziona per me. Restituisce: Errore - 2 nomi di input specificati, verificare l'uso MP4Box versione 0.5.0-rev4065 –
Aggiungi alla tua Gradle questo lib: compilazione 'net.ypresto.qtfaststartjava: qtfaststart: 0.1.0' e poi
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());
}
Qui è tutto quello che
è possibile per spostare l'atomo moov all'inizio del file video usando FFMpeg.
ffmpeg -i input_video_file.mp4 -vcodec copy -acodec copy -movflags +faststart output_video_file.mp4
- 1. Riparazione di un file video MP4 danneggiato
- 2. C'è uno svantaggio nel mettere l'atomo di MOOV all'inizio di un file MP4?
- 3. Come modificare o aggiungere metadati video di "rotazione" in mp4?
- 4. Post processing in ffmpeg per spostare 'moov atom' in file MP4 (qt-faststart)
- 5. Ricostruzione del file MP4 dall'atomo "mdat" MP4 frammentato?
- 6. Unione di file video mp4 su Android
- 7. Streaming live tramite MP4
- 8. Streaming di file video MP4 su Gstreamer
- 9. decodifica un video mp4 con gstreamer
- 10. Come tagliare un video mp4 in un'applicazione Windows Phone 8
- 11. C# Creazione di video MP4 da immagini e file mp3
- 12. ffmpeg 2.4.2 concatenare file mp4
- 13. Come ottenere durata video da mp4, wmv, flv, video mov
- 14. Playlist video MP4 per iPhone
- 15. Gstreamer: transcodifica video Matroska in mp4
- 16. Mimetype M4V - video/mp4 o video/m4v?
- 17. Come creare un blob di un file video
- 18. come il video HTML5 gestisce il video con moov atom alla fine
- 19. Bootstrap 3 - Responsive mp4-video
- 20. html5 tag video non riprodotto mp4 - IIS
- 21. Come riprodurre video MP4 da Youtube?
- 22. Come si gioca a un file video mp4 con tag video HTML5 su iOS (iPhone e iPad)?
- 23. come convertire qualsiasi tipo di video in mp4?
- 24. Transcode/convertire video in MP4 su Android
- 25. Problemi con Rails 3 Webrick e caricamento di video per file video iPhone/iPad (mp4 m4v)
- 26. Come faccio ad aggiungere un nuovo video interamente da JavaScript?
- 27. Il modulo di Elixir è un atomo?
- 28. Come posso riprodurre video MP4 tramite un collegamento diretto nel lettore video Android?
- 29. Android: copia RawFile su Sdcard (video mp4)
- 30. in esecuzione un video schermo verde in un altro video
hi d33pika..thnx per ur rply, Voglio inviare i dati video su un server durante la registrazione, ma un atomo moov genera dopo la registrazione finito così ecco perché penso che qt-faststart non sarà utile qui. – Ravinder
Hai risolto il tuo problema @Ravinder? Sto cercando di fare esattamente lo stesso adesso e non vedo una soluzione praticabile. Se ne conosci uno, per favore pubblica un commento qui. –
Come si usa qt-faststart in Android? Qualcuno può pubblicare un codice di esempio? –