Domanda

SO ...

Ho i dati video H.264 RAW H.264 catturati tramite RTSP in un file locale e sto tentando di riprodurre il video in un'applicazione Java FX. Per fare ciò, ho bisogno di utilizzare HTTP Live Streaming.

Ho prototipato con successo un'architettura Java FX che può riprodurre un video tramite HLS con un server locale utilizzando una cartella locale contenente file .m3U8 (HLS index) e raccolta di file .ts (MPEG-TS). L'ultimo pezzo per me è quello di sostituire i file .ts con file .264 / .h264 e nel server locale, eseguire la conversione / avvolgimento degli H.264 allegato B dati in MPEG-TS.

Ho problemi a capire cosa è necessario per ottenere H.264 Allegato B in MPEG-TS. Ho trovato le seguenti informazioni ...

.

"L'allegato B è comunemente utilizzato nei formati live e streaming come Trasporto flussi ... "

szatmary.org/blog/25

"L'allegato B di Documento specifica uno tale formato, che avvolge il nale Unità in un formato simile a una tradizionale elementare Video MPEG streaming, rendendolo così adatto per l'uso con contenitori come MPEG PS / TS Impossibile fornire l'intelaiatura richiesta ... "

wiki.multimedia.cx/?title=h.264

"Java FX supporta un numero di tipi di media diversi. Un tipo di supporto è considerato la combinazione di un formato di container e uno o più codifiche. In alcuni casi il formato del contenitore potrebbe semplicemente essere un Stream elementare contenente i dati codificati. "

docs.oracle.com/javafx/2/api/javafx/scene/media/package-summary.html

"Utilizzare l'attributo Codecs del tag EXT-X-Stream-INF. Quando questo L'attributo è presente, deve includere tutti i codec e i profili richiesti Per riprodurre il torrente ... "

sviluppatore.apple.com/library/ios/documentation/networkinginternet/conceptual/streamingMediaGuide/FrequenteRysAskedQuestions/FreQuenteSaskedQuestions.html

Sembra che mi manchi qualcosa di semplice attorno ai flussi elementari e di trasporto. Ho usato FFMPEG per convertire il mio file H.264 in un file TS e cercare di capire le differenze. Ho un'idea delle differenze approssimative del formato, ma mi manca ancora sui dettagli per farlo. Qualcuno ha un collegamento che lo mostrava o sappia qualcosa di semplice su come servire H.264 Allegato B Dati su MPEG-TS?

Non sto cercando di utilizzare uno strumento, ho bisogno di avere un formato di file personalizzato localmente in cui analizzo i dati H.264 Allegato B ed eseguo il cambiamento del formato in memoria, al volo. Conosco un modo per usare FFMPEG con tubi per realizzarlo, ma non voglio avere dipendenze e prestazioni è importante.

È stato utile?

Soluzione

non è un cambiamento di formato.È un contenitore.Non è necessario analizzare l'allegato B per scriverlo in un file TS.L'TS avvolge un PES che avvolge un flusso dell'allegato B.Il formato MPEGTS è piuttosto complesso, specialmente senza una biblioteca di terze parti.Il codice TS che ho scritto e utilizzare al lavoro è di circa 1000 righe di C ++.

Per scrivere il codice TS, iniziando cercando di leggere un file TS utilizzando un editor esagonale e fare riferimento alla documentazione Wikipedia.Il libro Video Demystified ha anche una documentazione abbastanza buona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top