音视频和课件同步播放的方法及系统技术方案

技术编号:31827054 阅读:16 留言:0更新日期:2022-01-12 12:56
本发明专利技术公开了一种音视频和课件同步播放的方法及系统,其中方法包括:S1,主播终端把音视频信号推流到服务器的音视频处理服务模块;S2,音视频处理服务模块把流数据转成RTMP流,并输出到服务器的视频直播服务模块;S3,视频直播服务模块接收到RTMP流,把音视频流数据转码成基于HLS协议的TS文件,TS文件用时间戳命名发布在内容分发网络CDN中;S4,HLS播放器通过事件的方式往外部抛出播放的时间戳;S5,主播操作课件时,主播终端会收集操作指令,发送给服务器的操作指令队列;S6,操作指令队列收到指令后,往指令中写入当前时间戳,保存进指令队列;S7,观众终端的课件播放器收到HLS播放器抛出的时间戳通知后,根据操作指令顺序模拟操作课件。操作课件。操作课件。

【技术实现步骤摘要】
音视频和课件同步播放的方法及系统


[0001]本专利技术属于计算机多媒体
,具体涉及一种音视频和课件同步播放的方法及系统。

技术介绍

[0002]HLS(HTTP Live Streaming)协议是一种基于HTTP协议的流媒体播放协议。由于主流的手机操作系统(安卓、IOS)都兼容HTTP协议,因此HLS能适配各种型号的移动端设备。
[0003]在教学直播场景中,流媒体和在线课件的同步播放是一种最基本的体验,应用场景如:老师在10点10分30秒的时候讲了一句话,同时做了一次在线课件的翻页,在学生端收听到老师讲话的时候,看到的课件也应自动翻页。但是,HLS协议本身只是音视频播放协议,无法完成课件和音视频的同步操作。

技术实现思路

