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