使用 OpenTok 直播?
Live Stream With OpenTok?
我正在使用 OpenTok api 进行一对一视频 Conference.Is 以便我可以将其用于实时 stream.So 在我的情况下 只有一个用户会发布会话中的流和其他所有用户都将连接到该流。
但是它需要为每个流添加发布者元素,所以如何在不发布流的情况下连接到单个用户。
如果解决方案有示例,我将不胜感激。
您只需要为 "publishing user" 和所有其他用户提供 2 个不同的脚本(在 2 个不同的页面上)。
"publishing user" 将具有连接到会话然后发布流的代码。示例:
var session = OT.initSession(apiKey, sessionId);
var publisher = OT.initPublisher('publisher', function(error) {
if (error) return alert('please reload and allow permission for your camera and mic');
session.connect(token, function(error) {
if (error) return alert('session connection error: ' + error.message);
session.publish(publisher);
});
);
所有其他用户都将拥有连接到会话并订阅流的代码。示例:
var session = OT.initSession(apiKey, sessionId);
session.on('streamCreated', function(event) {
session.subscribe(event.stream, 'subscriber', function(error) {
if (error) return alert('stream subscriber error:' + error.message);
});
});
session.connect(token, function(error) {
if (error) return alert('session connection error: ' + error.message);
});
此外,请注意,与许多用户的会话应为 mediaMode="routed",以帮助提高质量。即使使用路由会话,拥有太多具有广泛连接性(带宽、延迟、解码能力)的订阅者也会对流的质量产生负面影响。如果您的会话超过 30 个订阅者,您应该联系 TokBox 支持以帮助您调整设置以扩展会话。
我正在使用 OpenTok api 进行一对一视频 Conference.Is 以便我可以将其用于实时 stream.So 在我的情况下 只有一个用户会发布会话中的流和其他所有用户都将连接到该流。
但是它需要为每个流添加发布者元素,所以如何在不发布流的情况下连接到单个用户。
如果解决方案有示例,我将不胜感激。
您只需要为 "publishing user" 和所有其他用户提供 2 个不同的脚本(在 2 个不同的页面上)。
"publishing user" 将具有连接到会话然后发布流的代码。示例:
var session = OT.initSession(apiKey, sessionId);
var publisher = OT.initPublisher('publisher', function(error) {
if (error) return alert('please reload and allow permission for your camera and mic');
session.connect(token, function(error) {
if (error) return alert('session connection error: ' + error.message);
session.publish(publisher);
});
);
所有其他用户都将拥有连接到会话并订阅流的代码。示例:
var session = OT.initSession(apiKey, sessionId);
session.on('streamCreated', function(event) {
session.subscribe(event.stream, 'subscriber', function(error) {
if (error) return alert('stream subscriber error:' + error.message);
});
});
session.connect(token, function(error) {
if (error) return alert('session connection error: ' + error.message);
});
此外,请注意,与许多用户的会话应为 mediaMode="routed",以帮助提高质量。即使使用路由会话,拥有太多具有广泛连接性(带宽、延迟、解码能力)的订阅者也会对流的质量产生负面影响。如果您的会话超过 30 个订阅者,您应该联系 TokBox 支持以帮助您调整设置以扩展会话。