FFmpeg5开发入门教程19:pcm编码为mp3
索引地址:系列教程索引地址
上一篇:FFmpeg5开发入门教程18:软件解码音频并使用QAudioOutput播放
同视频类似,pcm作为原始音频数据,文件体积太大。所以使用编码器将其在不失真的情况下减少体积。
测试音频信息:
1 |
|
大小为1.9M,格式为MP3。
先用ffmpeg将其转换为pcm格式。
1 |
|
生成的s16le.pcm大小为23.6M。
编码
仿照FFmpeg5开发入门教程12:本地yuv文件编码为h264的代码写pcm2mp3的代码:
打开文件、查找编码器、设置编码器数据、打开编码器部分
1 |
|
设置重采样参数
1 |
|
最为关键的编码每一帧数据的部分:
1 |
|
编码之后的mp3文件大小为1M,这个过程中肯定丢失了一些数据。
比较一下结果文件和源文件:
根据波形来看基本上差不多。
如果需要编码为其他的格式,可以自己调整参数。
完整代码在ffmpeg_beginner中的19.ffmpeg_audio_encode_pcm2mp3
中。
FFmpeg5开发入门教程19:pcm编码为mp3
https://feater.top/ffmpeg/ffmpeg-audio-encode-pcm-to-mp3-with-cpu