/ / Розшифруйте WMA з FFMpeg до PCM - c ++, c, ffmpeg, pcm, wma

Декодування WMA з FFMpeg в PCM - c + +, c, ffmpeg, pcm, wma

Я хочу розшифрувати потік WMA до 16 біт PCM. Тепер у мене є питання щодо FFMpeg - який вихідний формат ..

len = avcodec_decode_audio2 (c, (int16_t *) outbuf, & outbuf_used, inbuf_ptr, розмір);

це правильна функція для цього завдання?

Дякую

Відповіді:

2 для відповіді № 1

Зауваження: спробуйте задати це питання у списку користувачів ffmpeg. Ви обов'язково знайдете там гуру ffmpeg.

В основному я використовую ffmpeg для кодування / декодування відео. Для розшифровки "avcodec_decode_ *" - це правильні речі, які використовуються для ... декодування. Що ви отримуєте - це 16 біт PCM.

Що я маю на увазі, це декодування мультимедійного потокуможе бути складним, і ffmpeg - досить низький рівень ліб. Важко бути точнішим лише за вказаним рядком коду (принаймні, ви повинні бути більш точними щодо своїх параметрів).

Що ви повинні бути обережні, це количитаючи мультимедійний потік, вам потрібно спочатку демуфікувати поток (іноді навіть якщо у вашому контейнері є лише один потік), а потім розшифрувати його правильним кодеком. Якщо ви правильно демуфікували свій потік, правильно ініціалізували контекст кодека / кодека, тоді ви можете зателефонувати на avcodec_decode, і він буде працювати :)

Коли ви згадуєте c ++ у своїх тегах, ви можете спробувати обгортку c ++ для ffmpeg: FOBS Використання набагато простіше, але, звичайно, ви втрачаєте точний контроль ...

Я сподіваюсь, це допомагає.