我尝试使用opus前向纠错(FEC)功能。 我有一个使用OPUS_SET_INBAND_FEC进行编码的服务(1) 和OPUS_SET_PACKET_LOSS_PERC(20),包含10ms数据包,并通过UDP发送。
我现在还不清楚解码过程。
答案 0 :(得分:2)
我设法让它发挥作用。
问题中所述的编码部分是正确的:
对于解码部分,当数据包丢失时,首先使用fec = 1再次使用fec = 0 调用下一个数据包上的解码函数。
当用fec = 1调用decode时,发送的pcm将被完全填满。 如果你不知道pcm应该在解码器上使用的长度OPUS_GET_LAST_PACKET_DURATION(x),其中x将获得最后一个数据包的持续时间。