У меня есть проект iOS, который воспроизводит онлайн-потоки радио, для воспроизведения используется FFmpeg. Также я добавил способность записывать потоки, декодировать потоки через функцию avcodec_decode_audio4
и записывать вывод в файл .wav
. Но эти файлы слишком большие, потому что это несжатый формат, поэтому я хочу декодировать файлы до .mp3
.FFmpeg сохранить поток в mp3
Я нашел пару способов конвертировать аудио, но только когда звук готов к файлу, но я хочу декодировать в сжатый формат, как только получаю кусок данных из потока, а не готового файла.
Возможно ли это? Можете ли вы мне посоветовать, как это достичь?
ОК, я попробую это. – Sergey92zp
Эти имена относятся к историческим API, которые с тех пор устарели. В какой-то момент появилась функция avcodec_encode_audio() (это «1»), и был изменен прототип функции (возможно, uint8_t * data + int size -> AVPacket pkt), и таким образом родилась avcodec_encode_audio2(), а avcodec_encode_audio() (для совместимости) сохранена и называется avcodec_encode_audio2() внутренне. В конце концов, он был удален, и теперь у вас есть только avcodec_encode_audio2(). –