CN114339284A - 直播延迟的监控方法、设备、存储介质及程序产品 - Google Patents
直播延迟的监控方法、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN114339284A CN114339284A CN202111620871.XA CN202111620871A CN114339284A CN 114339284 A CN114339284 A CN 114339284A CN 202111620871 A CN202111620871 A CN 202111620871A CN 114339284 A CN114339284 A CN 114339284A
- Authority
- CN
- China
- Prior art keywords
- time
- live
- video image
- stream
- live broadcast
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本申请实施例提供一种直播延迟的监控方法、设备、存储介质及程序产品,涉及直播技术领域,通过推流端设备在录制每一视频图像时在每一帧视频图像中实时添加时间水印,并推流至流媒体服务器,拉流端设备从流媒体服务器拉取直播流数据,依次提取直播流数据中的各帧视频图像并进行播放,并识别当前播放的视频图像中的时间水印,得到时间水印对应的时间,根据时间水印对应的时间以及当前时间确定直播延迟时间。本实施例中通过时间水印的添加、识别以及和播放时的时间的比对,实现对直播延迟时间的自动监控,并且直播延迟时间准确稳定,不需要人工干涉,可降低成本。
Description
技术领域
本申请实施例涉及直播技术领域,尤其涉及一种直播延迟的监控方法、设备、存储介质及程序产品。
背景技术
随着互联网多媒体技术的发展,直播视频以其新颖、展现形式丰富等优点逐渐被广大用户所关注。目前,直播多应用于在线视频会议、商业直播、在线课堂等应用场景。
在直播过程中,直播延迟对可能会影响用户互动,或者影响用户获取关键信息的时机等,从而带来不好的用户体验。因此,准确确定直播视频的延迟时间具有重要意义。在实践中发现,目前己有的视频延迟测试方法主要是基于人工观察的方法,该种方法的人力资源成本较高、误差较大、且操作时间较长。
发明内容
本申请实施例提供一种直播延迟的监控方法、设备、存储介质及程序产品,用以提高对直播延迟的判断准确性,降低成本。
第一方面,本申请实施例提供直播延迟的监控方法,应用于拉流端设备,所述方法包括:
从流媒体服务器拉取直播流数据,依次提取所述直播流数据中的各帧视频图像,并进行播放;
识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,其中所述时间水印为推流端设备在录制每一视频图像时实时添加的时间水印;
根据所述时间水印对应的时间以及当前时间,确定直播延迟时间。
第二方面,本申请实施例提供一种直播延迟的监控方法,应用于推流端设备,所述方法包括:
实时录制各帧视频图像以形成直播流数据,在录制每一视频图像时在每一帧视频图像中实时添加时间水印;
将所述直播流数据推流至流媒体服务器,以供拉流端设备从所述流媒体服务器拉取所述直播流数据进行播放,并识别当前播放的视频图像中的时间水印,根据所述时间水印对应的时间以及当前时间确定直播延迟时间。
第三方面,本申请实施例提供一种直播延迟的监控装置,所述装置位于拉流端设备,所述装置包括:
通信模块,用于从流媒体服务器拉取直播流数据;
播放模块,用于依次提取所述直播流数据中的各帧视频图像,并进行播放;
识别模块,用于识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,其中所述时间水印为推流端设备在录制每一视频图像时实时添加的时间水印;
延迟监控模块,用于根据所述时间水印对应的时间以及当前时间,确定直播延迟时间。
第四方面,本申请实施例提供一种直播延迟的监控装置,所述装置位于推流端设备,所述装置包括:
录制模块,用于实时录制各帧视频图像以形成直播流数据,在录制每一视频图像时在每一帧视频图像中实时添加时间水印;
通信模块,用于将所述直播流数据推流至流媒体服务器,以供拉流端设备从所述流媒体服务器拉取所述直播流数据进行播放,并识别当前播放的视频图像中的时间水印,根据所述时间水印对应的时间以及当前时间确定直播延迟时间。
第五方面,本申请实施例提供一种拉流端设备,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面所述的方法。
第六方面,本申请实施例提供一种推流端设备,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第二方面所述的方法。
第七方面,本申请实施例提供一种在线课堂直播系统,包括:如第五方面所述的拉流端设备、如第六方面所述的推流端设备、以及流媒体服务器。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面所述的方法或第二方面所述的方法。
第九方面,本申请实施例提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如第一方面所述的方法或第二方面所述的方法。
本申请实施例提供的直播延迟的监控方法、设备、存储介质及程序产品,通过推流端设备在录制每一视频图像时在每一帧视频图像中实时添加时间水印,并推流至流媒体服务器,拉流端设备从流媒体服务器拉取直播流数据,依次提取直播流数据中的各帧视频图像并进行播放,并识别当前播放的视频图像中的时间水印,得到时间水印对应的时间,根据时间水印对应的时间以及当前时间确定直播延迟时间。本实施例中通过时间水印的添加、识别以及和播放时的时间的比对,实现对直播延迟时间的自动监控,并且直播延迟时间准确稳定,不需要人工干涉,可降低成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一实施例提供的直播系统的示意图;
图2为本申请一实施例提供的直播延迟的监控方法的流程图;
图3为本申请另一实施例提供的直播延迟的监控方法的流程图;
图4为本申请另一实施例提供的直播延迟的监控方法的流程图;
图5为本申请另一实施例提供的直播延迟的监控方法的流程图;
图6为本申请一实施例提供的直播延迟的监控装置的结构图;
图7为本申请另一实施例提供的直播延迟的监控装置的结构图;
图8为本申请一实施例提供的拉流端设备的结构图;
图9为本申请一实施例提供的推流端设备的结构图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在直播过程中,直播延迟对可能会影响用户互动,或者影响用户获取关键信息的时机等,从而带来不好的用户体验。因此,准确确定直播视频的延迟时间具有重要意义。在实践中发现,目前己有的视频延迟测试方法主要是基于人工观察的方法,该种方法的人力资源成本较高、误差较大、且操作时间较长。
为了解决上述技术问题,本申请实施例中,通过推流端设备实时录制各帧视频图像以形成直播流数据,在录制每一视频图像时在每一帧视频图像中实时添加时间水印;推流端设备将所述直播流数据推流至流媒体服务器;拉流端设备从流媒体服务器拉取直播流数据,依次提取所述直播流数据中的各帧视频图像,并进行播放;识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,其中所述时间水印为推流端设备在录制每一视频图像时实时添加的时间水印;根据所述时间水印对应的时间以及当前时间,确定直播延迟时间。本申请不需要依赖人工,对于直播延迟的判断准确性较高、成本较低。
本申请实施例提供的方法适用于如图1所示的直播系统,包括推流端设备、流媒体服务器、以及拉流端设备,还可包括业务服务器,其中,推流端设备是录制直播内容并推送至流媒体服务器的设备,其中系统可采用RTMP(Real Time Message Protocol,实时信息传输协议)推流协议,直播延时低,在直播领域应用广泛;流媒体服务器用于对音视频流进行接收和分发处理,其中可采用Nginx-Rtmp流媒体服务器;拉流端设备也即播放端,可以使用移动端或者PC端进行直播视频的播放,其中播放器使用RTMP协议从流媒体服务器拉取直播流数据进行解码播放;而业务服务器可以监控直播状态(包括监控下载速度、fps、数据大小等),调用第三方即时通讯SDK进行聊天,对关键帧进行缓存,还可提供直播延迟检测的后台服务,当然业务服务器也可将部分功能或全部与流媒体服务器集成在一起。
更具体的,推流端设备可以对FFmpeg(Fast Forward Mpeg)接口进行二次封装,包括任务实体、任务持久化层、任务处理层、任务管理层,其中FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,FFmpeg接口的任务实体包括任务ID、任务主进程、任务输出进程的管理;任务持久化层包括查询任务、添加任务、删除任务等功能;任务处理层包括任务执行器和消息处理器,任务执行器可开启或停止进程,消息处理器可对推流信息进行解析;任务管理层包括对任务的执行、停止、查询、保存等功能。
推流端设备推流过程可包括:使用OpenCVFrameGrabber组件,开启摄像设备并实时抓取录制;使用AudioFormat组件采集本地音频;使用FFmpeg:GDIGrab组件进行屏幕录制;使用H.264作为视频编码格式,AAC作为音频编码格式,分别对音视频进行编码;还可设置编码速率、视频帧率、关键帧间隔、固定音频比特率、视频比特率、双通道音频、内容速率因子等;设置直播输出的视频流格式为flv,将编码压缩的flv实时音视频流推送到流媒体服务器上;调用FFmpegFrameRecorder类中的start方法进行直播推流,并指定一个唯一的直播任务id。
在启动直播推流任务时可先对推流端设备系统进行初始化,并判断流媒体服务器是否启动,若流媒体服务器启动,则判断推流任务id是否为空,若为空则结束任务,若不为空,则执行推流命令,返回推流任务对象;判断对象否为空,若为空则停止推流,若不为空,则将任务对象保存到数据层,并返回任务id。在结束直播推流任务时,判断推流任务id是否不为空、且推流任务已存在,若推流任务id为空、或推流任务不存在,则结束,若推流任务id不为空、且推流任务已存在,则查询推流任务实体,停止推流任务;判断停止推流任务是否成功,若未成功,则输出推流任务停止失败的错误信息,若成功,则从数据层移出该推流任务,并杀死流媒体服务器进程。
拉流端设备的拉流过程可包括:使用FfmpegFrameGrabber组件从流媒体服务器拉取直播流数据;初始化视图组件和扬声器;对视频图像帧和声音帧进行解码;对解码成功的声音、图像分别写入视图组件和扬声器进行播放。
在本申请实施例提供的直播延迟的监控方法中,基于上述系统,通过推流端设备在录制每一视频图像时在每一帧视频图像中实时添加时间水印,并推流至流媒体服务器,拉流端设备从流媒体服务器拉取直播流数据,依次提取直播流数据中的各帧视频图像并进行播放,并识别当前播放的视频图像中的时间水印,得到时间水印对应的时间,根据时间水印对应的时间以及当前时间确定直播延迟时间。
此外,推流端设备在录制各帧视频图像以形成直播流数据时,可从直播流数据中确定关键帧并发送至流媒体服务器;而拉流端设备在确定直播延迟过大后,可从流媒体服务器获取当前最新的关键帧,并从关键帧处起,继续从流媒体服务器拉取直播流数据,从而跳过一段已经延迟的直播流数据,有效的减少了直播延迟。
此外,拉流端设备从流媒体服务器拉取直播流数据后,可通过双线程进行播放和存储,其中第一线程可用于播放,也即依次提取所述直播流数据中的各帧视频图像进行播放,而第二线程可用于对直播流数据进行持久化,例如采用flv格式持久化到本地,以用于直播回放。
本申请实施例提供的上述直播系统相较于一些常规的在线视频会议、商业直播系统更为轻量级,常规的直播系统采用TCP、UDP、RTSP协议,流媒体服务器常采用EasyDarwin、Wowza,推流端框架主要有X264、libremp,拉流端框架主要有ijkplayer、Audio Toolbox;而本申请的直播系统,采用RTMP协议,流媒体服务器采用NGINX-RTMP,推流端框架采用FFmpeg,拉流端框架采用FFmpeg,系统更为轻量级,更为简洁,可适用于在线课堂等场景的直播要求。尤其是在线课堂场景,学生随时随地在线上课,利用本申请的直播系统可以高效便捷的将教学资源实时共享给学生,共享的范围包括文本、试题、音视频、word文档、PPT、图片等多种多媒体格式的教学资源,方便教师进行课件演示、软件操作教学、多终端同步等操作,学生和老师还可以实时通讯,满足了学生在线上课的需求,并且能显著提高课堂效率,激发学生学习积极性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的直播延迟的监控方法流程图。本实施例提供了一种直播延迟的监控方法,其执行主体为拉流端设备,其中拉流端设备为观看视频的设备,该直播延迟的监控方法具体步骤如下:
S201、从流媒体服务器拉取直播流数据,依次提取所述直播流数据中的各帧视频图像,并进行播放。
在本实施例中,推流端设备实时录制各帧视频图像以形成直播流数据,并实时推流至流媒体服务器,其中推流端设备在实时录制各帧视频图像时,在录制每一视频图像时在每一帧视频图像中实时添加时间水印。其中,推流端设备可采用任意的推流协议,例如可采用RTMP推流协议,它是目前主流的流媒体传输协议,直播延时低,广泛用于直播领域。
拉流端设备则可从流媒体服务器拉取直播流数据,依次提取直播流数据中的各帧视频图像,并进行播放。可选的,拉流端设备的播放器可使用RTMP协议从流媒体服务器拉取直播流数据,由于直播流数据中包括视频图像和音频,可对视频图像和音频进行解码,并通过拉流端设备的播放器的视图组件和扬声器进行播放。
S202、识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,其中所述时间水印为推流端设备在录制每一视频图像时实时添加的时间水印。
在本实施例中,对于当前播放的视频图像,由于推流端设备在录制该视频图像时在视频图像中实时添加时间水印,因此可对当前博发放的视频图像中的时间水印进行识别,得到时间水印对应的时间。
在一种可选实施例中,S202所述的识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,具体可调用光学字符识别OCR(Optical CharacterRecognition,光学字符识别)程序接口,对当前播放的视频图像中的时间水印位置处进行OCR识别,得到所述时间水印对应的时间。其中OCR是电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程,通过OCR识别,可以准确得到当前播放的视频图像中的时间水印对应的时间。
S203、根据所述时间水印对应的时间以及当前时间,确定直播延迟时间。
在本实施例中,从当前播放的视频图像中的时间水印对应的时间实际上是推流端设备在录制该帧视频图像时的时间,因此将当前播放的视频图像中的时间水印对应的时间与拉流端设备播放该帧视频图像的当前时间进行比较,可以得到从录制该帧视频图像到播放该帧视频图像的时间间隔,该时间间隔即为直播延迟时间,其中包括推流端设备录制、推流过程的延迟时间,流媒体服务器接收和分发处理的延迟时间,以及拉流端设备拉流及解码的延迟时间等。
本实施例提供的直播延迟的监控方法,通过推流端设备在录制每一视频图像时在每一帧视频图像中实时添加时间水印,并推流至流媒体服务器,拉流端设备从流媒体服务器拉取直播流数据,依次提取直播流数据中的各帧视频图像并进行播放,并识别当前播放的视频图像中的时间水印,得到时间水印对应的时间,根据时间水印对应的时间以及当前时间确定直播延迟时间。本实施例中通过时间水印的添加、识别以及和播放时的时间的比对,实现对直播延迟时间的自动监控,并且直播延迟时间准确稳定,不需要人工干涉,可降低成本。
在上述实施例的基础上,如图3所示,在S203确定直播延迟时间后,还可包括:
S301、判断所述直播延迟时间是否超过预设阈值;
S302、若所述直播延迟时间超过预设阈值,则从所述流媒体服务器获取当前关键帧,所述当前关键帧为所述推流端设备在录制时实时确定、并发送至所述流媒体服务器的关键帧;
S303、从所述当前关键帧处起,继续从所述流媒体服务器拉取所述直播流数据,依次提取所述直播流数据中的各帧视频图像,并进行播放。
在本实施例中,可预先设定预设阈值,将获取到的直播延迟时间与预设阈值进行实时的比较,若判断直播延迟时间超过预设阈值,则说明直播延迟过大,可能影响观看效果。
在确定直播延迟过大之后需要进行加速,来减少直播延迟,提高直播观看效果。在本实施例中,推流端设备在录制各帧视频图像以形成直播流数据时,可从直播流数据中确定关键帧并发送至流媒体服务器,其中关键帧为直播流数据视频压缩中的I帧(I frame),又称为内部画面(intra picture),包含完整画面。在本实施例中,推流端设备在向流媒体服务器推直播流数据时,同时也将直播流数据推送到本地进行解析,可实时识别出直播流数据片段中的I帧,作为关键帧实时发送到流媒体服务器。而拉流端设备在确定直播延迟过大后,可从流媒体服务器获取当前最新的关键帧,并从关键帧处起,继续从流媒体服务器拉取直播流数据,从而跳过一段已经延迟的直播流数据,从关键帧处起继续依次提取直播流数据中的各帧视频图像进行播放,有效的减少了直播延迟,提高直播观看效果。
在上述任一实施例的基础上,本申请还可提供直播回放的方法,具体的,如图4所示,在S201所述的从流媒体服务器拉取直播流数据,依次提取所述直播流数据中的各帧视频图像,具体可包括:
S401、从流媒体服务器拉取直播流数据后,开启第一线程和第二线程;
S402、采用所述第一线程,依次提取所述直播流数据中的各帧视频图像;
S403、采用所述第二线程,对所述直播流数据按照预定格式进行持久化存储。
在本实施例中,拉流端设备从流媒体服务器拉取直播流数据后,可通过双线程进行播放和存储,其中第一线程可用于播放,也即依次提取所述直播流数据中的各帧视频图像进行播放,而第二线程可用于对直播流数据进行持久化,例如采用flv格式持久化到本地,以用于直播回放。
可选的,在对所述直播流数据按照预定格式进行持久化存储后,还可调用Tomcat服务器对持久化存储的直播流数据进行映射,生成对应的http链接;
在需要进行直播回放时,用户可在拉流端设备上触发直播回放指令,拉流端设备响应于直播回放指令,通过所述拉流端设备的网页浏览器访问所述http链接,对所述持久化存储的直播流数据进行回放,或者,通过所述拉流端设备的视频播放器根据所述http链接加载所述持久化存储的直播流数据进行回放,便于用户随时根据需求进行直播回放。
图5为本申请实施例提供的直播延迟的监控方法流程图。本实施例提供了一种直播延迟的监控方法,其执行主体为推流端设备,其中推流端设备为录制直播视频、并送至流媒体服务器的设备,该直播延迟的监控方法具体步骤如下:
S501、实时录制各帧视频图像以形成直播流数据,在录制每一视频图像时在每一帧视频图像中实时添加时间水印;
S502、将所述直播流数据推流至流媒体服务器,以供拉流端设备从所述流媒体服务器拉取所述直播流数据进行播放,并识别当前播放的视频图像中的时间水印,根据所述时间水印对应的时间以及当前时间确定直播延迟时间。
本实施例为上述实施例中推流端设备侧的方法实施例,其具体原理和技术效果可参见上述实施例,此处不再赘述。
可选的,所述实时录制各帧视频图像以形成直播流数据后,还包括:
对所述直播流数据实时提取直播流数据片段;
从当前的直播流数据片段中获取关键帧,确定为当前关键帧;
将所述当前关键帧发送至所述流媒体服务器,以在所述拉流端设备在确定所述直播延迟时间超过预设阈值时,从所述当前关键帧处起继续从所述流媒体服务器拉取所述直播流数据进行播放。
在本实施例中,通过确定关键帧并将关键帧发送到流媒体服务器,可用于在拉流端设备存在较大直播延迟时,从当前最新的关键帧处起继续从流媒体服务器拉取直播流数据进行播放,跳过一段已经延迟的直播流数据,从关键帧处起继续依次提取直播流数据中的各帧视频图像进行播放,有效的减少了直播延迟,提高直播观看效果。
图6为本申请实施例提供到的直播延迟的监控装置的结构图。本实施例提供的直播延迟的监控装置位于拉流端设备,可以执行拉流端设备侧的方法实施例提供的处理流程,如图6所示,所述直播延迟的监控装置600包括通信模块601、播放模块602、识别模块603、以及延迟监控模块604。
通信模块601,用于从流媒体服务器拉取直播流数据;
播放模块602,用于依次提取所述直播流数据中的各帧视频图像,并进行播放;
识别模块603,用于识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,其中所述时间水印为推流端设备在录制每一视频图像时实时添加的时间水印;
延迟监控模块604,用于根据所述时间水印对应的时间以及当前时间,确定直播延迟时间。
在本申请的一个或多个实施例中,所述识别模块603在识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间时,用于:
调用光学字符识别OCR程序接口,对当前播放的视频图像中的时间水印位置处进行OCR识别,得到所述时间水印对应的时间。
在本申请的一个或多个实施例中,所述延迟监控模块604在确定直播延迟时间后,还用于:
判断所述直播延迟时间是否超过预设阈值;
若所述直播延迟时间超过预设阈值,则从所述流媒体服务器获取当前关键帧,所述当前关键帧为所述推流端设备在录制时实时确定、并发送至所述流媒体服务器的关键帧;
从所述当前关键帧处起,继续从所述流媒体服务器拉取所述直播流数据,依次提取所述直播流数据中的各帧视频图像,并进行播放。
在本申请的一个或多个实施例中,所述播放模块602在从流媒体服务器拉取直播流数据,依次提取所述直播流数据中的各帧视频图像时,用于:
从流媒体服务器拉取直播流数据后,开启第一线程和第二线程;
采用所述第一线程,依次提取所述直播流数据中的各帧视频图像;
采用所述第二线程,对所述直播流数据按照预定格式进行持久化存储。
在本申请的一个或多个实施例中,所述播放模块602在对所述直播流数据按照预定格式进行持久化存储后,还用于:
调用Tomcat服务器对持久化存储的直播流数据进行映射,生成对应的http链接;
响应于直播回放指令,通过所述拉流端设备的网页浏览器访问所述http链接,对所述持久化存储的直播流数据进行回放,或者,通过所述拉流端设备的视频播放器根据所述http链接加载所述持久化存储的直播流数据进行回放。
本申请实施例提供的直播延迟的监控装置可以具体用于执行上述图2-4所提供的拉流端设备侧的方法实施例,具体功能此处不再赘述。
图7为本申请实施例直播延迟的监控装置的结构图。本实施例提供的直播延迟的监控装置位于推流端设备,可以执行推流端设备侧的方法实施例提供的处理流程,如图7所示,所述直播延迟的监控装置700包括录制模块701、通信模块702。
录制模块701,用于实时录制各帧视频图像以形成直播流数据,在录制每一视频图像时在每一帧视频图像中实时添加时间水印;
通信模块702,用于将所述直播流数据推流至流媒体服务器,以供拉流端设备从所述流媒体服务器拉取所述直播流数据进行播放,并识别当前播放的视频图像中的时间水印,根据所述时间水印对应的时间以及当前时间确定直播延迟时间。
在本申请的一个或多个实施例中,所述录制模块701在实时录制各帧视频图像以形成直播流数据后,还用于:
对所述直播流数据实时提取直播流数据片段;
从当前的直播流数据片段中获取关键帧,确定为当前关键帧;
所述通信模块702还用于,将所述当前关键帧发送至所述流媒体服务器,以在所述拉流端设备在确定所述直播延迟时间超过预设阈值时,从所述当前关键帧处起继续从所述流媒体服务器拉取所述直播流数据进行播放。
本申请实施例提供的直播延迟的监控装置可以具体用于执行上述图5所提供的推流端设备侧的方法实施例,具体功能此处不再赘述。
图8为本申请实施例提供的拉流端设备的结构示意图。本申请实施例提供的拉流端设备可以执行拉流端设备侧的直播延迟的监控方法实施例提供的处理流程,如图8所示,拉流端设备80包括存储器81、处理器82、计算机程序;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行以上实施例所述的拉流端设备侧的直播延迟的监控方法。此外,拉流端设备80还可具有通讯接口83,用于传输控制指令和/或数据。
图8所示实施例的拉流端设备可用于执行上述拉流端设备侧的直播延迟的监控方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本申请实施例提供的推流端设备的结构示意图。本申请实施例提供的推流端设备可以执行推流端设备侧的直播延迟的监控方法实施例提供的处理流程,如图9所示,推流端设备90包括存储器91、处理器92、计算机程序;其中,计算机程序存储在存储器91中,并被配置为由处理器92执行以上实施例所述的推流端设备侧的直播延迟的监控方法。此外,推流端设备90还可具有通讯接口93,用于传输控制指令和/或数据。
图9所示实施例的推流端设备可用于执行上述推流端设备侧的直播延迟的监控方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述拉流端设备侧或推流端设备侧实施例所述的方法。
另外,本实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行以实现上述拉流端设备侧或推流端设备侧实施例所述的方法。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应说明的是:以上各实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述各实施例对本申请实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例各实施例技术方案的范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种直播延迟的监控方法,其特征在于,应用于拉流端设备,所述方法包括:
从流媒体服务器拉取直播流数据,依次提取所述直播流数据中的各帧视频图像,并进行播放;
识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,其中所述时间水印为推流端设备在录制每一视频图像时实时添加的时间水印;
根据所述时间水印对应的时间以及当前时间,确定直播延迟时间。
2.根据权利要求1所述的方法,其特征在于,所述识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,包括:
调用光学字符识别OCR程序接口,对当前播放的视频图像中的时间水印位置处进行OCR识别,得到所述时间水印对应的时间。
3.根据权利要求1或2所述的方法,其特征在于,所述确定直播延迟时间后,还包括:
判断所述直播延迟时间是否超过预设阈值;
若所述直播延迟时间超过预设阈值,则从所述流媒体服务器获取当前关键帧,所述当前关键帧为所述推流端设备在录制时实时确定、并发送至所述流媒体服务器的关键帧;
从所述当前关键帧处起,继续从所述流媒体服务器拉取所述直播流数据,依次提取所述直播流数据中的各帧视频图像,并进行播放。
4.根据权利要求1所述的方法,其特征在于,所述从流媒体服务器拉取直播流数据,依次提取所述直播流数据中的各帧视频图像,包括:
从流媒体服务器拉取直播流数据后,开启第一线程和第二线程;
采用所述第一线程,依次提取所述直播流数据中的各帧视频图像;
采用所述第二线程,对所述直播流数据按照预定格式进行持久化存储。
5.根据权利要求4所述的方法,其特征在于,所述对所述直播流数据按照预定格式进行持久化存储后,还包括:
调用Tomcat服务器对持久化存储的直播流数据进行映射,生成对应的http链接;
响应于直播回放指令,通过所述拉流端设备的网页浏览器访问所述http链接,对所述持久化存储的直播流数据进行回放,或者,通过所述拉流端设备的视频播放器根据所述http链接加载所述持久化存储的直播流数据进行回放。
6.一种直播延迟的监控方法,其特征在于,应用于推流端设备,所述方法包括:
实时录制各帧视频图像以形成直播流数据,在录制每一视频图像时在每一帧视频图像中实时添加时间水印;
将所述直播流数据推流至流媒体服务器,以供拉流端设备从所述流媒体服务器拉取所述直播流数据进行播放,并识别当前播放的视频图像中的时间水印,根据所述时间水印对应的时间以及当前时间确定直播延迟时间。
7.根据权利要求6所述的方法,其特征在于,所述实时录制各帧视频图像以形成直播流数据后,还包括:
对所述直播流数据实时提取直播流数据片段;
从当前的直播流数据片段中获取关键帧,确定为当前关键帧;
将所述当前关键帧发送至所述流媒体服务器,以在所述拉流端设备在确定所述直播延迟时间超过预设阈值时,从所述当前关键帧处起继续从所述流媒体服务器拉取所述直播流数据进行播放。
8.一种直播延迟的监控装置,其特征在于,所述装置位于拉流端设备,所述装置包括:
通信模块,用于从流媒体服务器拉取直播流数据;
播放模块,用于依次提取所述直播流数据中的各帧视频图像,并进行播放;
识别模块,用于识别当前播放的视频图像中的时间水印,得到所述时间水印对应的时间,其中所述时间水印为推流端设备在录制每一视频图像时实时添加的时间水印;
延迟监控模块,用于根据所述时间水印对应的时间以及当前时间,确定直播延迟时间。
9.一种直播延迟的监控装置,其特征在于,所述装置位于推流端设备,所述装置包括:
录制模块,用于实时录制各帧视频图像以形成直播流数据,在录制每一视频图像时在每一帧视频图像中实时添加时间水印;
通信模块,用于将所述直播流数据推流至流媒体服务器,以供拉流端设备从所述流媒体服务器拉取所述直播流数据进行播放,并识别当前播放的视频图像中的时间水印,根据所述时间水印对应的时间以及当前时间确定直播延迟时间。
10.一种拉流端设备,其特征在于,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-5任一项所述的方法。
11.一种推流端设备,其特征在于,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求6或7所述的方法。
12.一种在线课堂直播系统,其特征在于,包括:如权利要求10所述的拉流端设备、如权利要求11所述的推流端设备、以及流媒体服务器。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-5或6-7任一项所述的方法。
14.一种计算机程序产品,包括计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-5或6-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620871.XA CN114339284A (zh) | 2021-12-27 | 2021-12-27 | 直播延迟的监控方法、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620871.XA CN114339284A (zh) | 2021-12-27 | 2021-12-27 | 直播延迟的监控方法、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114339284A true CN114339284A (zh) | 2022-04-12 |
Family
ID=81015924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111620871.XA Pending CN114339284A (zh) | 2021-12-27 | 2021-12-27 | 直播延迟的监控方法、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114339284A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115103215A (zh) * | 2022-06-16 | 2022-09-23 | 招商银行股份有限公司 | 直播的质检方法、系统、Web服务器及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003259314A (ja) * | 2002-02-26 | 2003-09-12 | Nippon Hoso Kyokai <Nhk> | 映像音声同期方法及びそのシステム |
CN101346741A (zh) * | 2005-12-22 | 2009-01-14 | 皇家飞利浦电子股份有限公司 | 通过嵌入水印实现脚本同步 |
CN102761773A (zh) * | 2012-07-03 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种利用i帧改善iptv业务的用户体验的方法 |
CN106792247A (zh) * | 2016-12-13 | 2017-05-31 | 飞狐信息技术(天津)有限公司 | 减少时延的直播流推送方法及装置、直播系统 |
CN106941428A (zh) * | 2017-02-28 | 2017-07-11 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于电子水印的图像延迟测试方法 |
CN107743252A (zh) * | 2017-11-01 | 2018-02-27 | 创盛视联数码科技(北京)有限公司 | 一种降低直播延迟的方法 |
CN113707160A (zh) * | 2021-03-05 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 一种回声延迟确定方法、装置、设备及存储介质 |
-
2021
- 2021-12-27 CN CN202111620871.XA patent/CN114339284A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003259314A (ja) * | 2002-02-26 | 2003-09-12 | Nippon Hoso Kyokai <Nhk> | 映像音声同期方法及びそのシステム |
CN101346741A (zh) * | 2005-12-22 | 2009-01-14 | 皇家飞利浦电子股份有限公司 | 通过嵌入水印实现脚本同步 |
CN102761773A (zh) * | 2012-07-03 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种利用i帧改善iptv业务的用户体验的方法 |
CN106792247A (zh) * | 2016-12-13 | 2017-05-31 | 飞狐信息技术(天津)有限公司 | 减少时延的直播流推送方法及装置、直播系统 |
CN106941428A (zh) * | 2017-02-28 | 2017-07-11 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于电子水印的图像延迟测试方法 |
CN107743252A (zh) * | 2017-11-01 | 2018-02-27 | 创盛视联数码科技(北京)有限公司 | 一种降低直播延迟的方法 |
CN113707160A (zh) * | 2021-03-05 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 一种回声延迟确定方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
叶天凤;: "多媒体文件管理系统的设计与实现", 湖北理工学院学报, no. 03, pages 1 - 3 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115103215A (zh) * | 2022-06-16 | 2022-09-23 | 招商银行股份有限公司 | 直播的质检方法、系统、Web服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019205872A1 (zh) | 视频流处理方法、装置、计算机设备及存储介质 | |
CN109547831B (zh) | 一种白板与视频同步的方法、装置、计算设备及存储介质 | |
CN108566558B (zh) | 视频流处理方法、装置、计算机设备及存储介质 | |
WO2016150317A1 (zh) | 直播视频的合成方法、装置及系统 | |
RU2601446C2 (ru) | Оконечное устройство, серверное устройство, способ обработки информации, программа и система подачи сцепленного приложения | |
US9686593B2 (en) | Decoding of closed captions at a media server | |
US20150062353A1 (en) | Audio video playback synchronization for encoded media | |
CN112653700B (zh) | 一种基于webrtc网页视频通信的方法 | |
CN111064973A (zh) | 一种基于ipv9的直播系统 | |
US8782721B1 (en) | Closed captions for live streams | |
WO2020215453A1 (zh) | 一种视频录制方法及系统 | |
CN111225222A (zh) | 基于rtmp的屏幕数据的视频流播放方法、装置和系统 | |
US20140208351A1 (en) | Video processing apparatus, method and server | |
CN101848367B (zh) | 基于文件的动态影像网络直播方法 | |
US20160029053A1 (en) | Method for transmitting media data and virtual desktop server | |
CN112019905A (zh) | 直播回放方法、计算机设备及可读存储介质 | |
WO2016050113A1 (zh) | 一种业务实现方法、设备及存储介质 | |
WO2024001661A1 (zh) | 视频合成方法、装置、设备和存储介质 | |
CN110139128B (zh) | 一种信息处理方法、拦截器、电子设备及存储介质 | |
CN113301359A (zh) | 音视频处理方法、装置及电子设备 | |
CN114339284A (zh) | 直播延迟的监控方法、设备、存储介质及程序产品 | |
US20140036990A1 (en) | System and method for optimizing a video stream | |
CN111918074A (zh) | 直播视频故障预警方法及相关设备 | |
KR20150112113A (ko) | 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법 | |
CN113630620A (zh) | 多媒体文件播放系统、相关方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |