云服务器内容精选

  • H.265 H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。H.264由于算法优化,可以低于1Mbps的速度实现标清(分辨率在1280P*720以下)数字图像传送。H.265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。
  • H.264 H.264,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准,同时也是MPEG-4第十部分。 H.264标准的主要目标是:与其它现有的视频编码标准相比,在相同的带宽下提供更加优秀的图像质量。它既保留了以往压缩技术的优点和精华又具有其他压缩技术无法比拟的许多优点。
  • Live FullAccess策略内容 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "live:*:*" ] } ] }
  • Live ReadOnlyAccess策略内容 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "live:*:get*", "live:*:list*" ] } ] }
  • 与其它服务的关系 若您需要使用直播服务的 消息通知 功能、直播录制和截图功能,您还需要开通其它依赖服务,如表1所示。 表1 与其它服务的关系 交互功能 相关服务 位置 使用消息通知服务( SMN )发布直播推流开始、推流结束及录制相关的消息。 消息通知服务(Simple Message Notification,SMN) 配置直播消息通知 使用 视频点播 服务存储 视频直播 录制文件。 视频点播服务(Video on Demand,VOD) - 将直播截图或录制文件存储到OBS桶中。 对象存储服务 (Object Storage Service,OBS) 创建桶 上传文件
  • 频道入流约束 表1 频道入流约束 限制项 说明 转码帧率 转码帧率不支持配置高于源流。 转码分辨率 转码分辨率不支持配置高于入流分辨率。 音视频编码器 视频支持H.264、H.265。 音频支持AAC、MP1、MP2和MP3。 注意:MP1、MP2和MP3仅支持TS入流,默认转码成AAC输出。 不支持字幕。 入流规范 入流规范,如下所示: 支持RTMP推流。 支持HTTP-FLV拉流,起播需携带sequence header。 支持HLS-PULL拉流,支持HLS V3协议、HTTP或HTTPS协议。 支持SRT-Listener推流,仅支持TS流,支持携带streamid或不携带streamid。 支持SRT-Caller拉流,仅支持TS流。 不支持输入加密流。 不支持纯音频入流,须至少一路视频;不支持纯视频输出,系统会自动补齐一路静音流。 主备输入流的编码器参数必须保持一致,否则主备输入流切换过程中,播放可能会中断。 入流码率≤50Mbps,帧率≤60fps,分辨率≤4K。 入流GOP时长 入流GOP时长的设置建议如下所示: 入流GOP时长推荐取值为1秒或其整数倍。 频道配置的切片时长必须≥GOP时长,推荐取值为GOP时长的整数倍。
  • 请求示例 PUT https://{endpoint}/v1/{project_id}/ott/channels/encorder-settings { "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test", "encoder_settings" : [ { "template_id" : "ld" } ] }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 result_code String 错误码 result_msg String 错误描述 domain String 推流 域名 app_name String 组名或应用名,为必填项 id String 频道ID。频道唯一标识,为必填项 sources Array of SourceRsp objects 推流URL列表。创建频道时,只有入流协议为RTMP_PUSH时,会返回推流URL列表 表8 SourceRsp 参数 参数类型 描述 url String RTMP推流地址 bitrate Integer 码率。 单位:bps。取值范围:(0,104,857,600](100Mbps) width Integer 分辨率对应宽的值。取值范围:0 - 4096(4K) height Integer 分辨率对应高的值。取值范围:0 - 2160(4K) enable_snapshot Boolean 描述是否使用该流做截图 状态码: 400 表9 响应Body参数 参数 参数类型 描述 result_code String 错误码 result_msg String 错误描述 domain String 推流域名 app_name String 组名或应用名,为必填项 id String 频道ID。频道唯一标识,为必填项
  • 响应示例 状态码: 200 Demo Information { "result_code" : "LIVE.100000000", "result_msg" : "SUC CES S", "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test" } 状态码: 400 Error response { "result_code" : "LIVE.103011019", "result_msg" : "The resource to access is not exists", "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test2" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,使用Token鉴权方式时必选。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Access-Control-Allow-Internal 否 String 服务鉴权Token,服务开启鉴权,必须携带Access-Control-Allow-Internal访问服务。 Access-Control-Allow-External 否 String 服务鉴权Token,服务开启鉴权,必须携带Access-Control-Allow-External访问服务。 表3 请求Body参数 参数 是否必选 参数类型 描述 domain 是 String 频道推流域名 app_name 是 String 组名或应用名 id 是 String 频道ID。频道唯一标识,为必填项 encoder_settings 否 Array of encoder_settings objects 转码模板配置 encoder_settings_expand 否 EncoderSettingsExpand object 音频输出配置 表4 encoder_settings 参数 是否必选 参数类型 描述 template_id 否 String 转码模板ID 表5 EncoderSettingsExpand 参数 是否必选 参数类型 描述 audio_descriptions 否 Array of audio_descriptions objects 音频输出配置的描述信息 表6 audio_descriptions 参数 是否必选 参数类型 描述 name 是 String 音频输出配置的名称。仅支持大小写字母,数字,中划线(-),下划线(_)。 同一个频道不同的音频输出配置名称,不允许重复。 audio_selector_name 是 String 音频选择器名称 language_code_control 否 String 语言代码控制。这里的设置不会修改音频实际的语言,只会修改音频对外展示的语言。 包含如下选项: FOLLOW_INPUT:如果所选音频选择器对应的输出音频有语言,则与其保持一致,否则会以这里配置的语言代码和流名称进行兜底。推荐当前选项,为默认值。 USE_CONFIGURED:用户根据实际情况自定义输出音频的语言和流名称。 language_code 否 String 语言代码,输入2或3个小写字母。 stream_name 否 String 流名称
  • 响应示例 状态码: 200 Demo Information { "result_code" : "LIVE.100000000", "result_msg" : "SUCCESS", "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test" } 状态码: 400 Error response { "result_code" : "LIVE.100011001", "result_msg" : "param check failed", "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "" }
  • 响应参数 状态码: 200 表15 响应Body参数 参数 参数类型 描述 result_code String 错误码 result_msg String 错误描述 domain String 推流域名 app_name String 组名或应用名,为必填项 id String 频道ID。频道唯一标识,为必填项 sources Array of SourceRsp objects 推流URL列表。创建频道时,只有入流协议为RTMP_PUSH时,会返回推流URL列表 表16 SourceRsp 参数 参数类型 描述 url String RTMP推流地址 bitrate Integer 码率。 单位:bps。取值范围:(0,104,857,600](100Mbps) width Integer 分辨率对应宽的值。取值范围:0 - 4096(4K) height Integer 分辨率对应高的值。取值范围:0 - 2160(4K) enable_snapshot Boolean 描述是否使用该流做截图 状态码: 400 表17 响应Body参数 参数 参数类型 描述 result_code String 错误码 result_msg String 错误描述 domain String 推流域名 app_name String 组名或应用名,为必填项 id String 频道ID。频道唯一标识,为必填项
  • 请求示例 PUT https://{endpoint}/v1/{project_id}/ott/channels/endpoints { "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test", "endpoints" : [ { "hls_package" : [ { "url" : "pull.testott.hls.com/ott/test/index.m3u8", "stream_selection" : [ { "key" : "sss", "max_bandwidth" : 1000, "min_bandwidth" : 100 } ], "hls_version" : "1", "segment_duration_seconds" : 4, "playlist_window_seconds" : 3600 } ], "dash_package" : [ { "url" : "pull.testott.hls.com/ott/test/index.mpd", "stream_selection" : [ { "key" : "bitrate=900000-1800000", "max_bandwidth" : 1800000, "min_bandwidth" : 900000 } ], "segment_duration_seconds" : 4, "playlist_window_seconds" : 3600 } ], "mss_package" : [ { "url" : "pull.testott.hls.com/ott/channel/manifest", "stream_selection" : [ { "key" : "bitrate=900000-1800000", "max_bandwidth" : 1800000, "min_bandwidth" : 900000 } ], "segment_duration_seconds" : 4, "playlist_window_seconds" : 3600 } ] } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Access-Control-Allow-Internal 否 String 服务鉴权Token,服务开启鉴权,必须携带Access-Control-Allow-Internal访问服务。 Access-Control-Allow-External 否 String 服务鉴权Token,服务开启鉴权,必须携带Access-Control-Allow-External访问服务。 表3 请求Body参数 参数 是否必选 参数类型 描述 domain 是 String 频道推流域名 app_name 是 String 组名或应用名 id 是 String 频道ID。频道唯一标识,为必填项 endpoints 否 Array of EndpointItem objects 频道出流信息 表4 EndpointItem 参数 是否必选 参数类型 描述 hls_package 否 Array of HlsPackageItem objects HLS打包信息 dash_package 否 Array of DashPackageItem objects DASH打包信息 mss_package 否 Array of MssPackageItem objects MSS打包信息 表5 HlsPackageItem 参数 是否必选 参数类型 描述 url 是 String 客户自定义的拉流地址,包括方法、域名、路径 stream_selection 否 Array of StreamSelectionItem objects 从全量流中过滤出一个码率在[min, max]区间的流。如果不需要码率过滤可不选。 hls_version 否 String HLS版本号 segment_duration_seconds 是 Integer 频道输出分片的时长,为必选项 单位:秒。取值范围:1-10 说明: 修改分片时长会影响已录制内容的时移和回看服务,请谨慎修改! playlist_window_seconds 否 Integer 频道直播返回分片的窗口长度,为频道输出分片的时长乘以数量后得到的值。实际返回的分片数不小于3个。 单位:秒。取值范围:0 - 86400(24小时转化成秒后的取值) encryption 否 Encryption object 加密信息 ads 否 Object 广告配置 ext_args 否 Object 其他额外参数 request_args 否 PackageRequestArgs object 播放相关配置 ad_marker 否 Array of strings 广告标识。 HLS取值:["ENHANCED_SCTE35"]。 表6 DashPackageItem 参数 是否必选 参数类型 描述 url 是 String 客户自定义的拉流地址,包括方法、域名、路径 stream_selection 否 Array of StreamSelectionItem objects 从全量流中过滤出一个码率在[min, max]区间的流。如果不需要码率过滤可不选。 segment_duration_seconds 是 Integer 频道输出分片的时长,为必选项 单位:秒。取值范围:1-10 说明: 修改分片时长会影响已录制内容的时移和回看服务,请谨慎修改! playlist_window_seconds 否 Integer 频道直播返回分片的窗口长度,为频道输出分片的时长乘以数量后得到的值。实际返回的分片数不小于3个。 单位:秒。取值范围:0 - 86400(24小时转化成秒后的取值) encryption 否 Encryption object 加密信息 ads 否 Object 广告配置 ext_args 否 Object 其他额外参数 request_args 否 PackageRequestArgs object 播放相关配置 ad_marker 否 String 广告标识。 DASH取值:"xml+bin"。 suggested_presentation_delay 否 Integer 建议播放延迟 单位:秒。取值范围:[1 - 120] minimum_update_period 否 Integer 索引最短更新周期 单位:秒。取值范围:[1 - 120] min_buffer_time 否 Integer 最小缓冲时间 单位:秒。取值范围:[1 - 120] 表7 MssPackageItem 参数 是否必选 参数类型 描述 url 是 String 客户自定义的拉流地址,包括方法、域名、路径 stream_selection 否 Array of StreamSelectionItem objects 从全量流中过滤出一个码率在[min, max]区间的流。如果不需要码率过滤可不选。 segment_duration_seconds 是 Integer 频道输出分片的时长,为必选项 单位:秒。取值范围:1-10 说明: 修改分片时长会影响已录制内容的时移和回看服务,请谨慎修改! playlist_window_seconds 否 Integer 频道直播返回分片的窗口长度,为频道输出分片的时长乘以数量后得到的值。实际返回的分片数不小于3个。 单位:秒。取值范围:0 - 86400(24小时转化成秒后的取值) encryption 否 Encryption object 加密信息 ext_args 否 Object 其他额外参数 delay_segment 否 Integer 延播时长,单位秒 request_args 否 PackageRequestArgs object 播放相关配置 表8 StreamSelectionItem 参数 是否必选 参数类型 描述 key 否 String 拉流URL中用于码率过滤的参数 max_bandwidth 否 Integer 最大码率,单位:bps 取值范围:0 - 104,857,600(100Mbps) min_bandwidth 否 Integer 最小码率,单位:bps 取值范围:0 - 104,857,600(100Mbps) 表9 Encryption 参数 是否必选 参数类型 描述 key_rotation_interval_seconds 否 Integer 密钥缓存时间。如果密钥不变,默认缓存七天。 请注意:目前为保留字段,不支持配置。 encryption_method 否 String 加密方式。 请注意:目前为保留字段,不支持配置。 level 否 String 取值如下: content:一个频道对应一个密钥 profile:一个码率对应一个密钥 默认值:content resource_id 是 String 客户生成的DRM内容ID system_ids 是 Array of strings system_id枚举值。 取值如下: HLS:FairPlay DASH:Widevine、PlayReady MSS:PlayReady url 是 String 获取密钥的DRM地址 speke_version 是 String drm speke 版本号 当前只支持1.0 request_mode 是 String 请求模式。 取值如下: direct_http:HTTP(S)直接访问DRM。 functiongraph_proxy:FunctionGraph代理访问DRM。 http_headers 否 Array of HttpHeader objects 需要添加在drm请求头中的鉴权信息。最多支持配置5个。 仅direct_http请求模式支持配置http_headers。 urn 否 String functiongraph_proxy请求模式需要提供functiongraph的urn。 表10 HttpHeader 参数 是否必选 参数类型 描述 key 是 String 请求头中key字段名 value 是 String 请求头中key对应的value值 表11 PackageRequestArgs 参数 是否必选 参数类型 描述 record 否 Array of RecordRequestArgs objects 录制播放相关配置 timeshift 否 Array of TimeshiftRequestArgs objects 时移播放相关配置 live 否 Array of LiveRequestArgs objects 直播播放相关配置 表12 RecordRequestArgs 参数 是否必选 参数类型 描述 start_time 否 String 开始时间 end_time 否 String 结束时间 format 否 String 格式 unit 否 String 单位 表13 TimeshiftRequestArgs 参数 是否必选 参数类型 描述 back_time 否 String 时移时长字段名 unit 否 String 单位 表14 LiveRequestArgs 参数 是否必选 参数类型 描述 delay 否 String 时延字段 unit 否 String 单位
  • 请求示例 PUT https://{endpoint}/v1/{project_id}/ott/channels/record-settings { "domain" : "push.testott.hls.com", "app_name" : "ott", "id" : "test", "record_settings" : { "rollingbuffer_duration" : 3600 } }