avcodec_send_frame返回-22,帧大小太大

来源:8-11 代码优化3

慕苞米地里吃过亏

2024-03-18

超哥,按照你的代码,我windows电脑mic采集到的数据帧大小是88200,并且位深为s16的,也就说单通道每个音频帧采样数量88200/2/2=22050,但是aac编码器期望的帧大小是2048,s16,我该如何重采样呢?采样数量为22050,重采样缓冲区就会撑爆,如果按照22050这样样本数量,av_frame_send就会返回22,提示样本size大于编码器期望的

写回答

1回答

李超

2024-03-18

首选你需要用ffmpeg 命令看一下你的数据是否采样率是44100,如果不是你还需要重采样。其次fdk_aac 每帧需要的大小是2048,你的数据量大就切成2048大小的数据送编码器,知道所有的数据用完

0
6
邓丹俊
回复
幕布斯4413577
回复 幕布斯4413577:使用av_audio_fifo即可轻松分包
2024-12-19
共6条回复

音视频小白系统入门课 音视频基础+ffmpeg原理

掌握音视频采集、编解码、RTMP传输协议等核心基础

2318 学习 · 813 问题

查看课程