什么是;useinbandfec是一个单向仅接收参数;在作品中是什么意思? 我试图在C++中实现一个OPU代码转换器,并且我有一些概念性的问题。 至于useinbandfec参数,我不太理解“单向仅接收参数”的含义,如中所述:
“useinbandfec”参数仅为单向接收 参数 例如,爱丽丝正在给鲍勃打电话。Alice使用useinbandfec=1的Opus编解码器,而Bob不使用Opus。因此,两者之间应该有一个Opus转码器。如果是,如何配置Opus编码器和解码器的设置 对于Alice->Bob,其中需要什么是;useinbandfec是一个单向仅接收参数;在作品中是什么意思? 我试图在C++中实现一个OPU代码转换器,并且我有一些概念性的问题。 至于useinbandfec参数,我不太理解“单向仅接收参数”的含义,如中所述:,c++,audio,codec,opus,C++,Audio,Codec,Opus,“useinbandfec”参数仅为单向接收 参数 例如,爱丽丝正在给鲍勃打电话。Alice使用useinbandfec=1的Opus编解码器,而Bob不使用Opus。因此,两者之间应该有一个Opus转码器。如果是,如何配置Opus编码器和解码器的设置 对于Alice->Bob,其中需要opus\u decode(),第五个参数(fecFlag)应该发送什么值?对于需要Opus编码器的Bob->Alice,在Opus\u encoder\u ctl()中的Opus\u SET\u INBAND\
opus\u decode()
,第五个参数(fecFlag)应该发送什么值?对于需要Opus编码器的Bob->Alice,在Opus\u encoder\u ctl()中的Opus\u SET\u INBAND\u FEC()
应该发送什么值
谢谢大家! 在BANDFEC中使用的参数
此参数意味着编码器将附加信息放入流以恢复丢失的数据包。它是如何工作的,当编码器对数字N+1数据包进行编码时,它会在那个里添加一些关于数据包N的信息,若它支持恢复,那个么这些信息对解码器是有用的
若解码器不支持恢复,那个么这些信息是无用的,浪费带宽
单向仅接收参数含义
这意味着,若您在会话描述符(SDP)中指定它,那个么该参数描述了接收方的能力,并建议发送方使用或不使用入站FEC
问题:
1
例如,爱丽丝正在给鲍勃打电话。Alice使用Opus编解码器和
useinbandfec=1,而Bob不使用Opus。因此,应该有
两者之间的作品转码器。如果是,我如何配置
Opus编码器和解码器的设置
在这种配置中,您需要Alice和Bob之间的转码器。如果转码器支持FEC,您可能更愿意将useinbandfec=1包含到SDP fmtp属性中。如果编码器(Alice设备上的发送方)也在您的控制之下,您可以在以下条件下设置ask encoder以向流添加FEC:
- 网络损失(可由RTCP检测)
- 转码器对其进行解码的能力(可从SDP参数得知)
2
对于Alice->Bob,其中需要opus_decode(),应该是什么值
是否作为第五个参数(fecFlag)发送
当检测到数据包丢失时(例如通过RTP序列号),使用opus_解码FEC标志。假设您接收到数据包N,并且N-1数据包丢失。然后,您可以通过调用opus_decode(FECSFLAG设置为true)恢复数据包N-1,然后对数据包N进行解码:
packets[N-1] = decode_opus(pktN, fecFlag=true)
packets[N] = decode_opus(pktN, fecFlag=false)
3
至于Bob->Alice,需要Opus编码器的地方,值多少
是否应与OPUS_编码器中的OPUS_SET_INBAND_FEC()一起发送
OPUS\u SET\u INBAND\u FEC最好设置从Alice SDP检索的useinbandfec参数。还要注意,除非您未设置BandFEC中使用的参数,否则FEC不会包括在编码流中
此参数意味着编码器将附加信息放入流以恢复丢失的数据包。它是如何工作的,当编码器对数字N+1数据包进行编码时,它会在那个里添加一些关于数据包N的信息,若它支持恢复,那个么这些信息对解码器是有用的
若解码器不支持恢复,那个么这些信息是无用的,浪费带宽
单向仅接收参数含义
这意味着,若您在会话描述符(SDP)中指定它,那个么该参数描述了接收方的能力,并建议发送方使用或不使用入站FEC
问题:
1
例如,爱丽丝正在给鲍勃打电话。Alice使用Opus编解码器和
useinbandfec=1,而Bob不使用Opus。因此,应该有
两者之间的作品转码器。如果是,我如何配置
Opus编码器和解码器的设置
在这种配置中,您需要Alice和Bob之间的转码器。如果转码器支持FEC,您可能更愿意将useinbandfec=1包含到SDP fmtp属性中。如果编码器(Alice设备上的发送方)也在您的控制之下,您可以在以下条件下设置ask encoder以向流添加FEC:
- 网络损失(可由RTCP检测)
- 转码器对其进行解码的能力(可从SDP参数得知)
2
对于Alice->Bob,其中需要opus_decode(),应该是什么值
是否作为第五个参数(fecFlag)发送
当检测到数据包丢失时(例如通过RTP序列号),使用opus_解码FEC标志。假设您接收到数据包N,并且N-1数据包丢失。然后,您可以通过调用opus_decode(FECSFLAG设置为true)恢复数据包N-1,然后对数据包N进行解码:
packets[N-1] = decode_opus(pktN, fecFlag=true)
packets[N] = decode_opus(pktN, fecFlag=false)
3
至于Bob->Alice,需要Opus编码器的地方,值多少
是否应与OPUS_编码器中的OPUS_SET_INBAND_FEC()一起发送
OPUS\u SET\u INBAND\u FEC最好设置从Alice SDP检索的useinbandfec参数。另外,请注意,除非您未设置FEC,否则FEC不会包含在编码流中。如果启用了FEC,问题2中的FEC标志不应该反过来吗?当解码pktN-1时,我们经过785行,当解码pktN时,我们经过781行?opus_的演示代码非常混乱。我认为,将FEC添加到后续数据包中的说法很好地证明了您需要数据包N FEC数据来恢复数据包N-1:但如果您不相信您可以向OPUS demo添加一些打印内容,并检查它在启用FEC时的工作方式,那么问题2中的FEC标志不应该反过来吗?当解码pktN-1时,我们经过785行,当解码pktN时,我们经过781行?opus_的演示代码非常混乱。我认为将FEC添加到后续数据包的声明是您需要的一个很好的证明