本文主要介绍在 Web 中开启大小流传输的功能。如需使用大小流功能,需要将 SDK 升级至 1.0.17 版本。
1.0.17
const result = BRTC.isSmallStreamSupported() if (!result) { alert("当前浏览器不支持大小流。") }
enableSmallStream
// 在 publish 之前开启 await client.enableSmallStream(); // 本地流初始化成功 await localStream.init(); // 发布本地流 await client.publish(localStream);
// 观看端主动将订阅的视频流设置为小流 client.setRemoteVideoStreamType(remoteStream, 'small');
iOS 和 微信 环境下不支持开启大小流
const result = BRTC.isSmallStreamSupported() if (!result) { alert('当前浏览器不支持大小流。') } `
开启大小流模式后, publish 之前可以对 track 进行操作(包括 addTrack / removeTrack / replaceTrack), publish 之后不可以对 track 进行操作,否则会导致大流和小流的表现不一致
// 在 publish 之前开启 await client.enableSmallStream(); // 本地流初始化成功 await localStream.init(); // Good: 发布前可以对 track 进行操作 await localStream.replaceTrack(newVideoTrack); // 发布本地流 await client.publish(localStream); // Bad: 发布后不可以对 track 进行操作 // await localStream.replaceTrack(newVideoTrack);
await client.unpublish(remoteStream); // 必须在发布前或者结束发布之后调用 await client.disableSmallStream();
enableSmallStream 和 setSmallStreamProfile 两个方法在 publish 之前调用,调用顺序不影响其功能
client.setSmallStreamProfile({ width: 160, height: 120, bitrate: 100, frameRate: 15 });
big
small
client.setRemoteVideoStreamType(remoteStream, 'small');
setSmallStreamProfile
publish
setRemoteVideoStreamType
stream-subscribed
开启大小流
本文主要介绍在 Web 中开启大小流传输的功能。如需使用大小流功能,需要将 SDK 升级至
1.0.17
版本。前提条件
实现步骤
Step 1:开启大小流
enableSmallStream
方法开启双流模式Step 2:观看端将远端流切换为小流
API说明
BRTC.isSmallStreamSupported()
iOS 和 微信 环境下不支持开启大小流
Client.enableSmallStream()
开启大小流模式后, publish 之前可以对 track 进行操作(包括 addTrack / removeTrack / replaceTrack), publish 之后不可以对 track 进行操作,否则会导致大流和小流的表现不一致
Client.disableSmallStream()
Client.setSmallStreamProfile(params)
enableSmallStream 和 setSmallStreamProfile 两个方法在 publish 之前调用,调用顺序不影响其功能
Client.setRemoteVideoStreamType(remoteStream, type)
big
手动切换为大流small
为手动切换成小流big
手动切换为大流small
为手动切换成小流常见问题
enableSmallStream
和setSmallStreamProfile
两个方法在publish
之前调用,调用顺序不影响其功能setRemoteVideoStreamType
:stream-subscribed
回调里,立刻将远端大流切换成小流setRemoteVideoStreamType
切换成小流setRemoteVideoStreamType
切换成大流