[0004]本专利技术要解决的技术问题是提供一种音视频和课件同步播放的方法及系统,用于使得课件和音视频能保持在秒级以内的同步。
[0005]为解决上述技术问题,本专利技术采用如下的技术方案:
[0006]本专利技术实施例一方面提供了一种音视频和课件同步播放的方法,应用于包括主播终端、服务器和观众终端的音视频和课件同步播放的系统,包括以下步骤:
[0007]S1,主播终端把从摄像头、麦克风中采集到的音视频信号通过WebRTC协议推流到服务器的音视频处理服务;
[0008]S2,音视频处理服务把接收到的WebRTC协议的流数据转成RTMP流,并输出到服务器的视频直播服务;
[0009]S3,视频直播服务接收到RTMP流,把音视频流数据转码成基于HLS协议的TS文件,并从RTMP流的SEI信息中读取时间戳,TS文件用时间戳命名发布在内容分发网络CDN中;
[0010]S4,观众终端的HLS播放器根据m3u8文件中的TS文件列表播放视频,并通过事件的方式往外部抛出播放的时间戳;
[0011]S5,主播操作课件时,主播终端的课件操作端收集操作指令,发送给服务器的操作指令队列;
[0012]S6,操作指令队列收到指令后,往指令中写入当前时间戳,保存进指令队列;
[0013]S7,观众终端的课件播放器收到HLS播放器抛出的时间戳通知后,从操作指令队列中获取这个时间戳之前的操作指令,根据操作指令顺序模拟操作课件。
[0014]优选地,S2具体包括:
[0015]S201,音视频处理服务接收主播终端推送的音视频流;
[0016]S202,音视频流通过ffmpeg转码成每秒一个GoP;
[0017]S203,对于每个GoP,把当前的间时间戳写入SEI中;
[0018]S204,转码完成后的GoP通过RTMP协议输出到视频直播服务。
[0019]优选地,S4具体包括:
[0020]S401,从CDN中加载TS文件;
[0021]S402,解析TS文件名中的时间戳,以此为基准;
[0022]S403,每播放一段时间把时间戳累加相应的时间;
[0023]S404,把累加后的时间戳,通过事件抛出。
[0024]本专利技术实施例又一方面提供一种音视频和课件同步播放的系统,包括主播终端、服务器和观众终端,主播终端进一步包括音视频采集模块和课件操作端,服务器进一步包括音视频处理服务、视频直播服务和操作指令队列,观众终端进一步包括HLS播放器和课件播放器,
[0025]所述音视频采集模块用于将从摄像头、麦克风中采集到的音视频信号通过WebRTC协议推流到音视频处理服务;
[0026]所述音视频处理服务用于把接收到的WebRTC协议的流数据转成RTMP流,并输出到视频直播服务;
[0027]视频直播服务用于接收RTMP流,把音视频流数据转码成基于HLS协议的TS文件,并从RTMP流的SEI信息中读取时间戳,TS文件用时间戳命名发布在内容分发网络CDN中;
[0028]HLS播放器用于根据m3u8文件中的TS文件列表播放视频,并通过事件的方式往外部抛出播放的时间戳;
[0029]课件操作端用于在主播操作课件时收集操作指令,发送给操作指令队列;
[0030]操作指令队列用于收到指令后,往指令中写入当前时间戳,保存进指令队列;
[0031]课件播放器用于收到HLS播放器抛出的时间戳通知后,从操作指令队列中获取这个时间戳之前的操作指令,根据操作指令顺序模拟操作课件。
[0032]优选地,所述音视频处理服务用于把接收到的WebRTC协议的流数据转成RTMP流,并输出到视频直播服务具体包括:
[0033]音视频处理服务接收主播终端推送的音视频流;
[0034]音视频流通过ffmpeg转码成每秒一个GoP;
[0035]对于每个GoP,把当前的间时间戳写入SEI中;
[0036]转码完成后的GoP通过RTMP协议输出到视频直播服务。
[0037]优选地,HLS播放器用于根据m3u8文件中的TS文件列表播放视频,并通过事件的方式往外部抛出播放的时间戳具体包括:
[0038]从CDN中加载TS文件;
[0039]解析TS文件名中的时间戳,以此为基准;
[0040]每播放一段时间把时间戳累加相应的时间;
[0041]把累加后的时间戳,通过事件抛出。
[0042]采用本专利技术具有如下的有益效果:
[0043](1)本方法中观众端是使用CDN来获取基于HLS的TS文件的,这个过程中,主要产生的费用是来自CDN的流量,CDN流量性价比是最高的。
[0044](2)从终端兼容性来说,HLS本身是基于HTTP协议的,HTTP协议在PC\手机等各种终端设备中都兼容。
附图说明
[0045]图1为本专利技术实施例的音视频和课件同步播放的方法的示意图。
具体实施方式
[0046]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0047]参照图1,所示为本专利技术实施例的音视频和课件同步播放的方法的步骤流程图,
[0048]S1,主播终端10的音视频采集模块101把从摄像头、麦克风中采集到的音视频信号通过WebRTC协议推流到服务器20的音视频处理服务模块201。WebRTC即网页即时通信(Web Real

Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。
[0049]S2,音视频处理服务模块201把接收到的WebRTC协议的流数据转成实时消息传输协议(Real Time Messaging Protocol,RTMP)流,并输出到服务器20的视频直播服务模块202;
[0050]S3,视频直播服务模块202接收到RTMP流,把音视频流数据转本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种音视频和课件同步播放的方法,其特征在于,应用于包括主播终端、服务器和观众终端的音视频和课件同步播放的系统,包括以下步骤:S1,主播终端把从摄像头、麦克风中采集到的音视频信号通过WebRTC协议推流到服务器的音视频处理服务;S2,音视频处理服务把接收到的WebRTC协议的流数据转成RTMP流,并输出到服务器的视频直播服务;S3,视频直播服务接收到RTMP流,把音视频流数据转码成基于HLS协议的TS文件,并从RTMP流的SEI信息中读取时间戳,TS文件用时间戳命名发布在内容分发网络CDN中;S4,观众终端的HLS播放器根据m3u8文件中的TS文件列表播放视频,并通过事件的方式往外部抛出播放的时间戳;S5,主播操作课件时,主播终端的课件操作端收集操作指令,发送给服务器的操作指令队列;S6,操作指令队列收到指令后,往指令中写入当前时间戳,保存进指令队列;S7,观众终端的课件播放器收到HLS播放器抛出的时间戳通知后,从操作指令队列中获取这个时间戳之前的操作指令,根据操作指令顺序模拟操作课件。2.如权利要求1所述的音视频和课件同步播放的方法,其特征在于,S2具体包括:S201,音视频处理服务接收主播终端推送的音视频流;S202,音视频流通过ffmpeg转码成每秒一个GoP;S203,对于每个GoP,把当前的时间戳写入SEI中;S204,转码完成后的GoP通过RTMP协议输出到视频直播服务。3.如权利要求1所述的音视频和课件同步播放的方法,其特征在于,S4具体包括:S401,从CDN中加载TS文件;S402,解析TS文件名中的时间戳,以此为基准;S403,每播放一段时间把时间戳累加相应的时间;S404,把累加后的时间戳,通过事件抛出。4.一种音视频和课件同步播放的系统,其特征在于,包括主播终端、服务器和观众终端,主播终端...

【专利技术属性】
技术研发人员:倪峰李益民
申请(专利权)人:杭州阔知网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1