如何录制wertc编码的音频流(C++)

问题描述 投票:0回答:1

如标题,我现在准备使用webrtc在服务器端录制音频数据,但是发现无法获取编码后的opus音频数据。另一个问题是webrtc AudioSink::OnData Sample_rate 是动态的。比如我现在遇到的问题是一开始是16000,然后是48000

我通过webrtc::VideoTrackInterface::AddEncodedSink实现了视频录制,但在音轨上找不到类似的接口...

我将AudioSink添加到音轨中,但是当webrtc调用AudioSink::OnData时,我发现sample_rate参数从一开始的16000变成了一段时间后的48000

c++ visual-c++ webrtc
1个回答
0
投票

解决方案:https://groups.google.com/g/discuss-webrtc/c/tkKj4_ELQSc 1、在Track上设置DepacketizerToDecoderFrameTransformer: rtc::scoped_refptrwebrtc::RtpReceiverInterface 接收器 = 收发器->接收器(); 接收器->SetDepacketizerToDecoderFrameTransformer(transformer);

2、解码器解析payload && 将webrtc::AudioDecoder::EncodedAudioFrame保存到文件(通过ffmpeg)

© www.soinside.com 2019 - 2024. All rights reserved.