在输入和输出之间使用不同数量的样本对音频ffmpegc++进行编码
encode audio ffmpeg c++ with different number of samples between input and output
我正在尝试制作一个音频编码器来对直播流进行编码。我从webrtc源获取音频流。源音频缓冲区的属性是(我无法更改它):
number of samples: 480
sample size: 2 bytes
sample rate: 44100Hz
number of channels: 1
我正在使用MP2编解码器对音频进行编码。它预计音频样本数为1152(不能改变),这与源(480)不同
我使用生成音频帧
frame->nb_samples = 480;
avcodec_fill_audio_frame(frame, nb_channels(=1), sample_fmt(=AVCodecContext sample_fmt), temp_audio_buffer(=source), 480, 0);
我听到一个"剁碎"的声音。据我所知,这是因为每帧中样本数量的差异。
有没有办法以某种方式填充整个帧(1152个样本)?我能对这个直播流进行编码吗?
感谢
填充缓冲区,直到您拥有必要数量的样本,然后对缓冲区进行编码。使用余数启动下一个缓冲区。
相关文章:
- 用c++阅读音频
- 为什么这个音频包络不能通过开关的情况?
- FFMpeg库:如何在音频文件中精确查找
- 如何测量一个音频样本中的低音量
- 在QtMultimedia的QAudioFormat中为24位,32位和64位音频选择哪种样本类型(而不是大小)?
- webRTC : 如何通过从WAV文件获得的样本将webRTC的VAD应用于音频
- 是否可以从SFML中的音频样本中左右通道分开
- 为什么 SDL2 为音频样本提供的缓冲区不够大
- 如何将音频字节转换为样本
- 将 16 位音频样本转换为字符
- 端口音频仅取一个样本
- MF SinkWriter mp4文件的播放持续时间是添加音频样本时的一半,图像的播放速度也是添加音频样本的两倍
- 使用ExtAudioFileWrite for iOS将音频样本的缓冲区写入aac文件
- 音频样本的FFT处理
- 在输入和输出之间使用不同数量的样本对音频ffmpegc++进行编码
- ffmpeg-用音频样本填充音频帧
- ffmpeg:音频样本的端序
- 从字节数组中获取音频样本
- FFMPEG音频解码:从短到浮点样本缓冲区的有效转换
- 识别文件中的音频样本