我正在尝试使用作品前向纠错(FEC)功能。
我有一个使用OPUS_SET_INBAND_FEC(1)进行编码的服务
和带有10ms数据包的OPUS_SET_PACKET_LOSS_PERC(20),并通过UDP发送它们。
我不清楚解码过程。
最佳答案
我设法使它起作用。
问题中说明的编码部分是正确的:
对于解码部分,当数据包丢失时,首先使用fec = 1并再次使用fec = 0 调用下一个数据包的解码功能。
当调用fec = 1的解码时,将完全填充发送的pcm。
如果您不知道pcm应该为的长度,请在解码器OPUS_GET_LAST_PACKET_DURATION(x)上使用,其中x将获取最后一个数据包的持续时间。