В настоящее время я работаю над инструментом для преобразования игровых медиаресурсов из нескольких проприетарных форматов и преобразования их в более открытые форматы. Я пытаюсь использовать библиотеку libav http://libav.org/ для декодирования из формата WAV, mp3, ect в необработанный PCM std::vector<char>
(сделано успешно), а затем закодировать его в ogg vorbis. Я пытаюсь использовать api-example.c
в документации. https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/decoding_encoding.c, но почти не продвинулся, так как я застрял там, где заканчивается генерация тона и начинается кодирование AVPacket.
Может ли кто-нибудь указать мне рабочий пример кодирования звука из необработанного файла PCM (или std::vector
), который записывает в файл (предпочтительно ogg vorbis)?