linux下重采样的问题

来源:8-4 创建AAC编码器1

慕仰3341976

2021-11-04

老师:
1.我的Linux下每次采样的包pkt.size = 64,那我单通道采样个数,怎么计算?
2.然后,linux系统好像输入采样格式也是:AV_SAMPLE_FMT_S16吧?
3.swr_convert(swr_ctx, //重采样的上下文
dst_data, //输出结果的缓冲区
??, //每个通道的采样数
(const uint8_t **)src_data, //输入的缓冲区
??); //输入单个通道的采样数
这个问号是填多少?我填了:64/2/2=16,好像不对,重采样后,播放一直是一个高频的声音

请老师指点一下,谢谢

写回答

1回答

李超

2021-11-04

64数据太少了,无法重采样,你要把他们先缓冲起来,比如攒到1024或2048 再进行重采样

0
11
小方工
回复
慕仰3341976
linux先将每一帧64字节,用buffer缓存起来,到2048或4096之后,再拷贝给到src_data[0],后面就都一样了
2022-05-22
共11条回复

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

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

2318 学习 · 813 问题

查看课程