直播录制的原理是什么?
对于一条直播流,一旦开启录制,音视频数据就会被旁路到录制系统。主播的手机推上来的每一帧数据,都会被录制系统追加写入到录制文件中。
一旦直播流中断,接入层会立刻通知录制服务器将正在写入的文件落地,将其转存到点播系统中,并为其生成索引,这样您在点播系统中就会看到这个新生成的录制文件了。同时,如果您配置了录制事件通知,录制系统会将该文件的索引 ID 和在线播放地址等信息通知给您之前配置的服务器上。
但是,如果一个文件过大,在云端的转出和处理过程中就很容易出错,所以为了确保成功率,我们的单个录制文件最长不会超过120分钟,您可以通过 RecordInterval 参数指定更短的分片。
为什么直播无法进行视频录制呢?
直播结束了要多久才能看到录制文件?
直播录制后,如何获取录制文件?
录制文件生成后自动存储到云点播系统,需要客户开通点播服务才能存储成功。可通过以下方式获取录制文件:
直播视频能迁移吗?
目前需要您获取视频的下载地址后自己迁移。
如何设置视频存储时长?
云直播的视频存储目前没有时间限制,您可以通过控制台和 RSET API 接口管理视频文件。
一次直播录制会生成几个录制文件?
录制 MP4、FLV 或 AAC 格式:单个文件时长限制为1分钟 - 120分钟。您可以通过 创建录制模板 接口中的 RecordInterval 参数指定更短的分片。
如果一次直播过程非常短暂,录制模块未启动就结束推流,那么系统会无法生成录制文件。
如果一次直播时间不算长(小于 RecordInterval),且中途没有推流中断的事情发生,那么通常只有一个文件。
如果一次直播时间很长(超过 RecordInterval ),那么会按照 RecordInterval 指定的时间长度进行分片,分片的原因是避免过长的文件在分布式系统中流转时间的不确定性。
如果一次直播过程中发生推流中断(之后 SDK 会尝试重新推流),那么每次中断均会产生一个新的分片。
录制 HLS 格式:最长单个文件时长无限制,如果超出续录超时时间则新建文件继续录制。续录超时时长可设置为0s - 1800s。
如何知道哪些文件属于某一次直播?
准确来说,作为 PAAS 的腾讯云并不清楚您的一次直播是怎么定义的,如果您的一次直播持续了20分钟,但中间有一次因为网络切换导致的断流,以及一次手动的停止和重启,那么这算是一次直播还是三次呢?
对于普通的移动直播场景,我们一般定义如下的界面之间的这段时间为一次直播:n
所以来自 App 客户端的时间信息很重要,如果您希望定义这段时间内的录制文件都属于这次直播,那么只需要用直播码和时间信息检索收到的录制通知即可(每一条录制通知事件都会携带流 ID、开始时间和结束时间等信息)。
如何把碎片拼接起来?
只设置了一个录制模板,但是直播录制出现了两路,如何排查?
一般情况下,可能是当前推流域名下并发了两个录制任务。建议根据下列思路依次排查:
1. 检查控制台录制配置信息,确认录制文件类型是否选择只选择一个格式。
若控制台为新版控制台,前往 域名管理,单击推流域名右侧的管理,进入查看模板配置中的录制配置,查看关联模板“录制格式”信息。
若控制台为旧版控制台,前往 直播码接入 > 接入配置 检查直播录制配置信息。
2. 创建录制任务 和 创建录制模板 为两种录制发起方式,实际使用中按需选择其中一种即可。若同一直播流,配置录制模板的同时创建了录制任务,会导致重复录制。请检查是否已在控制台开启录制任务同时,调用 API 3.0的 CreateRecordTask 接口或 API 2.0的 Live_Tape_Start 接口发起了录制任务。