76 lines
3.8 KiB
JavaScript
76 lines
3.8 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getPlayBackUrl = exports.getStreamObj = exports.getLivestream = void 0;
|
|
var tslib_1 = require("tslib");
|
|
var getContextConfig_1 = require("./getContextConfig");
|
|
var assert_1 = require("oak-domain/lib/utils/assert");
|
|
/**
|
|
* 创建直播流并生成推拉流地址
|
|
* @param streamTitle 直播流名称
|
|
* @param expireAt 推流过期时间
|
|
* @param context context
|
|
* @returns Livestream 对象
|
|
*/
|
|
function getLivestream(params, context) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var streamTitle, expireAt, origin, _a, instance, config, _b, hub, liveHost, publishDomain, playDomain, playKey, publishKey;
|
|
return tslib_1.__generator(this, function (_c) {
|
|
switch (_c.label) {
|
|
case 0:
|
|
streamTitle = params.streamTitle, expireAt = params.expireAt, origin = params.origin;
|
|
return [4 /*yield*/, (0, getContextConfig_1.getConfig)(context, 'Live', origin)];
|
|
case 1:
|
|
_a = _c.sent(), instance = _a.instance, config = _a.config;
|
|
(0, assert_1.assert)(origin === 'qiniu');
|
|
_b = config, hub = _b.hub, liveHost = _b.liveHost, publishDomain = _b.publishDomain, playDomain = _b.playDomain, playKey = _b.playKey, publishKey = _b.publishKey;
|
|
return [2 /*return*/, instance.getLiveStream(hub, 'POST', streamTitle, liveHost, publishDomain, playDomain, publishKey, playKey, expireAt)];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
exports.getLivestream = getLivestream;
|
|
// 获取推拉流地址
|
|
/**
|
|
* 直播流已存在的情况下,获取推拉流地址
|
|
* @param streamTitle 直播流名称
|
|
* @param expireAt 推流过期时间
|
|
* @param context context
|
|
* @returns livestream对象
|
|
*/
|
|
function getStreamObj(params, context) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var streamTitle, expireAt, origin, _a, instance, config, _b, publishDomain, publishKey, playDomain, playKey, hub;
|
|
return tslib_1.__generator(this, function (_c) {
|
|
switch (_c.label) {
|
|
case 0:
|
|
streamTitle = params.streamTitle, expireAt = params.expireAt, origin = params.origin;
|
|
return [4 /*yield*/, (0, getContextConfig_1.getConfig)(context, 'Live', origin)];
|
|
case 1:
|
|
_a = _c.sent(), instance = _a.instance, config = _a.config;
|
|
(0, assert_1.assert)(origin === 'qiniu');
|
|
_b = config, publishDomain = _b.publishDomain, publishKey = _b.publishKey, playDomain = _b.playDomain, playKey = _b.playKey, hub = _b.hub;
|
|
return [2 /*return*/, instance.getStreamObj(publishDomain, playDomain, hub, publishKey, playKey, streamTitle, expireAt)];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
exports.getStreamObj = getStreamObj;
|
|
// 生成直播回放
|
|
function getPlayBackUrl(params, context) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var streamTitle, start, end, origin, _a, config, instance, _b, hub, playBackDomain, liveHost;
|
|
return tslib_1.__generator(this, function (_c) {
|
|
switch (_c.label) {
|
|
case 0:
|
|
streamTitle = params.streamTitle, start = params.start, end = params.end, origin = params.origin;
|
|
return [4 /*yield*/, (0, getContextConfig_1.getConfig)(context, 'Live', origin)];
|
|
case 1:
|
|
_a = _c.sent(), config = _a.config, instance = _a.instance;
|
|
_b = config, hub = _b.hub, playBackDomain = _b.playBackDomain, liveHost = _b.liveHost;
|
|
return [2 /*return*/, instance.getPlayBackUrl(hub, playBackDomain, streamTitle, start, end, 'POST', liveHost)];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
exports.getPlayBackUrl = getPlayBackUrl;
|