Vedo tonnellate di domande sul trasferimento dell'atomo moov
dalla fine di un contenitore video MP4 all'inizio, per rendere il video "ottimizzato per il web" o più semplice da trasmettere. Sembra che molti strumenti richiedano un'opzione esplicita per fare ciò quando si codifica il video, se è disponibile a tutti.C'è uno svantaggio nel mettere l'atomo di MOOV all'inizio di un file MP4?
Se posizionare l'atomo all'inizio fa sì che lo streaming funzioni meglio, ed è costoso farlo after-the-fact, perché dovrei voler codificare il video con l'atomo alla fine? Qual è il vantaggio?
È difficile immaginare che, nello scopo di prendere 30 minuti, o un'ora, o dieci, per creare un film codificato, chiunque noterebbe il minuto in più o due necessari per scrivere l'atomo MOOV quindi copiare su il resto dei segmenti di dati finiti. Sicuramente il costo I/O è sminuito dal calcolo necessario per eseguire la codifica in primo luogo? – Coderer
Suppongo che dipenda dal software di codifica, ma ffmpeg è purtroppo abbastanza generico da "riscrivere il file dopo il fatto" ha bisogno di un grande refactoring nello stato corrente delle cose. C'è un problema simile con i file FLV e i metadati, in modo che ci siano software come flvtool o flvmeta necessari per iniettarli correttamente dopo la codifica. Bisogna anche rendersi conto che i codificatori video non sempre scrivono i dati su flussi ricercabili (ad esempio, i flussi di rete), dove non è possibile tornare indietro. – SirDarius
So che questo è fuori moda ma lo farò ancora chiedere; l'elemento video di Android può riprodurre solo i file mp4, quindi anche se l'elemento moov è alla fine, continua a riprodurre i video tramite lo stream http senza alcun problema. com'è possibile? come fa Android a gestire il video senza moov atom? –