tencent cloud

文档反馈

直播转封装及转码

最后更新时间:2024-11-08 15:13:05

    直播转封装功能

    直播转封装功能,是指将直播现场推送出来的原始流(一般使用 RTMP 协议推送到云端),在云端转换为不同的封装格式的视频流推送给观众,同时支持输出纯音频或者纯视频功能,

    支持的输出封装格式

    RTMP
    FLV
    HLS
    DASH
    TS 流

    支持选择指定媒介输出

    纯音频输出:即删除视频媒介,只输出音频媒介,封装格式如前文所述。
    纯视频输出:即删除音频媒介,只输出视频媒介,封装格式如前文所述。

    支持的媒体加密方案

    Fairplay HLS 封装支持 Apple fairplay drm 解决方案。
    Widevine DASH 封装支持 Google widevine drm 解决方案。
    HLS 通用 Aes-128 加密 HLS 封装支持使用通用的 Aes-128 的加密方案。

    直播转码功能

    直播转码功能(包含视频转码和音频转码),是指将直播现场推送出来的原始流,在云端转换为不同编码格式、不同分辨率、不同码率的转码流推送给观众,以满足不同网络环境、不同终端设备等各种场景下的播放需求。

    典型应用场景举例

    将原始视频流转换为不同清晰度的转码流,用户可以根据自己的网络情况选择不同码率的视频流进行播放,以保证播放的流畅性。
    将原始视频流中打上官方自定义水印,给视频加上独有的标志,以标明版权,也可以起到宣传推广的效果。
    将视频流转换为编码压缩率更优的视频编码格式,例如某一条原始编码格式为 H264 的视频流,在观看的人数比较大的情况下,可以尝试将原始 H264 的视频流转换为压缩率更高的 H265 视频流,从而能够达到节省带宽,节约成本的效果。
    将原始视频流转化为不同的编码格式,以适应特殊终端的播放需求,例如有些特殊场景下解码 H264 视频由于性能问题无法达到实时播放的体验,需要将原始 H264 流转换为 Mpeg 编码格式的视频,从而达到终端实时解码播放的体验。

    视频转码参数

    参数类型
    说明
    视频编码方式
    支持以下视频编码格式:
    H264
    H265
    AV1
    视频编码档次
    支持以下三种编码档次:
    Baseline
    Main
    High
    视频编码码率
    支持视频输出码率范围:101kbps - 8000kbps。
    支持当指定输出码率大于输入原始码率时,输出码率保持为原始码率。例如指定输出码率为3000kbps,但是原始输入流的码率只有2000kpbs,这种情况下可以保持输出码率为2000kbps。
    
    视频编码帧率
    支持视频输出帧率范围:1fps - 60fps。
    支持当指定输出帧率大于输入原始帧率时,输出帧率保持为原始帧率。例如指定输出帧率为30fps,但是原始输入流的帧率只有20fps,这种情况下可以保持输出帧率为20fps。
    视频分辨率
    支持宽度范围:0 - 3000。
    支持高度范围:0 - 3000。
    支持单独指定宽度,高度依照宽度等比例缩放。
    支持单独指定高度,宽度依照高度等比例缩放。
    视频 GOP 长度
    支持视频 GOP 长度范围:1秒 - 10秒,一般建议2秒 - 4秒。
    视频码率控制方法
    支持如下两种码率控制方法:
    固定比特率(CBR)。
    动态比特率(VBR)。
    视频画面旋转
    支持将原视频画面顺时针旋转3个角度:
    顺时针旋转90度。
    顺时针旋转180度。
    顺时针旋转270度。

    音频转码参数介绍

    参数类型
    说明
    音频编码方式
    支持以下编码规格:
    AAC-LC
    AAC-HE
    AAC-HEV2
    音频采样率
    支持以下常用采样率,常用的采样率为48000和44100。
    96000
    64000
    48000
    44100
    32000
    24000
    16000
    12000
    8000
    音频编码码率
    音频支持码率范围:20kbps - 192kbps,常用音频码率如下:
    48kbps
    64kbps
    128kbps
    音频声道数
    音频支持以下声道数:
    单声道
    双声道

    视频转码常用预设模板

    清晰度
    模板名称
    视频分辨率
    视频码率
    视频帧率
    视频编码格式
    流畅
    550
    按比例缩放 * 540
    500kbps
    23
    H264
    标清
    900
    按比例缩放 * 720
    1000kbps
    25
    H264
    高清
    2000
    按比例缩放 * 1080
    2000kbps
    25
    H264

    极速高清转码功能

    基于腾讯视频云多年音视频编码技术积累、智能场景识别、动态编码技术、CTU/行/帧三级码率精准控制模型,为直播、点播等行业以更低的码率(平均节省50%+)提供更高清的流媒体服务。

    场景举例

    当直播推流码率高并且画面复杂时,可以通过智能动态技术和码率精准控制模型,实现高清低码,保证同等主观画质。

    功能优势

    随着当今各视频平台用户对视频源清晰度观看体验要求越来越高,当前直播行业1080P、码率3Mbps - 10Mbps已逐渐成为主流配置,所以带宽成本已经占据了视频平台成本比例中很大的一部分。而降低视频码率能够十分有效的减少带宽成本。 示例: 一场标准直播码率为3Mbps,直播时间4小时,观看人数200人,编码方式使用 H.264,分辨率1080P,不使用极速高清转码时,使用 直播价格计算器计算产生的带宽成本为127.08美元。
    使用极速高清转码降低码率之后,产生的带宽成本大约为:127.08 ×(100% - 30%)= 88.956美元。
    使用极速高清转码产生的费用:0.0443 × 240 = 10.632美元(刊例价格,不计算任何折扣)。
    成本总计:88.956 + 10.632 = 99.588美元。
    因此极速高清转码在为用户提供更优质的观看体验的同时,十分有效的降低了平台的带宽成本。

    主要参数

    极速高清转码与标准直播转码的参数配置方法基本一致,请参见 视频转码参数

    直播添加水印功能介绍

    视频流添加水印功能,指的是在原始流的基础上,给视频画面添加上各种预设好的标志图片,给视频加上独有的标志,以标明版权,也可以起到宣传推广的效果。

    水印相关参数

    水印的主要参数包括水印位置和水印大小,水印位置和大小由参数 XPosition、YPosition、Width 和 Height 决定,各参数含义如下:
    XPosition:X轴偏移,表示水印左侧和视频左侧边沿X轴偏移的百分比距离。
    YPosition:Y轴偏移,表示水印顶部和视频顶部边沿Y轴偏移的百分比距离。
    Width:水印宽度,占直播原始画面宽度百分比。
    Height:水印高度,占直播原始画面高度百分比。
    
    
    
    注意:
    当一个流启用了多种码率转码时(即一路原始流转化为多种分辨率的转码流),这种情况下需要添加水印,可以在 云直播控制台API 中设置 X 轴,Y 轴的百分比位置,系统会自适应水印的位置。

    水印参数例子

    视频输出画面为1920×1080,水印大小为320×240,使用百分比计算方式 XPosition = 5,YPosition = 5,Width=10。 根据视频输出画面的分辨率计算出水印的绝对位置和大小如下:
    XPosition_pixel = 1920 * 5% = 96
    YPosition_pixel = 1080 * 5% = 54
    Width_pixel = 1920 * 10% = 192
    Height_pixel = 192 * 240 / 320 = 144
    因此,水印位置距离视频视频画面左边沿为96像素,距离视频输出画面上边沿为54像素,水印大小为192像素 * 144像素。

    使用方法概述

    添加水印可以通过两种方式来实现,一种是通过 云直播控制台 来实现,另一种是通过 服务端 API 来实现。根据您的业务需求选择对应的使用方式。

    直播控制台

    1. 进入功能配置>直播水印添加水印配置模板,设置水印相关参数,并生成一个对应的水印模板 ID。具体操作请参见 直播水印
    2. 域名管理对您需操作的推流域名,单击管理>模板配置,将此域名与水印模板进行关联。具体操作请参见 水印配置

    API 调用

    1 调用 AddLiveWatermark 添加水印接口,设置水印的名称和参数信息。 2 调用 CreateLiveWatermarkRule 创建水印规则,设置参数推流域名 DomainName 和 WatermarkId(第1步返回),AppName 与推流和播放地址中的 AppName 保持一致,默认为 live
    注意:
    使用添加水印功能,会产生标准转码费用。

    转码参数设置使用方法

    使用方法概述

    设置转码参数可以通过两种方式来实现,一种是通过 云直播控制台 来实现,另一种是通过 服务端 API 来实现。不管使用哪一种方式,主要涉及水印模板、转码模板、转码规则的相关操作。

    直播控制台

    1. 进入功能配置>直播转码添加转码配置模板,支持添加 标准转码极速高清转码纯音频转码 模板。
    2. 根据您的需求创建对应的转码类型,设置转码相关参数。也可以使用我们系统默认的参数,并生成一个对应的转码模板 ID。
    3. 域名管理找到您需操作的拉流域名,单击管理>模板配置,将此域名与转码模板进行关联。具体操作请参见 转码配置

    API 调用

    1. 调用 CreateLiveTranscodeTemplate 创建转码模板接口,设置您需要的转码类型参数信息。
    2. 调用 CreateLiveTranscodeRule 创建转码规则,设置参数拉流域名 DomainName 和 TemplateId(第1步返回)。在 AppName 及 StreamName 填写空字符串,表示通配此域名下所有拉流的转码。您还可以将转码模板与不同流名称进行关联,以此实现部分直播流开启转码的效果。
    3. 每一个转码模板都有对应一个唯一转码模板名称,转码模板名称作为播放转码流的唯一标识,把转码模板名称添加到播放拉流地址中流 ID 名称的后面,就可以拉取到对应各种转码模板的转码流。
    注意:
    转码规则的操作,主要用来控制某个域名或者某条流启用某个转码模板,只有创建了转码规则,对应的播放域名拉取相应的转码模板才能生效。若没有创建转码规则,直接使用转码模板名称拼接的拉流地址是无效的。

    使用方法举例

    播放地址 = 播放域名 + 播放路径 + 流 ID 名称_转码模板名称 + 鉴权串
    对于一个推流,流 ID 为 1234_test,通过以下3个地址可以播放不同带水印码流的流:
    原始流:http://liveplay.tcloud.com/live/1234_test.flv?鉴权串
    标清转码流(带水印):http://liveplay.tcloud.com/live/1234_test_sd.flv?鉴权串
    高清流转码流(带水印):http://liveplay.tcloud.com/live/1234_test_hd.flv?鉴权串
    注意:
    播放带水印的流,需要对应的推流域名绑定创建的水印模板。

    使用接口

    通过控制台管理转码模板: 控制台支持查询、添加、修改和删除转码模板。详细操作请参见 直播转码
    通过服务端 API 管理转码模板
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持