Verwendung von Android MediaCodec zum Dekodieren von MPEG2-Videostreams
Ich versuche es zu benutzenMediaCodec
API zum Dekodieren und Anzeigen vonMPEG2
codierter Stream. ich benutzeMediaExtractor
So extrahieren Sie den Stream aus einem MPEG-Transport-Stream (TS
).
Ich merke dasconfigure()
des Decoders funktioniert nicht auf allen Geräten, die ich ausprobiert habe - Nexus7 (2012), Nexus7 (2013), Nexus10, mit dem Fehlercode 0x80001001.
Der einzige Parameter, der bei der Verwendung des Befehls schief gehen kannconfigure()
API ist dieMediaFormat
Konfiguration zur Verfügung gestellt und dies wird von Android bezogenMediaExtractor
. Ich verstehe nicht, was schief gehen könnte, was dazu führen könnte, dass dieses Problem bemerkt wird.
Die Konfigurationsparameter in derMediaFormat
Gegenstand sind:
1. `CSD-0` - Containing Sequence header and sequence extension header.
Seq_Hdr - 00 00 01 B3 2D 01 E0 24 09 C4 23 80
Seq_extnsn - 00 00 01 B5 14 8A 00 01 00 80
2. Height - 480
3. Width - 720
4. KEY_MIME - `video/mpeg2`
Der Fehler ist auf allen Geräten etwas ähnlich, was bedeuten könnte, dass der Fehler möglicherweise von einer gemeinsamen Entität in der stammtMediaCodec
Stapel. Hier ist der Fehler von Nexus7 (2013). (0x80001001 - OMX_ErrorUndefined)
E/ACodec ( 6504): [OMX.qcom.video.decoder.mpeg2] configureCodec returning error -1010
E/MediaCodec( 6504): Codec reported an error. (omx error 0x80001001, internalError -1010)
Liegt dieses Verhalten daranMPEG2
Muss auf Android-Plattformen kein obligatorischer Codec unterstützt werden oder mache ich etwas falsch? Alle Informationen zum Verhalten vonMPEG2
Decoder wird sehr geschätzt.