0

Ich versuche Live-Vorschau von einem Android-Gerät zum anderen zu zeigen. Hier ist, was ich tat,Media-Codec-Decoder und Wiedergabe

Sender: 1.Camera Rahmen (YUV) -> 2.Mediacodec (codieren h264 byte []) -> 3.MediaMuxer-> 4.mp4

I‘ Senden des Ausgangs des Mediencodierers über die Socket-Verbindung.

Empfänger: 5.byte [] über Buchse -> 6. Mediacodec (Decoder) -> 7. Spielen.

Bis Schritt 5 funktioniert alles gut.

Allerdings kann ich das Byte [] nicht dekodieren. Was fehlt hier? Ich schätze, ich bin nicht in der Lage, sps und pps richtig zu senden! auch wie zu testen, dass das, was ich sende, korrekte Daten ist?

Danke.

Antwort

0

Sie muxen mp4 (Containerformat) das codierte h264 Video. Auf der Decodierungsseite verwenden Sie jedoch keinen Demuxer (oder Parser/Splitter). Media-Codec-Decoder kann elementares Video und kein Containerformat verwenden. Verwenden Sie mediaextractor, um in Android zu demuxen. (https://developer.android.com/reference/android/media/MediaExtractor.html)

+0

Es scheint, MediaExtractor nimmt nur Datei oder URL als Eingabe, kann ich Byte übergeben [] zu MediaExtractor? –

Verwandte Themen