我正在尝试在React本地移动应用程序中通过Agora.io实现实况广播。我以前已经成功地实现了视频呼叫。我已经通过文档,比较和对比视频通话现场直播(都是web )。我只能在客户端的模式上找到一个区别,它对应于react本机sdk中的channelProfile。在文档中,它说有三种不同的模式:通信、现场广播和游戏。当我实现视频调用时,我为channelProfile的值分配了1,它工作得很好,质量已经足够好了。然而,当我为channelProfile分配2以表示它是实况广播时,质量就会严重下降。在实施直播时,我做错了什么吗?如何提高现场直播的质量?为便于考虑,我将我的代码放在下面:
const config = {
appid: 'MY APP ID',
channelProfile: this.props.navigation.getParam('channelProfile', 2),
clientRole: this.props.navigation.getParam('clientRole', 1),
videoEncoderConfig: {
width: 360,
height: 480,
bitrate: 1,
frameRate: FPS30,
orientationMode: Adaptative,
},
audioProfile: AudioProfileDefault,
audioScenario: AudioScenarioDefault
}
RtcEngine.on('userJoined', (data) => {
console.warn("user joined", data);
const { peerIds } = this.state;
if (peerIds.indexOf(data.uid) === -1) {
this.setState({
peerIds: [...this.state.peerIds, data.uid]
})
}
})
RtcEngine.on('error', (error) => {
console.warn("error", error);
})
RtcEngine.init(config);发布于 2020-03-25 03:59:46
在Agora的SDK中,曾经有三种信道模式,但最近游戏SDK已经与本地SDK相结合,因此只有两种信道模式,即communication和broadcast。
每个模式在通道内部和流内部为不同的质量进行优化。对于广播,文档提到在使用默认比特率时,broadcast模式使用的比特率是communication的两倍。
如果您有质量问题,您应该考虑更改您的比特率,目前您的代码正在将比特率设置为非常低的1。Agora提供了建议的分辨率配置文件、fps和比特率的列表。
https://stackoverflow.com/questions/60827337
复制相似问题