日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Node.js管理LiveChannel

本文介紹LiveChannel常見操作,例如創建LiveChannel、列舉LiveChannel及刪除LiveChannel等。

創建LiveChannel

通過RTMP協議上傳音視頻數據前,必須先調用該接口創建一個LiveChannel。調用PutLiveChannel接口會返回RTMP推流地址,以及對應的播放地址。

以下代碼用于創建LiveChannel:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

// 填寫LiveChannel名稱,LiveChannel名稱不能包含正斜線(/),例如mychannel。
const cid = 'mychannel';
const conf = {
  // 填寫LiveChannel的描述信息,最大長度不能超過128字節。
  Description: 'this is my channel',
  // 指定LiveChannel的狀態。此處指定為enabled,表示啟用LiveChannel。如需禁用LiveChannel,請將該參數設置為disabled。
  Status: 'enabled',
  Target: {
    // 指定轉儲的類型,目前僅支持HLS。
    Type: 'HLS',
    // 指定每個ts文件的時長,單位為秒。
    FragDuration: '10',
    // 當Type為HLS時,指定m3u8文件中包含ts文件的個數。
    FragCount: '5',
    // 當Type為HLS時,指定生成的m3u8文件的名稱。名稱必須以”.m3u8”結尾,長度范圍為6~128字節。
    PlaylistName: 'playlist.m3u8'
  }
};

// 創建LiveChannel。
store.putChannel(cid, conf).then(r=>console.log(r))

獲取LiveChannel信息

以下代碼用于獲取指定的LiveChannel信息:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

// 填寫LiveChannel名稱
const cid = 'mychannel'; 

// 獲取LiveChannel信息。
store.getChannel(cid).then(r=>console.log(r));

設置LiveChannel狀態

以下代碼用于設置LiveChannel狀態:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

// 填寫LiveChannel名稱。
const cid = 'mychannel';

// LiveChannel分為啟用(enabled)和禁用(disabled)兩種狀態。
// LiveChannel處于disabled狀態時,OSS會禁止您向該LiveChannel進行推流操作。如果您正在向該LiveChannel推流,那么推流的客戶端會被強制斷開(會有10s左右的延遲)。
store.putChannelStatus(cid, 'disabled').then(r=>console.log(r));

獲取LiveChannel狀態信息

以下代碼用于獲取指定LiveChannel的推流狀態信息:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

// 填寫LiveChannel名稱。
const cid = 'mychannel';
// 獲取LiveChannel狀態信息。
store.getChannelStatus(cid).then(r=>console.log(r))

生成LiveChannel播放列表

PostVodPlaylist接口用于為指定的LiveChannel生成一個點播用的播放列表。OSS會查詢指定時間范圍內由該LiveChannel推流生成的ts文件,并將其拼裝為一個m3u8播放列表。

以下代碼用于生成LiveChannel播放列表:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

// 填寫LiveChannel名稱。
const cid = 'mychannel';

const r = await this.store.createVod(cid, 're-play', {
  // 指定查詢ts文件的起始時間,格式為Unix時間戳。
  startTime: 1460464870,
  // 指定查詢ts文件的終止時間,格式為Unix時間戳。
  endTime: 1460465877
  // EndTime必須大于StartTime,且時間跨度不能大于1天。
}).then(r=>console.log(r))

列舉指定的LiveChannel

以下代碼用于列舉指定的LiveChannel:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

const r = await this.store.listChannels({
  // 列舉前綴為'my'的LiveChannel。
  prefix: 'my',
  // 指定返回的LiveChannel的最大個數為3個。
  'max-keys': 3
}).then(r=>console.log(r))

獲取LiveChannel推流記錄

GetLiveChannelHistory接口用于獲取指定LiveChannel的推流記錄。使用GetLiveChannelHistory接口最多會返回指定LiveChannel最近的10次推流記錄。

以下代碼用于獲取LiveChannel推流記錄:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

// 填寫LiveChannel名稱。
const cid = 'mychannel';
// 獲取LiveChannel推流記錄。
store.getChannelHistory(cid).then(r=>console.log(r))

刪除LiveChannel

重要
  • 當有客戶端正在向LiveChannel推流時,刪除請求會失敗。

  • DeleteLiveChannel接口只會刪除LiveChannel本身,不會刪除推流生成的文件。

以下代碼用于刪除指定的LiveChannel:

const OSS = require('ali-oss');

const store = new OSS({
  // yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
  region: 'yourRegion',
  // 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填寫Bucket名稱。
  bucket: 'examplebucket',
})

// 填寫LiveChannel名稱。
const cid = 'mychannel'; 

// 刪除LiveChannel。
store.deleteChannel(cid).then(r=>console.log(r))

相關文檔