2017-05-16 2 views
0

Decode Video-Frame und zeigen Sie es auf dem Bildschirm mit Android MediaCodecAndroid MediaCodec Decoder, tragen benutzerdefinierte Informationen mit Videoeingangsrahmen

ich, um anzuzeigen, habe, ob ein Video-Frame auf dem Bildschirm zeigen kann oder nicht auf MediaCodec Dekodierungsausgang Schritt. Daher muss der Videorahmen die Information tragen, ob er auf dem Bildschirm auf MediaCodec Frame-Eingabeschritt angezeigt werden kann.

Ich habe versucht, BufferInfo.flag ein bisschen zu setzen, aber MediaCodec wird diese Variable überschreiben, ich kann Flag-Bit nicht erhalten, das ich auf Eingabeschritt auf Ausgabeschritt einstelle.

Ich habe eine andere Möglichkeit zu zeigen oder nicht zeigen. Verwenden Sie MediaCodec.BufferInfo#flags ungerade oder gerade, um diese Information anzuzeigen.

Gibt es einen formellen Weg, diese Arbeit zu erledigen?

Antwort

0

Es gibt keinen anderen Mechanismus für den Transport von benutzerdefinierten Informationen, soweit ich weiß. Was Sie jedoch tun können, ist, solche Informationen manuell zu verfolgen. Wenn die Zeitstempel eindeutig sind, können Sie eine Karte erstellen, die den Zeitstempel -> benutzerdefinierte Informationen verfolgt. Wenn die Zeitstempel nicht eindeutig sind, müssen Sie möglicherweise den Echtzeitstempel in den benutzerdefinierten Informationen speichern und neue Zeitstempel (z. B. nur eine inkrementierende Zahl) für jeden Frame generieren. Dies sollte funktionieren, solange der Decoder nicht versucht, sie tatsächlich zu verwenden die Zeitstempel für alles innerhalb des Decodierungsprozesses.

Verwandte Themen