Frage

Ich möchte einen WMA-Stream zu 16 Bit PCM dekodieren. Jetzt habe ich eine Frage über FFMpeg- was das Ausgabeformat ist ..

len = avcodec_decode_audio2(c, (int16_t *)outbuf, &outbuf_used, inbuf_ptr, size);

ist dies die richtige Funktion für diese Aufgabe?

Danke

War es hilfreich?

Lösung

Eine Bemerkung: versuchen, diese Frage auf ffmpeg-Benutzerliste zu stellen. Sie werden sicherlich ffmpeg Gurus dort finden.

ich hauptsächlich ffmpeg verwenden, um Encoder / Decoder-Video. Zu entschlüsseln, die „avcodec_decode_ *“ sind die richtigen Dinge zu verwenden, für ... Decodierung. Was man bekommt, ist ... 16 Bit-PCM.

Was ich meine ist, dass ein Multimedia-Stream decodiert kann tückisch sein und ffmpeg ist ein ziemlich niedriges Niveau lib. Es ist schwer, genauer zu sein nur mit dem Codezeile Sie geben (zumindest sollten Sie über Ihre Parameter genauer sein).

Was sollten Sie vorsichtig sein, ist, dass, wenn Multimedia-Stream zu lesen, müssen Sie zuerst demuxt streamen (manchmal auch wenn es nur einen Strom in Ihrem Container ist) und dann mit dem richtigen Codec zu entschlüsseln. Wenn Sie richtig haben Ihren Stream demuxed, initialisiert die korrekte Schreibweise Ihrer Codec / codec Kontext, dann können Sie rufen avcodec_decode und es wird Werke:)

Wie Sie c erwähnen ++ in Ihre Tags, können Sie eine c ++ versuchen Verpackung für ffmpeg: FOBS Die Verwendung ist viel einfacher, aber natürlich, verlieren Sie eine genaue Kontrolle ...

Ich hoffe, es hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top