[Libav-user] How do you encode raw pcm_f32le audio to AAC encoded audio with FFmpeg (C/C++)?

Suhail Doshi suhail at mightyapp.com
Tue Jan 21 05:24:47 EET 2020


On Sun, Jan 19, 2020 at 4:28 PM Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:

> Am Mo., 20. Jan. 2020 um 01:22 Uhr schrieb Suhail Doshi <
> suhail at mightyapp.com>:
>
> > Sure, do you know why ffmpeg cli seems to be able to encode interleaved
> > raw audio but the C API only allows FLTP then?
>
> It (automatically) inserts the aresample filter into the filter chain.
>
> Please find out what top-posting means and avoid it here, Carl Eugen
>

Got it.  So, I tried to resample my FLT audio into FLTP audio as well. I
got a bit stuck.

Here's my code:
https://gist.github.com/Suhail/151e41f3eb226504c7cbd3b46c15729c (I didn't
want to paste it here since it's long where I referenced this code heavily
<https://github.com/FFmpeg/FFmpeg/blob/master/libavresample/avresample.h#L41>
.

What I do, as a test, is I read an entire PCM raw audio file into a buffer
and then send that to the encoder. While the encoder doesn't output an
error, it doesn't seem to output any valid AAC encoded audio either. Even
after a flush, it seems to provide a substantially small amount of
information that's invalid to play.

I also tried sending it packets of raw audio captured from PulseAudio but
received similar results.

Any ideas? I feel like I am missing something fundamental.



> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/libav-user
>
> To unsubscribe, visit link above, or email
> libav-user-request at ffmpeg.org with subject "unsubscribe".
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20200120/20290cf4/attachment.html>


More information about the Libav-user mailing list