libopus在Windows和Linux上产生不同的结果

时间:2019-10-30 13:24:18

标签: audio audio-streaming opus

我正在使用libopus将pcm输入文件编码为bit比特流。这个过程很普通:

  1. 创建编码器:调用opus_encoder_create
  2. 通过读取特定帧大小的块并使用pcm对其进行编码,以遍历输入opus_encode文件(二进制模式)
  3. 将编码后的输出逐块写入比特流文件

由于我要控制以下每个参数:

  • 采样率(从通话到opus_encoder_create
  • 语音渠道(从通话到opus_encoder_create
  • 应用程序类型(从调用到opus_encoder_create
  • 比特率(从通话到opus_encoder_ctl
  • 框架大小

我想知道为什么为什么输出(生成的二进制文件)不同在Linux(clang和Ubuntu)和Windows(VS2019上为clang或cl)上:

  • 我应该考虑编码器的更多参数吗?
  • 是否存在阻止libopus跨平台一致运行的内在差异?
  • 是否有一个已知的工具集可以帮助我检查代码?目前,我正在使用带有GET_BITRATE等的ctl调用来检索已应用于编码器的设置

0 个答案:

没有答案