Konfiguration eines AAC Decoders mit Media Codec (Audio kommt von Gstreamer)

  • Hey!


    Ich bin dabei eine App zu entwickeln, die einen AAC Audio Stream von Gstreamer empfängt, diesen decodiert und abspielt.
    Meine Pipeline in Gstreamer sieht folgendermaßen aus:


    gst-launch-1.0 audiotestsrc ! faac "bitrate=64000" ! "audio/mpeg, mpegversion=4, rate = 44100, channels = 1" ! mux. mpegtsmux name=mux! udpsink host=224.0.0.1 port=8001


    Diese codiert den Audio Stream in AAC LC als mp4 mit einer Bitrate von 64000, einer SampleRate von 44100 und einem Channel in einen mpeg ts container.


    Meinen Decoder initialisiere ich mit folgendem Code:



    Habe es auch schon ohne die Zeile "MediaFormat.KEY_IS_ADTS" probiert, es kommt zum selben Fehler.


    Das ist der Code meines Decoders:





    Ich erhalte folgende Fehlermeldung:



    Java
    W/SoftAAC2: aacDecoder_DecodeFrame decoderErr = 0x4004
    W/SoftAAC2: AAC decoder returned error 0x4004, substituting silence
    I/SoftAAC2: Reconfiguring decoder: 0->48000 Hz, 0->0 channels
    E/AndroidRuntime: FATAL EXCEPTION: Thread-374583


    Wenn ich den Audio Stream in eine Datei speichere ist er abspielbar! Das Problem sollte also nicht beim Empfangen sondern beim Decoder liegen.


    Ich bin für jede Hilfe dankbar ^^

  • Hat der decoder irgendein logging was man aktivieren kann? wenn nicht musst du mal nachschauen was der Fehler 0x4004 bei dem decoder bedeutet. Vermutlich wird er den input nicht interpretieren können vermute ich mal.

  • Die Fehlerbeschreibung lautet: AAC_DEC_DECODE_FRAME_ERROR < The parsed bitstream value is out of range. Most probably the bitstream is corrupt, or the system crashed.
    Also muss irgendetwas an meinem Stream falsch sein, ich hab jedoch keine Ahnung wie ich herausfinden soll was.
    Wie gesagt wenn ich den Stream abspeichere ist er abspielbar. Ich kann auch mit VLC Media Player direkt auf den Stream zugreifen und es funktioniert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!