Domanda

Non so troppo di h.264, ma la cosa è che ho questo video in formato H.264 in un contenitore MP4 che vorrei per lo streaming su UDP.

La mia domanda è semplice, c'è qualche tweaks che posso forse fare, mentre la codifica del video in modo che viene fuori abbastanza tolleranti a qualche perdita di pacchetti "leggera"?

So che video compresso di solito ha un fotogramma chiave ogni N telai e poi in quelli tra li invia i delta. Posso immaginare h.264 dovrebbe è molto più complesso di quello, e così il che potrebbe non essere così semplice.

Per essere più precisi, che ho fatto alcuni esperimenti e si rese conto che solo rimuovendo 1024 byte di un flusso di video, ho renderlo completamente "ingiocabile" dal punto della perdita e via.

Quello che vorrei è per di tollerare perdite di luce in quel modo, è possibile?

Grazie

Nelson

È stato utile?

Soluzione

Dipende da quali dati si sta perdendo. Alcuni dei dati nel flusso H264 non è i dati che possono essere persi. Ad esempio, se l'esperimento in cui è caduto 1024 byte capitato di essere i primi 1024 byte inviati, allora probabilmente caduto la sequenza di set di parametri e Immagine set di parametri (SPS / PPS), che è sostanzialmente l'informazione che indica al decodificatore come interpretare le informazioni in entrata. Inoltre, probabilmente non può solo cadere a 1024 byte casuali fuori del torrente; tipicamente H264 è packetized in modo che cose del genere non sarebbe accaduto comunque.

Quindi H264 contiene alcuni piccoli pezzi di dati che in realtà non sono "discardable"; molti dei protocolli di streaming RTSP come rendere questo chiaro specificamente affermando Si consiglia di non inviare questo tipo di informazioni attraverso il canale di trasporto con perdita di dati, ma invece durante lo scambio SDP (che avviene su TCP).

Per quanto riguarda la perdita di tolleranza va, H264 non hanno caratteristiche che dovrebbero tolleranza perdita di aiuto (ASO, FMO, etc.), ma in pratica la maggior parte degli encoder non li supportano. Se è possibile, mi piacerebbe utilizzare x264; la loro configurazione bassa latenza flusso funziona presumibilmente bene anche con la perdita di pacchetti fino al 20% o più. Se il vostro H264 è già codificato, quindi non c'è molto da fare. Il tuo video è già codificato e dovrete per lo streaming così com'è.

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