# frozen_string_literal: true
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require 'json'
module TencentCloud
module Live
module V20180801
class Client < TencentCloud::Common::AbstractClient
def initialize(credential, region, profile = nil)
api_version = '2018-08-01'
api_endpoint = 'live.tencentcloudapi.com'
sdk_version = 'LIVE_' + File.read(File.expand_path('../VERSION', __dir__)).strip
super(credential, region, api_version, api_endpoint, sdk_version, profile)
end
# 针对大型活动直播,通过对直播流设置延时来控制现场与观众播放画面的时间间隔,避免突发状况造成影响。
# 注意:如果在推流前设置延播,需要提前5分钟设置,目前该接口只支持流粒度。
# @param request: Request instance for AddDelayLiveStream.
# @type request: :class:`Tencentcloud::live::V20180801::AddDelayLiveStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::AddDelayLiveStreamResponse`
def AddDelayLiveStream(request)
body = send_request('AddDelayLiveStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = AddDelayLiveStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 添加域名,一次只能提交一个域名。域名必须已备案。
# @param request: Request instance for AddLiveDomain.
# @type request: :class:`Tencentcloud::live::V20180801::AddLiveDomainRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::AddLiveDomainResponse`
def AddLiveDomain(request)
body = send_request('AddLiveDomain', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = AddLiveDomainResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 添加水印,成功返回水印 ID 后,需要调用[CreateLiveWatermarkRule](/document/product/267/32629)接口将水印 ID 绑定到流使用。 水印数量上限 100,超过后需要先删除,再添加。
# @param request: Request instance for AddLiveWatermark.
# @type request: :class:`Tencentcloud::live::V20180801::AddLiveWatermarkRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::AddLiveWatermarkResponse`
def AddLiveWatermark(request)
body = send_request('AddLiveWatermark', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = AddLiveWatermarkResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 验证用户是否拥有特定直播域名。
# @param request: Request instance for AuthenticateDomainOwner.
# @type request: :class:`Tencentcloud::live::V20180801::AuthenticateDomainOwnerRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::AuthenticateDomainOwnerResponse`
def AuthenticateDomainOwner(request)
body = send_request('AuthenticateDomainOwner', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = AuthenticateDomainOwnerResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来取消混流。用法与 mix_streamv2.cancel_mix_stream 基本一致。
# @param request: Request instance for CancelCommonMixStream.
# @type request: :class:`Tencentcloud::live::V20180801::CancelCommonMixStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CancelCommonMixStreamResponse`
def CancelCommonMixStream(request)
body = send_request('CancelCommonMixStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CancelCommonMixStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来创建通用混流。用法与旧接口 mix_streamv2.start_mix_stream_advanced 基本一致。
# 注意:当前最多支持16路混流。
# 最佳实践:https://cloud.tencent.com/document/product/267/45566
# @param request: Request instance for CreateCommonMixStream.
# @type request: :class:`Tencentcloud::live::V20180801::CreateCommonMixStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateCommonMixStreamResponse`
def CreateCommonMixStream(request)
body = send_request('CreateCommonMixStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateCommonMixStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建回调规则,需要先调用[CreateLiveCallbackTemplate](/document/product/267/32637)接口创建回调模板,将返回的模板id绑定到域名/路径进行使用。
#
回调协议相关文档:[事件消息通知](/document/product/267/32744)。
# @param request: Request instance for CreateLiveCallbackRule.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveCallbackRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveCallbackRuleResponse`
def CreateLiveCallbackRule(request)
body = send_request('CreateLiveCallbackRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveCallbackRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建回调模板,数量上限:50,成功返回模板id后,需要调用[CreateLiveCallbackRule](/document/product/267/32638)接口将模板 ID 绑定到域名/路径使用。
#
回调协议相关文档:[事件消息通知](/document/product/267/32744)。
# 注意:至少填写一个回调 URL。
# @param request: Request instance for CreateLiveCallbackTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveCallbackTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveCallbackTemplateResponse`
def CreateLiveCallbackTemplate(request)
body = send_request('CreateLiveCallbackTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveCallbackTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建直播垫片规则。
# @param request: Request instance for CreateLivePadRule.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLivePadRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLivePadRuleResponse`
def CreateLivePadRule(request)
body = send_request('CreateLivePadRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLivePadRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建直播垫片模板。
# @param request: Request instance for CreateLivePadTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLivePadTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLivePadTemplateResponse`
def CreateLivePadTemplate(request)
body = send_request('CreateLivePadTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLivePadTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建直播拉流任务。支持将外部已有的点播文件,或者直播源拉取过来转推到指定的目标地址。
# 注意:
# 1. 默认支持任务数上限200个,如有特殊需求,可通过提单到售后进行评估增加上限。
# 2. 源流视频编码目前只支持: H264, H265。其他编码格式建议先进行转码处理。
# 3. 源流音频编码目前只支持: AAC。其他编码格式建议先进行转码处理。
# 4. 可在控制台开启过期自动清理,避免过期任务占用任务数额度。
# 5. 拉流转推功能为计费增值服务,计费规则详情可参见[计费文档](https://cloud.tencent.com/document/product/267/53308)。
# 6. 拉流转推功能仅提供内容拉取与推送服务,请确保内容已获得授权并符合内容传播相关的法律法规。若内容有侵权或违规相关问题,云直播会停止相关的功能服务并保留追究法律责任的权利。
# @param request: Request instance for CreateLivePullStreamTask.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLivePullStreamTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLivePullStreamTaskResponse`
def CreateLivePullStreamTask(request)
body = send_request('CreateLivePullStreamTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLivePullStreamTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# - 使用前提
# 1. 录制文件存放于点播平台,所以用户如需使用录制功能,需首先自行开通点播服务。
# 2. 录制文件存放后相关费用(含存储以及下行播放流量)按照点播平台计费方式收取,具体请参考 [对应文档](https://cloud.tencent.com/document/product/266/2838)。
# - 模式说明
# 该接口支持两种录制模式:
# 1. 定时录制模式【默认模式】。
# 需要传入开始时间与结束时间,录制任务根据起止时间自动开始与结束。在所设置结束时间过期之前(且未调用StopLiveRecord提前终止任务),录制任务都是有效的,期间多次断流然后重推都会启动录制任务。
# 2. 实时视频录制模式。
# 忽略传入的开始时间,在录制任务创建后立即开始录制,录制时长支持最大为30分钟,如果传入的结束时间与当前时间差大于30分钟,则按30分钟计算,实时视频录制主要用于录制精彩视频场景,时长建议控制在5分钟以内。
# - 注意事项
# 1. 调用接口超时设置应大于3秒,小于3秒重试以及按不同起止时间调用都有可能产生重复录制任务,进而导致额外录制费用。
# 2. 受限于音视频文件格式(FLV/MP4/HLS)对编码类型的支持,视频编码类型支持 H.264,音频编码类型支持 AAC。
# 3. 为避免恶意或非主观的频繁 API 请求,对定时录制模式最大创建任务数做了限制:其中,当天可以创建的最大任务数不超过4000(不含已删除的任务);当前时刻并发运行的任务数不超过400。有超出此限制的需要提工单申请。
# 4. 此调用方式暂时不支持海外推流录制。
# @param request: Request instance for CreateLiveRecord.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveRecordRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveRecordResponse`
def CreateLiveRecord(request)
body = send_request('CreateLiveRecord', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveRecordResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建录制规则,需要先调用[CreateLiveRecordTemplate](/document/product/267/32614)接口创建录制模板,将返回的模板id绑定到流使用。
#
录制相关文档:[直播录制](/document/product/267/32739)。
# @param request: Request instance for CreateLiveRecordRule.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveRecordRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveRecordRuleResponse`
def CreateLiveRecordRule(request)
body = send_request('CreateLiveRecordRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveRecordRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建录制模板,数量上限:50,成功返回模板id后,需要调用[CreateLiveRecordRule](/document/product/267/32615)接口,将模板id绑定到流进行使用。
#
录制相关文档:[直播录制](/document/product/267/32739)。
# @param request: Request instance for CreateLiveRecordTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveRecordTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveRecordTemplateResponse`
def CreateLiveRecordTemplate(request)
body = send_request('CreateLiveRecordTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveRecordTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建截图规则,需要先调用[CreateLiveSnapshotTemplate](/document/product/267/32624)接口创建截图模板,然后将返回的模板 ID 绑定到流进行使用。
#
截图相关文档:[直播截图](/document/product/267/32737)。
# 注意:单个域名仅支持关联一个截图模板。
# @param request: Request instance for CreateLiveSnapshotRule.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveSnapshotRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveSnapshotRuleResponse`
def CreateLiveSnapshotRule(request)
body = send_request('CreateLiveSnapshotRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveSnapshotRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建截图模板,数量上限:50,成功返回模板id后,需要调用[CreateLiveSnapshotRule](/document/product/267/32625)接口,将模板id绑定到流使用。
#
截图相关文档:[直播截图](/document/product/267/32737)。
# @param request: Request instance for CreateLiveSnapshotTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveSnapshotTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveSnapshotTemplateResponse`
def CreateLiveSnapshotTemplate(request)
body = send_request('CreateLiveSnapshotTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveSnapshotTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来创建直播流监播任务。
# @param request: Request instance for CreateLiveStreamMonitor.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveStreamMonitorRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveStreamMonitorResponse`
def CreateLiveStreamMonitor(request)
body = send_request('CreateLiveStreamMonitor', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveStreamMonitorResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建直播时移规则,需要先调用[CreateLiveTimeShiftTemplate](/document/product/267/86169)接口创建直播时移模板,将返回的模板id绑定到流使用。
#
直播时移相关文档:[直播时移](/document/product/267/86134)。
# @param request: Request instance for CreateLiveTimeShiftRule.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveTimeShiftRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveTimeShiftRuleResponse`
def CreateLiveTimeShiftRule(request)
body = send_request('CreateLiveTimeShiftRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveTimeShiftRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建直播时移模板。
# @param request: Request instance for CreateLiveTimeShiftTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveTimeShiftTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveTimeShiftTemplateResponse`
def CreateLiveTimeShiftTemplate(request)
body = send_request('CreateLiveTimeShiftTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveTimeShiftTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建转码规则,数量上限:50,需要先调用[CreateLiveTranscodeTemplate](/document/product/267/32646)接口创建转码模板,将返回的模板id绑定到流使用。
#
转码相关文档:[直播转封装及转码](/document/product/267/32736)。
# @param request: Request instance for CreateLiveTranscodeRule.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveTranscodeRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveTranscodeRuleResponse`
def CreateLiveTranscodeRule(request)
body = send_request('CreateLiveTranscodeRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveTranscodeRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建转码模板,数量上限:50,成功返回模板id后,需要调用[CreateLiveTranscodeRule](/document/product/267/32647)接口,将返回的模板id绑定到流使用。
#
转码相关文档:[直播转封装及转码](/document/product/267/32736)。
# @param request: Request instance for CreateLiveTranscodeTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveTranscodeTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveTranscodeTemplateResponse`
def CreateLiveTranscodeTemplate(request)
body = send_request('CreateLiveTranscodeTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveTranscodeTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建水印规则,需要先调用[AddLiveWatermark](/document/product/267/30154)接口添加水印,将返回的水印id绑定到流使用。
# @param request: Request instance for CreateLiveWatermarkRule.
# @type request: :class:`Tencentcloud::live::V20180801::CreateLiveWatermarkRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateLiveWatermarkRuleResponse`
def CreateLiveWatermarkRule(request)
body = send_request('CreateLiveWatermarkRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLiveWatermarkRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建临时拉流转推任务,目前限制添加10条任务。
# 该接口已下线,请使用新接口 CreateLivePullStreamTask。
# 注意:该接口用于创建临时拉流转推任务,
# 拉流源地址即 FromUrl 可以是腾讯或非腾讯数据源,
# 但转推目标地址即 ToUrl 目前限制为已注册的腾讯直播域名。
# @param request: Request instance for CreatePullStreamConfig.
# @type request: :class:`Tencentcloud::live::V20180801::CreatePullStreamConfigRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreatePullStreamConfigResponse`
def CreatePullStreamConfig(request)
body = send_request('CreatePullStreamConfig', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreatePullStreamConfigResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建一个在指定时间启动、结束的录制任务,并使用指定录制模板ID对应的配置进行录制。
# - 使用前提
# 1. 录制文件存放于点播平台,所以用户如需使用录制功能,需首先自行开通点播服务。
# 2. 录制文件存放后相关费用(含存储以及下行播放流量)按照点播平台计费方式收取,具体请参考[对应文档](https://cloud.tencent.com/document/product/266/2837)。
# - 注意事项
# 1. 断流会结束当前录制并生成录制文件。在结束时间到达之前任务仍然有效,期间只要正常推流都会正常录制,与是否多次推、断流无关。
# 2. 使用上避免创建时间段相互重叠的录制任务。若同一条流当前存在多个时段重叠的任务,为避免重复录制系统将启动最多3个录制任务。
# 3. 创建的录制任务记录在平台侧只保留3个月。
# 4. 当前录制任务管理API([CreateRecordTask](https://cloud.tencent.com/document/product/267/45983)/[StopRecordTask](https://cloud.tencent.com/document/product/267/45981)/[DeleteRecordTask](https://cloud.tencent.com/document/product/267/45982))与旧API(CreateLiveRecord/StopLiveRecord/DeleteLiveRecord)不兼容,两套接口不能混用。
# 5. 避免 创建录制任务 与 推流 操作同时进行,可能导致因录制任务未生效而引起任务延迟启动问题,两者操作间隔建议大于3秒。
# @param request: Request instance for CreateRecordTask.
# @type request: :class:`Tencentcloud::live::V20180801::CreateRecordTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateRecordTaskResponse`
def CreateRecordTask(request)
body = send_request('CreateRecordTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateRecordTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建一个在指定时间启动、结束的截图任务,并使用指定截图模板ID对应的配置进行截图。
# - 注意事项
# 1. 断流会结束当前截图。在结束时间到达之前任务仍然有效,期间只要正常推流都会正常截图,与是否多次推、断流无关。
# 2. 使用上避免创建时间段相互重叠的截图任务。若同一条流当前存在多个时段重叠的任务,为避免重复系统将启动最多3个截图任务。
# 3. 创建的截图任务记录在平台侧只保留3个月。
# 4. 当前截图任务管理API(CreateScreenshotTask/StopScreenshotTask/DeleteScreenshotTask)与旧API(CreateLiveInstantSnapshot/StopLiveInstantSnapshot)不兼容,两套接口不能混用。
# 5. 避免 创建截图任务 与 推流 操作同时进行,可能导致因截图任务未生效而引起任务延迟启动问题,两者操作间隔建议大于3秒。
# @param request: Request instance for CreateScreenshotTask.
# @type request: :class:`Tencentcloud::live::V20180801::CreateScreenshotTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::CreateScreenshotTaskResponse`
def CreateScreenshotTask(request)
body = send_request('CreateScreenshotTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateScreenshotTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除回调规则。
# @param request: Request instance for DeleteLiveCallbackRule.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveCallbackRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveCallbackRuleResponse`
def DeleteLiveCallbackRule(request)
body = send_request('DeleteLiveCallbackRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveCallbackRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除回调模板。
# @param request: Request instance for DeleteLiveCallbackTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveCallbackTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveCallbackTemplateResponse`
def DeleteLiveCallbackTemplate(request)
body = send_request('DeleteLiveCallbackTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveCallbackTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除已添加的直播域名
# @param request: Request instance for DeleteLiveDomain.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveDomainRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveDomainResponse`
def DeleteLiveDomain(request)
body = send_request('DeleteLiveDomain', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveDomainResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除直播垫片规则。
# @param request: Request instance for DeleteLivePadRule.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLivePadRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLivePadRuleResponse`
def DeleteLivePadRule(request)
body = send_request('DeleteLivePadRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLivePadRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除直播垫片模板。
# @param request: Request instance for DeleteLivePadTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLivePadTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLivePadTemplateResponse`
def DeleteLivePadTemplate(request)
body = send_request('DeleteLivePadTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLivePadTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除接口 CreateLivePullStreamTask 创建的拉流任务。
# 注意:
# 1. 入参中的 TaskId 为 CreateLivePullStreamTask 接口创建时返回的TaskId。
# 2. 也可通过 DescribeLivePullStreamTasks 进行查询创建的任务。
# @param request: Request instance for DeleteLivePullStreamTask.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLivePullStreamTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLivePullStreamTaskResponse`
def DeleteLivePullStreamTask(request)
body = send_request('DeleteLivePullStreamTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLivePullStreamTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 注:DeleteLiveRecord 接口仅用于删除录制任务记录,不具备停止录制的功能,也不能删除正在进行中的录制。如果需要停止录制任务,请使用终止录制[StopLiveRecord](/document/product/267/30146) 接口。
# @param request: Request instance for DeleteLiveRecord.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveRecordRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveRecordResponse`
def DeleteLiveRecord(request)
body = send_request('DeleteLiveRecord', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveRecordResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除录制规则。
# @param request: Request instance for DeleteLiveRecordRule.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveRecordRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveRecordRuleResponse`
def DeleteLiveRecordRule(request)
body = send_request('DeleteLiveRecordRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveRecordRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除录制模板。
# @param request: Request instance for DeleteLiveRecordTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveRecordTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveRecordTemplateResponse`
def DeleteLiveRecordTemplate(request)
body = send_request('DeleteLiveRecordTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveRecordTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除截图规则。
# @param request: Request instance for DeleteLiveSnapshotRule.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveSnapshotRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveSnapshotRuleResponse`
def DeleteLiveSnapshotRule(request)
body = send_request('DeleteLiveSnapshotRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveSnapshotRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除截图模板
# @param request: Request instance for DeleteLiveSnapshotTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveSnapshotTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveSnapshotTemplateResponse`
def DeleteLiveSnapshotTemplate(request)
body = send_request('DeleteLiveSnapshotTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveSnapshotTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来删除直播流监播任务。
# @param request: Request instance for DeleteLiveStreamMonitor.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveStreamMonitorRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveStreamMonitorResponse`
def DeleteLiveStreamMonitor(request)
body = send_request('DeleteLiveStreamMonitor', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveStreamMonitorResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除直播时移规则。
# @param request: Request instance for DeleteLiveTimeShiftRule.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveTimeShiftRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveTimeShiftRuleResponse`
def DeleteLiveTimeShiftRule(request)
body = send_request('DeleteLiveTimeShiftRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveTimeShiftRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除直播时移模板。
# @param request: Request instance for DeleteLiveTimeShiftTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveTimeShiftTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveTimeShiftTemplateResponse`
def DeleteLiveTimeShiftTemplate(request)
body = send_request('DeleteLiveTimeShiftTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveTimeShiftTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除转码规则。
# DomainName+AppName+StreamName+TemplateId唯一标识单个转码规则,如需删除需要强匹配。其中TemplateId必填,其余参数为空时也需要传空字符串进行强匹配。
# @param request: Request instance for DeleteLiveTranscodeRule.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveTranscodeRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveTranscodeRuleResponse`
def DeleteLiveTranscodeRule(request)
body = send_request('DeleteLiveTranscodeRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveTranscodeRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除转码模板。
# @param request: Request instance for DeleteLiveTranscodeTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveTranscodeTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveTranscodeTemplateResponse`
def DeleteLiveTranscodeTemplate(request)
body = send_request('DeleteLiveTranscodeTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveTranscodeTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除水印。
# @param request: Request instance for DeleteLiveWatermark.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveWatermarkRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveWatermarkResponse`
def DeleteLiveWatermark(request)
body = send_request('DeleteLiveWatermark', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveWatermarkResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除水印规则
# @param request: Request instance for DeleteLiveWatermarkRule.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteLiveWatermarkRuleRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteLiveWatermarkRuleResponse`
def DeleteLiveWatermarkRule(request)
body = send_request('DeleteLiveWatermarkRule', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLiveWatermarkRuleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除直播拉流配置。该接口已下线,请使用新接口 DeleteLivePullStreamTask。
# @param request: Request instance for DeletePullStreamConfig.
# @type request: :class:`Tencentcloud::live::V20180801::DeletePullStreamConfigRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeletePullStreamConfigResponse`
def DeletePullStreamConfig(request)
body = send_request('DeletePullStreamConfig', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeletePullStreamConfigResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除录制任务配置。删除操作不影响正在运行当中的任务,仅对删除之后新的推流有效。
# @param request: Request instance for DeleteRecordTask.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteRecordTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteRecordTaskResponse`
def DeleteRecordTask(request)
body = send_request('DeleteRecordTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteRecordTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除截图任务配置。删除操作不影响正在运行当中的任务,仅对删除之后新的推流有效。
# @param request: Request instance for DeleteScreenshotTask.
# @type request: :class:`Tencentcloud::live::V20180801::DeleteScreenshotTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DeleteScreenshotTaskResponse`
def DeleteScreenshotTask(request)
body = send_request('DeleteScreenshotTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteScreenshotTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 输入某个时间点(1分钟维度),查询该时间点所有流的下行信息。
# @param request: Request instance for DescribeAllStreamPlayInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeAllStreamPlayInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeAllStreamPlayInfoListResponse`
def DescribeAllStreamPlayInfoList(request)
body = send_request('DescribeAllStreamPlayInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeAllStreamPlayInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 海外分区直播播放带宽和流量数据查询。
# @param request: Request instance for DescribeAreaBillBandwidthAndFluxList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeAreaBillBandwidthAndFluxListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeAreaBillBandwidthAndFluxListResponse`
def DescribeAreaBillBandwidthAndFluxList(request)
body = send_request('DescribeAreaBillBandwidthAndFluxList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeAreaBillBandwidthAndFluxListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 返回正在直播中的流列表。适用于推流成功后查询在线流信息。
# 注意:
# 1. 该接口仅提供辅助查询在线流列表功能,业务重要场景不可强依赖该接口。
# 2. 该接口仅适用于流数少于2万路的情况,对于流数较大用户请联系售后。
# @param request: Request instance for DescribeBackupStreamList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeBackupStreamListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeBackupStreamListResponse`
def DescribeBackupStreamList(request)
body = send_request('DescribeBackupStreamList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeBackupStreamListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 直播播放带宽和流量数据查询。
# @param request: Request instance for DescribeBillBandwidthAndFluxList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeBillBandwidthAndFluxListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeBillBandwidthAndFluxListResponse`
def DescribeBillBandwidthAndFluxList(request)
body = send_request('DescribeBillBandwidthAndFluxList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeBillBandwidthAndFluxListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 用于查询回调事件。
# @param request: Request instance for DescribeCallbackRecordsList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeCallbackRecordsListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeCallbackRecordsListResponse`
def DescribeCallbackRecordsList(request)
body = send_request('DescribeCallbackRecordsList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeCallbackRecordsListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询并发录制路数,对慢直播和普通直播适用。
# @param request: Request instance for DescribeConcurrentRecordStreamNum.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeConcurrentRecordStreamNumRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeConcurrentRecordStreamNumResponse`
def DescribeConcurrentRecordStreamNum(request)
body = send_request('DescribeConcurrentRecordStreamNum', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeConcurrentRecordStreamNumResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询直播转推计费带宽,查询时间范围最大支持3个月内的数据,时间跨度最长31天。
# @param request: Request instance for DescribeDeliverBandwidthList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeDeliverBandwidthListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeDeliverBandwidthListResponse`
def DescribeDeliverBandwidthList(request)
body = send_request('DescribeDeliverBandwidthList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeDeliverBandwidthListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 批量获取转推日志的URL。
# @param request: Request instance for DescribeDeliverLogDownList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeDeliverLogDownListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeDeliverLogDownListResponse`
def DescribeDeliverLogDownList(request)
body = send_request('DescribeDeliverLogDownList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeDeliverLogDownListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询按省份和运营商分组的下行播放数据。
# @param request: Request instance for DescribeGroupProIspPlayInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeGroupProIspPlayInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeGroupProIspPlayInfoListResponse`
def DescribeGroupProIspPlayInfoList(request)
body = send_request('DescribeGroupProIspPlayInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeGroupProIspPlayInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询某段时间内5分钟粒度的各播放http状态码的个数。
# 备注:数据延迟1小时,如10:00-10:59点的数据12点才能查到。
# @param request: Request instance for DescribeHttpStatusInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeHttpStatusInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeHttpStatusInfoListResponse`
def DescribeHttpStatusInfoList(request)
body = send_request('DescribeHttpStatusInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeHttpStatusInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取回调规则列表
# @param request: Request instance for DescribeLiveCallbackRules.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveCallbackRulesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveCallbackRulesResponse`
def DescribeLiveCallbackRules(request)
body = send_request('DescribeLiveCallbackRules', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveCallbackRulesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取单个回调模板。
# @param request: Request instance for DescribeLiveCallbackTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveCallbackTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveCallbackTemplateResponse`
def DescribeLiveCallbackTemplate(request)
body = send_request('DescribeLiveCallbackTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveCallbackTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取回调模板列表
# @param request: Request instance for DescribeLiveCallbackTemplates.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveCallbackTemplatesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveCallbackTemplatesResponse`
def DescribeLiveCallbackTemplates(request)
body = send_request('DescribeLiveCallbackTemplates', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveCallbackTemplatesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取证书信息
# @param request: Request instance for DescribeLiveCert.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveCertRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveCertResponse`
def DescribeLiveCert(request)
body = send_request('DescribeLiveCert', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveCertResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取证书信息列表
# @param request: Request instance for DescribeLiveCerts.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveCertsRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveCertsResponse`
def DescribeLiveCerts(request)
body = send_request('DescribeLiveCerts', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveCertsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取直播延播列表。
# @param request: Request instance for DescribeLiveDelayInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveDelayInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveDelayInfoListResponse`
def DescribeLiveDelayInfoList(request)
body = send_request('DescribeLiveDelayInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveDelayInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询直播域名信息。
# @param request: Request instance for DescribeLiveDomain.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainResponse`
def DescribeLiveDomain(request)
body = send_request('DescribeLiveDomain', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveDomainResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取域名证书信息。
# @param request: Request instance for DescribeLiveDomainCert.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainCertRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainCertResponse`
def DescribeLiveDomainCert(request)
body = send_request('DescribeLiveDomainCert', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveDomainCertResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询绑定证书的域名列表。
# @param request: Request instance for DescribeLiveDomainCertBindings.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainCertBindingsRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainCertBindingsResponse`
def DescribeLiveDomainCertBindings(request)
body = send_request('DescribeLiveDomainCertBindings', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveDomainCertBindingsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询实时的域名维度下行播放数据,由于数据处理有耗时,接口默认查询4分钟前的准实时数据。
# @param request: Request instance for DescribeLiveDomainPlayInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainPlayInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainPlayInfoListResponse`
def DescribeLiveDomainPlayInfoList(request)
body = send_request('DescribeLiveDomainPlayInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveDomainPlayInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询直播域名 Referer 黑白名单配置。
# 由于 Referer 信息包含在 http 协议中,在开启配置后,播放协议为 rtmp 或 WebRTC 不会校验 Referer 配置,仍可正常播放。如需配置 Referer 鉴权建议使用 http-flv 或 http-hls 协议播放。
# @param request: Request instance for DescribeLiveDomainReferer.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainRefererRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainRefererResponse`
def DescribeLiveDomainReferer(request)
body = send_request('DescribeLiveDomainReferer', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveDomainRefererResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 根据域名状态、类型等信息查询用户的域名信息。
# @param request: Request instance for DescribeLiveDomains.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainsRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveDomainsResponse`
def DescribeLiveDomains(request)
body = send_request('DescribeLiveDomains', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveDomainsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取禁推流列表。
# 注意:该接口仅作为直播辅助查询接口,重要业务场景不可强依赖该接口。
# @param request: Request instance for DescribeLiveForbidStreamList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveForbidStreamListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveForbidStreamListResponse`
def DescribeLiveForbidStreamList(request)
body = send_request('DescribeLiveForbidStreamList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveForbidStreamListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询用户套餐包总量、使用量、剩余量、包状态、购买时间和过期时间等。
# @param request: Request instance for DescribeLivePackageInfo.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePackageInfoRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePackageInfoResponse`
def DescribeLivePackageInfo(request)
body = send_request('DescribeLivePackageInfo', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePackageInfoResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 使用该接口查询垫片流。垫片流状态更新存在一定延迟,可间隔30秒以上查询,避免频繁查询该接口。
# @param request: Request instance for DescribeLivePadProcessorList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePadProcessorListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePadProcessorListResponse`
def DescribeLivePadProcessorList(request)
body = send_request('DescribeLivePadProcessorList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePadProcessorListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取直播垫片规则列表。
# @param request: Request instance for DescribeLivePadRules.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePadRulesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePadRulesResponse`
def DescribeLivePadRules(request)
body = send_request('DescribeLivePadRules', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePadRulesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取单个直播垫片模板
# @param request: Request instance for DescribeLivePadTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePadTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePadTemplateResponse`
def DescribeLivePadTemplate(request)
body = send_request('DescribeLivePadTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePadTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取直播垫片模板。
# @param request: Request instance for DescribeLivePadTemplates.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePadTemplatesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePadTemplatesResponse`
def DescribeLivePadTemplates(request)
body = send_request('DescribeLivePadTemplates', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePadTemplatesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询播放鉴权key。
# @param request: Request instance for DescribeLivePlayAuthKey.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePlayAuthKeyRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePlayAuthKeyResponse`
def DescribeLivePlayAuthKey(request)
body = send_request('DescribeLivePlayAuthKey', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePlayAuthKeyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询直播拉流任务状态信息。
# @param request: Request instance for DescribeLivePullStreamTaskStatus.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePullStreamTaskStatusRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePullStreamTaskStatusResponse`
def DescribeLivePullStreamTaskStatus(request)
body = send_request('DescribeLivePullStreamTaskStatus', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePullStreamTaskStatusResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询使用 CreateLivePullStreamTask 接口创建的直播拉流任务。
# 排序方式:默认按更新时间 倒序排列。
# @param request: Request instance for DescribeLivePullStreamTasks.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePullStreamTasksRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePullStreamTasksResponse`
def DescribeLivePullStreamTasks(request)
body = send_request('DescribeLivePullStreamTasks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePullStreamTasksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询直播推流鉴权key
# @param request: Request instance for DescribeLivePushAuthKey.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLivePushAuthKeyRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLivePushAuthKeyResponse`
def DescribeLivePushAuthKey(request)
body = send_request('DescribeLivePushAuthKey', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLivePushAuthKeyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取录制规则列表
# @param request: Request instance for DescribeLiveRecordRules.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveRecordRulesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveRecordRulesResponse`
def DescribeLiveRecordRules(request)
body = send_request('DescribeLiveRecordRules', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveRecordRulesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取单个录制模板。
# @param request: Request instance for DescribeLiveRecordTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveRecordTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveRecordTemplateResponse`
def DescribeLiveRecordTemplate(request)
body = send_request('DescribeLiveRecordTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveRecordTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取录制模板列表。
# @param request: Request instance for DescribeLiveRecordTemplates.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveRecordTemplatesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveRecordTemplatesResponse`
def DescribeLiveRecordTemplates(request)
body = send_request('DescribeLiveRecordTemplates', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveRecordTemplatesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取截图规则列表
# @param request: Request instance for DescribeLiveSnapshotRules.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveSnapshotRulesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveSnapshotRulesResponse`
def DescribeLiveSnapshotRules(request)
body = send_request('DescribeLiveSnapshotRules', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveSnapshotRulesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取单个截图模板。
# @param request: Request instance for DescribeLiveSnapshotTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveSnapshotTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveSnapshotTemplateResponse`
def DescribeLiveSnapshotTemplate(request)
body = send_request('DescribeLiveSnapshotTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveSnapshotTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取截图模板列表。
# @param request: Request instance for DescribeLiveSnapshotTemplates.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveSnapshotTemplatesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveSnapshotTemplatesResponse`
def DescribeLiveSnapshotTemplates(request)
body = send_request('DescribeLiveSnapshotTemplates', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveSnapshotTemplatesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于查询推断流事件。
# 注意:
# 1. 该接口提供离线推断流记录查询功能,不可作为重要业务场景强依赖接口。
# 2. 该接口可通过使用IsFilter进行过滤,返回推流历史记录。
# @param request: Request instance for DescribeLiveStreamEventList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamEventListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamEventListResponse`
def DescribeLiveStreamEventList(request)
body = send_request('DescribeLiveStreamEventList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveStreamEventListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来查询某个特定监播任务的配置。
# @param request: Request instance for DescribeLiveStreamMonitor.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamMonitorRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamMonitorResponse`
def DescribeLiveStreamMonitor(request)
body = send_request('DescribeLiveStreamMonitor', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveStreamMonitorResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来查询直播流监播任务配置的列表信息。
# @param request: Request instance for DescribeLiveStreamMonitorList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamMonitorListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamMonitorListResponse`
def DescribeLiveStreamMonitorList(request)
body = send_request('DescribeLiveStreamMonitorList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveStreamMonitorListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 返回正在直播中的流列表。适用于推流成功后查询在线流信息。
# 注意:
# 1. 该接口仅提供辅助查询在线流列表功能,业务重要场景不可强依赖该接口。
# 2. 该接口仅适用于流数少于2万路的情况,对于流数较大用户请联系售后。
# @param request: Request instance for DescribeLiveStreamOnlineList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamOnlineListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamOnlineListResponse`
def DescribeLiveStreamOnlineList(request)
body = send_request('DescribeLiveStreamOnlineList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveStreamOnlineListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 返回已经推过流的流列表。
# 注意:分页最多支持查询1万条记录,可通过调整查询时间范围来获取更多数据。
# @param request: Request instance for DescribeLiveStreamPublishedList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamPublishedListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamPublishedListResponse`
def DescribeLiveStreamPublishedList(request)
body = send_request('DescribeLiveStreamPublishedList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveStreamPublishedListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询所有实时流的推流信息,包括客户端IP,服务端IP,帧率,码率,域名,开始推流时间。
# @param request: Request instance for DescribeLiveStreamPushInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamPushInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamPushInfoListResponse`
def DescribeLiveStreamPushInfoList(request)
body = send_request('DescribeLiveStreamPushInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveStreamPushInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 返回直播中、无推流或者禁播等状态。
# 使用建议:
# 该接口提供实时流状态查询功能,鉴于网络抖动等一些不可抗因素,使用该接口作为判断主播是否开播等重要业务场景时,请参考以下使用建议。
# 1. 优先使用业务自身的房间开关播逻辑,判断主播是否在线,譬如客户端开播信令和主播在线心跳等。
# 2. 对于没有房间管理的直播场景,可以结合以下方案综合判断。
# 2.1 根据[推断流事件通知](/document/product/267/20388) 判断主播在线状态。
# 2.2 通过定时(间隔>1min)查询[直播中的流接口](/document/api/267/20472),判断主播是否在线。
# 2.3 通过 本接口 查询直播流状态,判断主播是否在线。
# 2.4 以上任一方式判断为在线,都认为主播开播中,并且接口查询超时或解析异常时,也默认为在线,减少对业务的影响。
# @param request: Request instance for DescribeLiveStreamState.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamStateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveStreamStateResponse`
def DescribeLiveStreamState(request)
body = send_request('DescribeLiveStreamState', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveStreamStateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 提供给客户对账,按天统计,维度:推流域名、时移文件时长(累加)、配置天数(不累加)、时移总时长(累加)。
# @param request: Request instance for DescribeLiveTimeShiftBillInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTimeShiftBillInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTimeShiftBillInfoListResponse`
def DescribeLiveTimeShiftBillInfoList(request)
body = send_request('DescribeLiveTimeShiftBillInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTimeShiftBillInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取直播时移规则列表。
# @param request: Request instance for DescribeLiveTimeShiftRules.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTimeShiftRulesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTimeShiftRulesResponse`
def DescribeLiveTimeShiftRules(request)
body = send_request('DescribeLiveTimeShiftRules', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTimeShiftRulesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取直播时移模板。
# @param request: Request instance for DescribeLiveTimeShiftTemplates.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTimeShiftTemplatesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTimeShiftTemplatesResponse`
def DescribeLiveTimeShiftTemplates(request)
body = send_request('DescribeLiveTimeShiftTemplates', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTimeShiftTemplatesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 支持查询某天或某段时间的转码详细信息。由于转码数据量较大,如果查询时间跨度太长可能会拉不到数据,可以尝试将查询时间范围缩小些再重试。
# @param request: Request instance for DescribeLiveTranscodeDetailInfo.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeDetailInfoRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeDetailInfoResponse`
def DescribeLiveTranscodeDetailInfo(request)
body = send_request('DescribeLiveTranscodeDetailInfo', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTranscodeDetailInfoResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取转码规则列表
# @param request: Request instance for DescribeLiveTranscodeRules.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeRulesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeRulesResponse`
def DescribeLiveTranscodeRules(request)
body = send_request('DescribeLiveTranscodeRules', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTranscodeRulesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取单个转码模板。
# @param request: Request instance for DescribeLiveTranscodeTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeTemplateResponse`
def DescribeLiveTranscodeTemplate(request)
body = send_request('DescribeLiveTranscodeTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTranscodeTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取转码模板列表。
# @param request: Request instance for DescribeLiveTranscodeTemplates.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeTemplatesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeTemplatesResponse`
def DescribeLiveTranscodeTemplates(request)
body = send_request('DescribeLiveTranscodeTemplates', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTranscodeTemplatesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询转码总量数据,可查询近三个月内的数据。
# 注意:
# 如果是查询某一天内,则返回5分钟粒度数据;
# 如果是查询跨天或指定域名, 则返回1小时粒度数据。
# @param request: Request instance for DescribeLiveTranscodeTotalInfo.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeTotalInfoRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveTranscodeTotalInfoResponse`
def DescribeLiveTranscodeTotalInfo(request)
body = send_request('DescribeLiveTranscodeTotalInfo', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveTranscodeTotalInfoResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取单个水印信息。
# @param request: Request instance for DescribeLiveWatermark.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveWatermarkRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveWatermarkResponse`
def DescribeLiveWatermark(request)
body = send_request('DescribeLiveWatermark', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveWatermarkResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取水印规则列表。
# @param request: Request instance for DescribeLiveWatermarkRules.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveWatermarkRulesRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveWatermarkRulesResponse`
def DescribeLiveWatermarkRules(request)
body = send_request('DescribeLiveWatermarkRules', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveWatermarkRulesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询水印列表。
# @param request: Request instance for DescribeLiveWatermarks.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveWatermarksRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveWatermarksResponse`
def DescribeLiveWatermarks(request)
body = send_request('DescribeLiveWatermarks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveWatermarksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# P2P流数据查询接口,用来获取流量、卡播和起播信息。
# @param request: Request instance for DescribeLiveXP2PDetailInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLiveXP2PDetailInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLiveXP2PDetailInfoListResponse`
def DescribeLiveXP2PDetailInfoList(request)
body = send_request('DescribeLiveXP2PDetailInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLiveXP2PDetailInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 批量获取日志URL。
# @param request: Request instance for DescribeLogDownloadList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeLogDownloadListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeLogDownloadListResponse`
def DescribeLogDownloadList(request)
body = send_request('DescribeLogDownloadList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLogDownloadListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用来查询监播场次7天内的智能识别、断流、低帧率等信息的汇总报告。
# @param request: Request instance for DescribeMonitorReport.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeMonitorReportRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeMonitorReportResponse`
def DescribeMonitorReport(request)
body = send_request('DescribeMonitorReport', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeMonitorReportResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询下行播放错误码信息,某段时间内1分钟粒度的各http错误码出现的次数,包括4xx,5xx。
# @param request: Request instance for DescribePlayErrorCodeDetailInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribePlayErrorCodeDetailInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribePlayErrorCodeDetailInfoListResponse`
def DescribePlayErrorCodeDetailInfoList(request)
body = send_request('DescribePlayErrorCodeDetailInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribePlayErrorCodeDetailInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询下行播放错误码信息。
# @param request: Request instance for DescribePlayErrorCodeSumInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribePlayErrorCodeSumInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribePlayErrorCodeSumInfoListResponse`
def DescribePlayErrorCodeSumInfoList(request)
body = send_request('DescribePlayErrorCodeSumInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribePlayErrorCodeSumInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询某段时间内每个国家地区每个省份每个运营商的平均每秒流量,总流量,总请求数信息。
# @param request: Request instance for DescribeProIspPlaySumInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeProIspPlaySumInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeProIspPlaySumInfoListResponse`
def DescribeProIspPlaySumInfoList(request)
body = send_request('DescribeProIspPlaySumInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeProIspPlaySumInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询某省份某运营商下行播放数据,包括带宽,流量,请求数,并发连接数信息。
# @param request: Request instance for DescribeProvinceIspPlayInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeProvinceIspPlayInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeProvinceIspPlayInfoListResponse`
def DescribeProvinceIspPlayInfoList(request)
body = send_request('DescribeProvinceIspPlayInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeProvinceIspPlayInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询直播拉流配置。该接口已下线,请使用新接口 DescribeLivePullStreamTasks。
# @param request: Request instance for DescribePullStreamConfigs.
# @type request: :class:`Tencentcloud::live::V20180801::DescribePullStreamConfigsRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribePullStreamConfigsResponse`
def DescribePullStreamConfigs(request)
body = send_request('DescribePullStreamConfigs', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribePullStreamConfigsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询拉流转推任务的时长信息。
# @param request: Request instance for DescribePullTransformPushInfo.
# @type request: :class:`Tencentcloud::live::V20180801::DescribePullTransformPushInfoRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribePullTransformPushInfoResponse`
def DescribePullTransformPushInfo(request)
body = send_request('DescribePullTransformPushInfo', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribePullTransformPushInfoResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 直播推流带宽和流量数据查询。
# 推流计费会先取全球推流用量和全球播放用量进行比较,满足计费条件后再按各地区用量出账。详情参见[计费文档](https://cloud.tencent.com/document/product/267/34175)。
# @param request: Request instance for DescribePushBandwidthAndFluxList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribePushBandwidthAndFluxListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribePushBandwidthAndFluxListResponse`
def DescribePushBandwidthAndFluxList(request)
body = send_request('DescribePushBandwidthAndFluxList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribePushBandwidthAndFluxListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询指定时间段范围内启动和结束的录制任务列表。
# - 使用前提
# 1. 仅用于查询由 CreateRecordTask 接口创建的录制任务。
# 2. 不能查询被 DeleteRecordTask 接口删除以及已过期(平台侧保留3个月)的录制任务。
# @param request: Request instance for DescribeRecordTask.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeRecordTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeRecordTaskResponse`
def DescribeRecordTask(request)
body = send_request('DescribeRecordTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeRecordTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 接口用来查询直播增值业务--截图的张数
# @param request: Request instance for DescribeScreenShotSheetNumList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeScreenShotSheetNumListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeScreenShotSheetNumListResponse`
def DescribeScreenShotSheetNumList(request)
body = send_request('DescribeScreenShotSheetNumList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeScreenShotSheetNumListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询指定时间段范围内启动和结束的截图任务列表。
# - 使用前提
# 1. 仅用于查询由 CreateScreenshotTask接口创建的截图任务。
# 2. 不能查询被 DeleteScreenshotTask接口删除以及已过期(平台侧保留3个月)的截图任务。
# @param request: Request instance for DescribeScreenshotTask.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeScreenshotTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeScreenshotTaskResponse`
def DescribeScreenshotTask(request)
body = send_request('DescribeScreenshotTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeScreenshotTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询天维度每条流的播放数据,包括总流量等。
# @param request: Request instance for DescribeStreamDayPlayInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeStreamDayPlayInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeStreamDayPlayInfoListResponse`
def DescribeStreamDayPlayInfoList(request)
body = send_request('DescribeStreamDayPlayInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeStreamDayPlayInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询播放数据,支持按流名称查询详细播放数据,也可按播放域名查询详细总数据,数据延迟4分钟左右。
# @param request: Request instance for DescribeStreamPlayInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeStreamPlayInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeStreamPlayInfoListResponse`
def DescribeStreamPlayInfoList(request)
body = send_request('DescribeStreamPlayInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeStreamPlayInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询流id的上行推流质量数据,包括音视频的帧率,码率,流逝时间,编码格式等。
# @param request: Request instance for DescribeStreamPushInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeStreamPushInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeStreamPushInfoListResponse`
def DescribeStreamPushInfoList(request)
body = send_request('DescribeStreamPushInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeStreamPushInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 前提调用 DescribeTimeShiftStreamList 获得请求必要参数。查询指定范围内的时移流录制详情,最大支持24小时范围查询。
# @param request: Request instance for DescribeTimeShiftRecordDetail.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeTimeShiftRecordDetailRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeTimeShiftRecordDetailResponse`
def DescribeTimeShiftRecordDetail(request)
body = send_request('DescribeTimeShiftRecordDetail', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeTimeShiftRecordDetailResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询某个时间范围内所有时移流列表。最大支持查询24小时内的数据。
# @param request: Request instance for DescribeTimeShiftStreamList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeTimeShiftStreamListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeTimeShiftStreamListResponse`
def DescribeTimeShiftStreamList(request)
body = send_request('DescribeTimeShiftStreamList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeTimeShiftStreamListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口为监控数据接口,数据采集及统计方式与计费数据不同,仅供运营分析使用,不能用于计费对账参考。
# 查询某段时间top n客户端ip汇总信息(暂支持top 1000)
# @param request: Request instance for DescribeTopClientIpSumInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeTopClientIpSumInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeTopClientIpSumInfoListResponse`
def DescribeTopClientIpSumInfoList(request)
body = send_request('DescribeTopClientIpSumInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeTopClientIpSumInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询转码任务数。
# @param request: Request instance for DescribeTranscodeTaskNum.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeTranscodeTaskNumRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeTranscodeTaskNumResponse`
def DescribeTranscodeTaskNum(request)
body = send_request('DescribeTranscodeTaskNum', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeTranscodeTaskNumResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 直播上行路数查询。
# @param request: Request instance for DescribeUploadStreamNums.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeUploadStreamNumsRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeUploadStreamNumsResponse`
def DescribeUploadStreamNums(request)
body = send_request('DescribeUploadStreamNums', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeUploadStreamNumsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询某时间段top n的域名或流id信息(暂支持top 1000)。
# @param request: Request instance for DescribeVisitTopSumInfoList.
# @type request: :class:`Tencentcloud::live::V20180801::DescribeVisitTopSumInfoListRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DescribeVisitTopSumInfoListResponse`
def DescribeVisitTopSumInfoList(request)
body = send_request('DescribeVisitTopSumInfoList', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeVisitTopSumInfoListResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 断开推流连接,但可以重新推流。
# 注:对已经不活跃的流,调用该断流接口时,接口返回成功。
# @param request: Request instance for DropLiveStream.
# @type request: :class:`Tencentcloud::live::V20180801::DropLiveStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::DropLiveStreamResponse`
def DropLiveStream(request)
body = send_request('DropLiveStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DropLiveStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 启用状态为停用的直播域名。
# @param request: Request instance for EnableLiveDomain.
# @type request: :class:`Tencentcloud::live::V20180801::EnableLiveDomainRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::EnableLiveDomainResponse`
def EnableLiveDomain(request)
body = send_request('EnableLiveDomain', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = EnableLiveDomainResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 启用择优调度。
# 注意:流维度的择优调度,当主备流结束后自动失效。
# @param request: Request instance for EnableOptimalSwitching.
# @type request: :class:`Tencentcloud::live::V20180801::EnableOptimalSwitchingRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::EnableOptimalSwitchingResponse`
def EnableOptimalSwitching(request)
body = send_request('EnableOptimalSwitching', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = EnableOptimalSwitchingResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 停止使用某个直播域名。
# @param request: Request instance for ForbidLiveDomain.
# @type request: :class:`Tencentcloud::live::V20180801::ForbidLiveDomainRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ForbidLiveDomainResponse`
def ForbidLiveDomain(request)
body = send_request('ForbidLiveDomain', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ForbidLiveDomainResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 禁止某条流的推送,可以预设某个时刻将流恢复。
# 注意:
# 1. 默认只要流名称正确,禁推就会生效。
# 2. 如需要推流域名+推流路径+流名称 强匹配生效禁推,需提单联系售后开启配置。
# 3. 如果配置了域名分组,需填写准确推流域名,才可断掉当前推流。
# @param request: Request instance for ForbidLiveStream.
# @type request: :class:`Tencentcloud::live::V20180801::ForbidLiveStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ForbidLiveStreamResponse`
def ForbidLiveStream(request)
body = send_request('ForbidLiveStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ForbidLiveStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改回调模板。
# @param request: Request instance for ModifyLiveCallbackTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveCallbackTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveCallbackTemplateResponse`
def ModifyLiveCallbackTemplate(request)
body = send_request('ModifyLiveCallbackTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveCallbackTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 批量绑定证书对应的播放域名,并更新启用状态。
# 新建自有证书将自动上传至腾讯云ssl。
# @param request: Request instance for ModifyLiveDomainCertBindings.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveDomainCertBindingsRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveDomainCertBindingsResponse`
def ModifyLiveDomainCertBindings(request)
body = send_request('ModifyLiveDomainCertBindings', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveDomainCertBindingsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 设置直播域名 Referer 黑白名单。
# 由于 Referer 信息包含在 http 协议中,在开启配置后,播放协议为 rtmp 或 WebRTC 不会校验 Referer 配置,仍可正常播放。如需配置 Referer 鉴权建议使用 http-flv 或 http-hls 协议播放。
# @param request: Request instance for ModifyLiveDomainReferer.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveDomainRefererRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveDomainRefererResponse`
def ModifyLiveDomainReferer(request)
body = send_request('ModifyLiveDomainReferer', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveDomainRefererResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改直播垫片模板。
# @param request: Request instance for ModifyLivePadTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLivePadTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLivePadTemplateResponse`
def ModifyLivePadTemplate(request)
body = send_request('ModifyLivePadTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLivePadTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改播放鉴权key
# @param request: Request instance for ModifyLivePlayAuthKey.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLivePlayAuthKeyRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLivePlayAuthKeyResponse`
def ModifyLivePlayAuthKey(request)
body = send_request('ModifyLivePlayAuthKey', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLivePlayAuthKeyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改播放域名信息。
# @param request: Request instance for ModifyLivePlayDomain.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLivePlayDomainRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLivePlayDomainResponse`
def ModifyLivePlayDomain(request)
body = send_request('ModifyLivePlayDomain', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLivePlayDomainResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 更新直播拉流任务。
# 1. 不支持修改拉流源类型,如需更换,请创建新任务。
# @param request: Request instance for ModifyLivePullStreamTask.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLivePullStreamTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLivePullStreamTaskResponse`
def ModifyLivePullStreamTask(request)
body = send_request('ModifyLivePullStreamTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLivePullStreamTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改直播推流鉴权key
# @param request: Request instance for ModifyLivePushAuthKey.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLivePushAuthKeyRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLivePushAuthKeyResponse`
def ModifyLivePushAuthKey(request)
body = send_request('ModifyLivePushAuthKey', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLivePushAuthKeyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改录制模板配置。
# @param request: Request instance for ModifyLiveRecordTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveRecordTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveRecordTemplateResponse`
def ModifyLiveRecordTemplate(request)
body = send_request('ModifyLiveRecordTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveRecordTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改截图模板配置。
# @param request: Request instance for ModifyLiveSnapshotTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveSnapshotTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveSnapshotTemplateResponse`
def ModifyLiveSnapshotTemplate(request)
body = send_request('ModifyLiveSnapshotTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveSnapshotTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来修改直播流监播任务的配置。
# @param request: Request instance for ModifyLiveStreamMonitor.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveStreamMonitorRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveStreamMonitorResponse`
def ModifyLiveStreamMonitor(request)
body = send_request('ModifyLiveStreamMonitor', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveStreamMonitorResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改直播时移模板。
# @param request: Request instance for ModifyLiveTimeShiftTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveTimeShiftTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveTimeShiftTemplateResponse`
def ModifyLiveTimeShiftTemplate(request)
body = send_request('ModifyLiveTimeShiftTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveTimeShiftTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改转码模板配置。
# @param request: Request instance for ModifyLiveTranscodeTemplate.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyLiveTranscodeTemplateRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyLiveTranscodeTemplateResponse`
def ModifyLiveTranscodeTemplate(request)
body = send_request('ModifyLiveTranscodeTemplate', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLiveTranscodeTemplateResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 更新拉流配置。该接口为已下线接口,请使用新接口 ModifyLivePullStreamTask。
# @param request: Request instance for ModifyPullStreamConfig.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyPullStreamConfigRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyPullStreamConfigResponse`
def ModifyPullStreamConfig(request)
body = send_request('ModifyPullStreamConfig', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyPullStreamConfigResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改直播拉流配置的状态。该接口已下线,请使用新接口 ModifyLivePullStreamTask。
# @param request: Request instance for ModifyPullStreamStatus.
# @type request: :class:`Tencentcloud::live::V20180801::ModifyPullStreamStatusRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ModifyPullStreamStatusResponse`
def ModifyPullStreamStatus(request)
body = send_request('ModifyPullStreamStatus', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyPullStreamStatusResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 将正在运行的拉流转推任务进行重启。
# 注意:
# 1. 重启任务会造成推流中断。
# 2. 点播源任务的重启,会根据VodRefreshType决定是续播还是从头开始播。
# @param request: Request instance for RestartLivePullStreamTask.
# @type request: :class:`Tencentcloud::live::V20180801::RestartLivePullStreamTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::RestartLivePullStreamTaskResponse`
def RestartLivePullStreamTask(request)
body = send_request('RestartLivePullStreamTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = RestartLivePullStreamTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 取消直播流设置的延时配置,恢复实时直播画面。
# @param request: Request instance for ResumeDelayLiveStream.
# @type request: :class:`Tencentcloud::live::V20180801::ResumeDelayLiveStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ResumeDelayLiveStreamResponse`
def ResumeDelayLiveStream(request)
body = send_request('ResumeDelayLiveStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ResumeDelayLiveStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 恢复某条流的推流。
# @param request: Request instance for ResumeLiveStream.
# @type request: :class:`Tencentcloud::live::V20180801::ResumeLiveStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::ResumeLiveStreamResponse`
def ResumeLiveStream(request)
body = send_request('ResumeLiveStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ResumeLiveStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来启动直播流监播任务。
# @param request: Request instance for StartLiveStreamMonitor.
# @type request: :class:`Tencentcloud::live::V20180801::StartLiveStreamMonitorRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::StartLiveStreamMonitorResponse`
def StartLiveStreamMonitor(request)
body = send_request('StartLiveStreamMonitor', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = StartLiveStreamMonitorResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 使用该接口停止垫片流。
# @param request: Request instance for StopLivePadProcessor.
# @type request: :class:`Tencentcloud::live::V20180801::StopLivePadProcessorRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::StopLivePadProcessorResponse`
def StopLivePadProcessor(request)
body = send_request('StopLivePadProcessor', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = StopLivePadProcessorResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 说明:录制后的文件存放于点播平台。用户如需使用录制功能,需首先自行开通点播账号并确保账号可用。录制文件存放后,相关费用(含存储以及下行播放流量)按照点播平台计费方式收取,请参考对应文档。
# @param request: Request instance for StopLiveRecord.
# @type request: :class:`Tencentcloud::live::V20180801::StopLiveRecordRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::StopLiveRecordResponse`
def StopLiveRecord(request)
body = send_request('StopLiveRecord', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = StopLiveRecordResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用来停止直播流监播任务。
# @param request: Request instance for StopLiveStreamMonitor.
# @type request: :class:`Tencentcloud::live::V20180801::StopLiveStreamMonitorRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::StopLiveStreamMonitorResponse`
def StopLiveStreamMonitor(request)
body = send_request('StopLiveStreamMonitor', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = StopLiveStreamMonitorResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 提前结束录制,中止运行中的录制任务并生成录制文件。任务被成功终止后,本次任务将不再启动。
# @param request: Request instance for StopRecordTask.
# @type request: :class:`Tencentcloud::live::V20180801::StopRecordTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::StopRecordTaskResponse`
def StopRecordTask(request)
body = send_request('StopRecordTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = StopRecordTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 提前结束截图,中止运行中的截图任务。任务被成功终止后,本次任务将不再启动。
# @param request: Request instance for StopScreenshotTask.
# @type request: :class:`Tencentcloud::live::V20180801::StopScreenshotTaskRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::StopScreenshotTaskResponse`
def StopScreenshotTask(request)
body = send_request('StopScreenshotTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = StopScreenshotTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 调用该接口实现切换当前播放所使用的主备流。
# @param request: Request instance for SwitchBackupStream.
# @type request: :class:`Tencentcloud::live::V20180801::SwitchBackupStreamRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::SwitchBackupStreamResponse`
def SwitchBackupStream(request)
body = send_request('SwitchBackupStream', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = SwitchBackupStreamResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 解绑域名证书
# @param request: Request instance for UnBindLiveDomainCert.
# @type request: :class:`Tencentcloud::live::V20180801::UnBindLiveDomainCertRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::UnBindLiveDomainCertResponse`
def UnBindLiveDomainCert(request)
body = send_request('UnBindLiveDomainCert', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = UnBindLiveDomainCertResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 更新水印。
# @param request: Request instance for UpdateLiveWatermark.
# @type request: :class:`Tencentcloud::live::V20180801::UpdateLiveWatermarkRequest`
# @rtype: :class:`Tencentcloud::live::V20180801::UpdateLiveWatermarkResponse`
def UpdateLiveWatermark(request)
body = send_request('UpdateLiveWatermark', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = UpdateLiveWatermarkResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
end
end
end
end