audio - libopus 在 windows 和 linux 上产生不同的结果
问题描述
我正在使用 libopus 将pcm
输入文件编码为bit
比特流。这个过程很平凡:
- 创建编码器:调用
opus_encoder_create
pcm
通过读取特定帧大小的块并使用对它们进行编码来循环输入文件(以二进制模式)opus_encode
- 将编码输出逐块写入比特流文件
由于我正在控制以下参数中的每个人:
- 采样率(从调用到
opus_encoder_create
) - 语音通道(从 call 到
opus_encoder_create
) - 应用程序类型(从调用到
opus_encoder_create
) - 比特率(从调用到
opus_encoder_ctl
) - 帧大小
我想知道为什么Linux(clang 和 Ubuntu)和 windows(VS2019 上的 clang 或 cl)上的输出(生成的二进制文件)不同:
- 我应该考虑编码器的更多参数吗?
- 是否存在阻止 libopus 跨平台行为一致的内在差异?
- 是否有已知的工具集可以帮助我检查我的代码?目前,我正在使用带有 GET_BITRATE 等的 ctl 调用来检索已应用于编码器的设置
解决方案
推荐阅读
- azure - Custom_Vision_Prediction_3.0 REST API 给出 401 错误
- azure - 无法让 AzureDiagnostics 的查询正常工作
- python - 是否可以使用一种型号的 GPU 的所有内存?
- php - 使用 sudo [UBUNTU 19.04] 时找不到命令
- react-native - 使用 redux 和 react native 获取动态添加的输入的 prop 和 value
- javascript - 使用 servlet 在 Java Web 应用程序中渲染 css 和 js
- python - 如何将数组中的因子分析结果映射到DataFrame?
- c# - 如何正确输出我的列表中的所有成员?
- akka - 为什么 Flink 使用 Akka 进行 rpc?
- sql - 使用 CASE stmt 的 SQL 查询中不针对其他值的字段的 1 个值的计数