CN108234997B - 直播视频的时延测量方法、设备、***及计算机可读介质 - Google Patents
直播视频的时延测量方法、设备、***及计算机可读介质 Download PDFInfo
- Publication number
- CN108234997B CN108234997B CN201711320836.XA CN201711320836A CN108234997B CN 108234997 B CN108234997 B CN 108234997B CN 201711320836 A CN201711320836 A CN 201711320836A CN 108234997 B CN108234997 B CN 108234997B
- Authority
- CN
- China
- Prior art keywords
- video frame
- target video
- acquisition time
- code stream
- time stamp
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/004—Diagnosis, testing or measuring for television systems or their details for digital television systems
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明提供一种直播视频的时延测量方法、设备、***及计算机可读介质。其方法包括:根据编码后的目标视频帧的PTS、以及预先建立的目标视频帧的PTS与采集目标视频帧的采集时间戳的关联关系,获取目标视频帧的采集时间戳;将采集时间戳封装在码流中;向CDN端传输封装有编码后的目标视频帧的数据以及对应的采集时间戳的码流,以供CDN端向播放端传输目标视频帧的数据的同时,传输目标视频帧的采集时间戳,由播放端在播放目标视频帧时,测量直播的时延。本发明的技术方案,可以省去人工操作,有效地提高测量的精度。而且本发明的技术方案,能够同时支持flv、rtmp及hls等多种协议,灵活性非常高,使用领域非常广。
Description
【技术领域】
本发明涉及计算机应用技术领域,尤其涉及一种直播视频的时延测量方法、设备、***及计算机可读介质。
【背景技术】
随着互联网的发展,伴随着互联网而出现各种各样的服务。例如,直播便是通过互联网而出现的一种视频服务。
现有的直播***具体可以包括推流端、内容分发网络(Content DeliveryNetwork;CDN)端即云端、以及播放端。其中推流端采集视频帧,经过编码处理后将视频帧的原始数据发生给CDN端;CDN端接收到视频帧的原始数据之后,将视频帧转码为多种分辨率的格式;然后在播放端请求某种格式的直播时,将对应格式的视频帧数据传输给播放端,以供播放端播放该视频帧。通过采用上述方式对每一个视频帧进行处理,可以实现视频的直播。既然播放的过程属于直播,那么时延便是衡量直播质量的一个重要参考指标,该时延指的是从推流端采集视频帧到播放端播放该视频帧之间的时间延迟。现有技术中,直播中的时延测量,可以通过手动设置时钟的方式,分别记录采集时间戳和播放时间戳,以对时延进行测量。
但是,上述的直播中的时延测量方式需要手工操作,导致测量的精度较低。
【发明内容】
本发明提供了一种直播视频的时延测量方法、设备、***及计算机可读介质,用于提高直播中时延的测量精度。
本发明提供一种直播视频的时延测量方法,所述方法包括:
根据编码后的目标视频帧的PTS、以及预先建立的所述目标视频帧的PTS与采集所述目标视频帧的采集时间戳的关联关系,获取所述目标视频帧的所述采集时间戳;
将所述采集时间戳封装在码流中;
向CDN端传输封装有编码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述CDN端向播放端传输所述目标视频帧的数据的同时,传输所述目标视频帧的所述采集时间戳,由所述播放端在播放所述目标视频帧时,测量直播的时延。
进一步可选地,如上所述的方法中,将所述采集时间戳封装在码流中,具体包括:
将所述采集时间戳封装在码流的SEI中。
进一步可选地,如上所述的方法中,还包括:
在所述码流的SEI中设置有所述采集时间戳的存在标识。
进一步可选地,如上所述的方法中,根据编码后的目标视频帧的PTS、以及预先建立的所述目标视频帧的PTS与采集所述目标视频帧的采集时间戳的关联关系,获取所述目标视频帧的所述采集时间戳之前,所述方法还包括:
在采集所述目标视频帧时,获取所述目标视频帧时的采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
本发明还提供一种直播视频的时延测量方法,所述方法包括:
在对推流端传输的码流中的目标视频帧的数据进行转码前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
在对所述目标视频帧的数据进行转码后,根据所述关联关系,将所述采集时间戳添加至封装有转码后的所述目标视频帧的数据的码流中;
向播放端传输封装有转码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述播放端在播放所述目标视频帧时,测量直播的时延。
进一步可选地,如上所述的方法中,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系,具体包括:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
进一步可选地,如上所述的方法中,从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳之前,所述方法还包括:
根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
本发明还提供一种直播视频的时延测量方法,所述方法包括:
在对CDN端传输的码流中的目标视频帧进行播放前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
在所述目标视频帧被播放时,建立所述目标视频帧的PTS与所述目标视频帧的播放时间戳的对应关系;
根据所述关联关系以及所述对应关系,获取播放所述目标视频帧的直播时延。
进一步可选地,如上所述的方法中,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系,具体包括:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
进一步可选地,如上所述的方法中,从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳之前,所述方法还包括:
根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
本发明提供一种推流端设备,所述设备包括:
获取模块,用于根据编码后的目标视频帧的PTS、以及预先建立的所述目标视频帧的PTS与采集所述目标视频帧的采集时间戳的关联关系,获取所述目标视频帧的所述采集时间戳;
封装模块,用于将所述采集时间戳封装在码流中;
传输模块,用于向CDN端传输封装有编码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述CDN端向播放端传输所述目标视频帧的数据的同时,传输所述目标视频帧的所述采集时间戳,由所述播放端在播放所述目标视频帧时,测量直播的时延。
进一步可选地,如上所述的设备中,所述封装模块,具体用于将所述采集时间戳封装在码流的SEI中。
进一步可选地,如上所述的设备中,所述设备还包括:
设置模块,用于在所述码流的SEI中设置有所述采集时间戳的存在标识。
进一步可选地,如上所述的设备中,还包括建立模块;
所述获取模块,还用于在采集所述目标视频帧时,获取所述目标视频帧时的采集时间戳;
所述建立模块,用于建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
本发明还提供一种CDN端设备,其特征在于,所述设备包括:
建立模块,用于在对推流端传输的码流中的目标视频帧的数据进行转码前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
添加模块,用于在对所述目标视频帧的数据进行转码后,根据所述关联关系,将所述采集时间戳添加至封装有转码后的所述目标视频帧的数据的码流中;
传输模块,用于向播放端传输封装有转码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述播放端在播放所述目标视频帧时,测量直播的时延。
进一步可选地,如上所述的设备中,所述建立模块,具体用于:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
进一步可选地,如上所述的设备中,还包括:
确定模块,用于根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
本发明还提供一种播放端设备,所述设备包括:
建立模块,用于在对CDN端传输的码流中的目标视频帧进行播放前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
所述建立模块,还用于在所述目标视频帧被播放时,建立所述目标视频帧的PTS与所述目标视频帧的播放时间戳的对应关系;
获取模块,用于根据所述关联关系以及所述对应关系,获取播放所述目标视频帧的直播时延。
进一步可选地,如上所述的设备中,所述建立模块,具体用于:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
进一步可选地,如上所述的设备中,还包括:
确定模块,用于根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
本发明还提供一种视频直播***,包括如上所述的推流端设备、如上所述的CDN端设备以及如上所述的播放端设备;所述CDN端设备分别与所述推流端设备和所述播放端设备通信连接。
本发明还提供一种计算机设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的直播视频的时延测量方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的直播视频的时延测量方法。
本发明的直播视频的时延测量方法、设备、***及计算机可读介质,通过采用上述技术方案,可以将目标视频帧的时间戳封装在码流中进行传输,以保证采集时间戳能够被成功传输到播放端,使得播放端在播放时能够根据采集时间戳有效地完成直播时延的测量。相对于现有的人工操作实现直播时延的测量,可以省去人工操作,有效地提高测量的精度。而且本发明的技术方案,能够同时支持flv、rtmp及hls等多种协议,灵活性非常高,使用领域非常广。
【附图说明】
图1为本发明的直播视频的时延测量方法实施例一的流程图。
图2为本发明的直播视频的时延测量方法实施例二的流程图。
图3为本发明的直播视频的时延测量方法实施例三的流程图。
图4为本发明的直播视频的时延测量方法实施例四的信令图。
图5为本发明的推流端设备实施例的结构图。
图6为本发明的CDN端设备实施例的结构图。
图7为本发明的播放端设备实施例的结构图。
图8为本发明的视频直播***实施例的结构图。
图9为本发明的计算机设备实施例的结构图。
图10为本发明提供的一种计算机设备的示例图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1为本发明的直播视频的时延测量方法实施例一的流程图。如图1所示,本实施例的直播视频的时延测量方法,具体可以包括如下步骤:
100、根据编码后的目标视频帧的显示时间戳(Presentation Time Stamp;PTS)、以及预先建立的目标视频帧的PTS与采集目标视频帧的采集时间戳的关联关系,获取目标视频帧的采集时间戳;
本实施例的直播视频的时延测量方法的执行主体为视频直播***中的推流端设备,该推流端设备在视频直播时,用于采集直播视频中的每一视频帧的图像,并将视频帧通过内容分发网络(Content Delivery Network;CDN)端即云端发送至播放端,以供播放端播放每一视频帧,实现视频直播。本实施例中以一个目标视频帧为例,来介绍本实施例的直播视频的时延测量。
本实施例的目标视频帧具体可以为直播视频中的任一帧的图像;目标视频帧中的PTS可以携带在目标视频帧中,用于标识该目标视频帧。采集目标视频帧时可以获取到该目标视频帧的PTS,详细可以参考相关现有技术,在此不再在赘述。
可选地,在步骤100之前,还可以包括:在采集目标视频帧时,获取目标视频帧的采集时间戳;建立目标视频帧的PTS与对应的采集时间戳的关联关系。
具体地,本实施例在采集目标视频帧的时候,还需要采集目标视频帧的采集时间戳即采集时刻。本实施例的目的是将采集时间戳通过CDN端最终传输至播放端,以供播放端在播放时,根据该采集时间戳以及播放时对应的播放时间戳,测量该目标视频帧的直播时延。本实施例中可以假定正常情况下,直播视频中的每一个视频帧的直播时延都相同,可以将任一目标视频帧的时延作为直播视频的时延,从而得到直播视频的时延。
由于本实施例中的目标视频帧的PTS唯一标识该目标视频帧,可以将目标视频帧的PTS与对应的采集时间戳建立关联,从而实现将采集时间戳与目标视频帧关联起来。推流端在向CDN端发送目标视频帧之前,先将目标视频帧送入编码器进行编码,从编码器获取编码后的目标视频帧的数据;然后根据编码后的目标视频帧的PTS,从预先建立的目标视频帧的PTS与采集时间戳的关联关系,可以获取到该目标视频帧的采集时间戳。
101、将采集时间戳封装在码流中;
具体地,将获取的采集时间戳封装在码流中,例如,具体可以将采集时间戳封装在码流的补充增强信息(Supplemental enhancement information;SEI)中,进一步优选地,可以将该SEI***在码流中的目标视频帧的数据包即网络抽象层(Network AbstractLayer;NAL)包之前。实际应用中,采集时间戳还可以封装在码流中的其他位置,在此不再赘述。
本实施例中,通过SEI传输目标视频帧的采集时间戳,SEI为H.264标准的一部分,可以支持flash video(简称flv)协议、http直播流(http live streaming;hls)协议以及实时消息传输协议(real time messaging protocol;rtmp)。因此,本实施例通过将目标视频帧的采集时间戳携带在SEI中进行传输,即使在CDN端进行转码帧率变换,也可以采取一定的措施保证SEI中的采集时间戳不丢失,从而可以很好完成直播视频时延的测量。
另外,进一步可选地,本实施例中,在码流的SEI中还可以设置有采集时间戳的存在标识,例如当SEI中存在采集时间戳时,可以将某个预设位置的数值设置为1,作为采集时间戳的存在标识。而在SEI中不存在采集时间戳时,将该预设位置的数值设置为0。这样在使用时,例如CDN端可以先检测该预设位置的数值是否为1,若为1,则确定该数值为采集时间戳的存在标识,可以从SEI中预先设定的存储采集时间戳的位置获取该采集时间戳。而若该预设位置的数值为0,则确定SEI中没有携带采集时间戳。
102、向CDN端传输封装有编码后的目标视频帧的数据以及对应的采集时间戳的码流,以供CDN端向播放端传输目标视频帧的数据的同时,传输目标视频帧的采集时间,由播放端在播放目标视频帧时,测量直播的时延。
经过上述处理,将目标视频帧封装在码流中之后,推流端可以向CDN端传输封装有编码后的目标视频帧的数据以及对应的采集时间戳的码流,以供CDN端向播放端传输目标视频帧的数据的同时,传输目标视频帧的采集时间,由播放端在播放目标视频帧时,测量直播的时延。
本实施例中,推流端与CDN端之间的码流传输可以采用flv协议、rtmp协议或者hls协议来实现数据传输。
需要说明的是,本实施例中要实现直播时延的测量,必须要求推流端、CDN端以及播放端的时钟同步,具体的时钟同步的方法可以参考相关现有技术,在本发明中不做详细赘述。
通过采用本实施例的直播视频的时延测量方法,可以实现对直播视频的时延进行准确测量,以便于后续根据测量的直播视频的时延,优化直播***中的直播的时延,提高直播质量和直播效率。
本实施例的直播视频的时延测量方法,通过根据编码后的目标视频帧的PTS、以及预先建立的目标视频帧的PTS与采集目标视频帧的采集时间戳的关联关系,获取目标视频帧的采集时间戳;将采集时间戳封装在码流中;向CDN端传输封装有编码后的目标视频帧的数据以及对应的采集时间戳的码流,以供CDN端向播放端传输目标视频帧的数据的同时,传输目标视频帧的采集时间,由播放端在播放目标视频帧时,测量直播的时延。本实施例的技术方案中,通过将目标视频帧的时间戳封装在码流中进行传输,以保证采集时间戳能够被成功传输到播放端,使得播放端在播放时能够根据采集时间戳有效地完成直播时延的测量。相对于现有的人工操作实现直播时延的测量,可以省去人工操作,有效地提高测量的精度。
另外,现有技术中还有采用在flv协议中传输视频帧的采集时间戳的方式,以在播放该视频帧时根据播放时间戳和采集时间戳,实现时延的测量;但是该种方式不支持码流的转换,灵活性较差。现有技术中还提供有一种通过增加rtmp的时间戳命令,传输视频帧的采集时间戳,以在播放该视频帧时根据播放时间戳和采集时间戳,实现时延的测量。这种方式实现时需要将rtmp命令强行与视频帧数据关联,不仅导致时延测量的误差较大,同时该方式也不支持flv协议以及hls协议,灵活性比较差。
而且本实施例的直播视频的时延测量方法,与上述现有方案相比,能够同时支持flv、rtmp及hls等多种协议,灵活性非常高,使用领域非常广。
图2为本发明的直播视频的时延测量方法实施例二的流程图。如图2所示,本实施例的直播视频的时延测量方法,具体可以包括如下步骤:
200、在对推流端传输的码流中的目标视频帧的数据进行转码前,根据码流中的目标视频帧的数据以及目标视频帧的采集时间戳,建立目标视频帧的PTS与对应的采集时间戳的关联关系;
本实施例的直播视频的时延测量方法的执行主体为CDN端设备或者也可以称为云端,即本实施例在CDN端描述本发明的技术方案。具体地,推流端可以通过flv、rtmp或hls等任一种协议,将封装有目标视频帧的数据和采集目标视频帧的采集时间戳的码流传输至CDN端。CDN端接收到码流之后,需要将目标视频帧转换成各种分辨率的格式,以分别支持高清、标准以及低清视频的播放。例如,具体可以分别通过不同的编码器实现对目标视频帧的数据进行转码。但是若直接对码流进行转码,以实现对目标视频帧的数据进行转码,会导致码流中封装的目标视频帧的采集时间戳丢失。因此,本实施例中,可以在对目标视频帧的数据转码之前,具体可以包括如下步骤:
(a)从码流中的目标视频帧的数据中获取目标视频帧的PTS;
(b)从码流中的SEI中获取目标视频帧的采集时间戳;
(c)建立目标视频帧的PTS与对应的采集时间戳的关联关系。
本实施例中码流中既包括目标视频帧的数据,又包括目标视频帧的采集时间戳,具体地,该采集时间戳可以封装在码流的SEI中。具体地,该SEI可以位于码流中封装目标视频帧的数据的NAL包之前。由于目标视频帧的PTS用于唯一标识该目标视频帧,因此,具体可以从码流中的目标视频帧的数据中获取目标视频帧的PTS;从码流中的SEI中获取目标视频帧的采集时间戳;然后建立目标视频帧的PTS与对应的采集时间戳的关联关系。
本实施例的步骤(a)-(c)为本实施例中的步骤200的一种具体实现方式,实际应用中,本实施例中的采集时间戳还可以封装在码流中的其他位置,在此不再赘述。
进一步可选地,本实施例的SEI中还可以携带有用于标识采集时间戳的存在标识,若SEI中携带有该存在标识,则表示该SEI中携带有采集时间戳;否则未携带有采集时间戳。因此,在步骤(b)“从码流中的SEI中获取目标视频帧的采集时间戳”之前,还可以包括:从码流的SEI中获取采集时间戳的存在标识所在的位置的数值,然后根据该数值判断SEI中是否存在采集时间戳。若该数值为1,则标识码流中的SEI中存在采集时间戳的存在标识,该存在标识的位置可以预先双方设定好的。然后可以确定根据码流中的SEI中的存在标识1,可以确定SEI中携带有采集时间戳。否则如该数值为0,则标识码流中的SEI中不存在采集时间戳的存在标识。
201、在对目标视频帧的数据进行转码后,根据关联关系,将采集时间戳添加至封装有转码后的目标视频帧的数据的码流中;
在CDN端中,可以采用相关技术将目标视频帧的数据进行转码,得到各种分辨率的转码后的目标视频帧的数据。然后在播放端的用户请求目标视频帧时,再继续将转码后的目标视频帧的数据传输给播放端。例如在对目标视频帧的数据进行转码后,传输之前,可以根据转码后的目标视频帧的PTS以及预先建立的PTS与对应的采集时间戳的关联关系,获取该目标视频帧对应的采集时间戳,然后将采集时间戳添加至封装有转码后的目标视频帧的数据的码流中。例如可以具体采集时间戳添加至该码流的SEI中,具体地,该SEI可以位于码流中卒封装目标视频帧的NAL包之前。实际应用中,采集时间戳还可以封装在码流中的其他位置,在此不再赘述。
202、向播放端传输封装有转码后的目标视频帧的数据以及对应的采集时间戳的码流,以供播放端在播放目标视频帧时,测量直播的时延。
经过上述处理,将目标视频帧封装在码流中之后,CDN端向播放端发送封装有转码后的目标视频帧的数据以及对应的采集时间戳的码流。这样播放端可以获取该目标视频帧的采集时间戳,并在播放时记录该目标视频帧的播放时间戳,这样可以获取到目标视频帧的时延,进而获取到直播的时延。
本实施例的直播视频的时延测量方法,与上述图1所示实施例的技术方案相比的区别在于:图1所示实施例在推流端描述本发明的技术方案;而本实施例在CDN端描述本发明的技术方案,实现原理相似,详细亦可以参考上述图1所述实施例的记载,在此不再赘述。
同理,本实施例中要实现直播时延的测量,需要推流端、CDN端以及播放端的时钟务必同步。
本实施例的直播视频的时延测量方法,通过在对推流端传输的码流中的目标视频帧的数据进行转码前,根据码流中的目标视频帧的数据以及目标视频帧的采集时间戳,建立目标视频帧的PTS与对应的采集时间戳的关联关系;在对目标视频帧的数据进行转码后,根据关联关系,将采集时间戳添加至封装有转码后的目标视频帧的数据的码流中;向播放端传输封装有转码后的目标视频帧的数据以及对应的采集时间戳的码流,以供播放端在播放目标视频帧时,测量直播的时延。本实施例的技术方案中,通过将目标视频帧的时间戳封装在码流中进行传输,以保证采集时间戳能够被成功传输到播放端,使得播放端在播放时能够根据采集时间戳有效地完成直播时延的测量。相对于现有的人工操作实现直播时延的测量,可以省去人工操作,有效地提高测量的精度。而且本实施例的直播视频的时延测量方法,能够同时支持flv、rtmp及hls等多种协议,灵活性非常高,使用领域非常广。
图3为本发明的直播视频的时延测量方法实施例三的流程图。如图3所示,本实施例的直播视频的时延测量方法,具体可以包括如下步骤:
300、在对CDN端传输的码流中的目标视频帧进行播放前,根据码流中的目标视频帧的数据以及目标视频帧的采集时间戳,建立目标视频帧的PTS与对应的采集时间戳的关联关系;
本实施例的直播视频的时延测量方法的执行主体为播放端设备,即在播放端描述本发明的技术方案。具体地,CDN端可以通过flv、rtmp或hls等任一种协议,将封装有目标视频帧的数据和采集目标视频帧的采集时间戳的码流传输至播放端。播放端接收到码流之后,为了便于测量时延,可以码流中的目标视频帧进行播放前,从码流中获取目标视频帧的数据以及目标视频帧的采集时间戳,进而建立目标视频帧的PTS与对应的采集时间戳的关联关系。具体实现方式可以参考上述实施例中的步骤(a)-(c),详细可以参考上述实施例中的相关记载,在此不再赘述。
同理,可选地,在执行步骤(a)之前,也可以包括:根据码流中的SEI中的存在标识,确定SEI中携带有采集时间戳。详细亦可以参考上述实施例中的相关记载,在此不再赘述。
301、在目标视频帧被播放时,建立目标视频帧的PTS与目标视频帧的播放时间戳的对应关系;
301、根据关联关系以及对应关系,获取播放目标视频帧的直播时延。
具体地,播放端在播放目标视频帧时,获取目标视频帧的播放时间戳,播放时间戳即为目标视频帧的播放时刻,因为在视频直播***中,推流端、CDN端以及播放端的时钟是同步。所以此处可以通过记录目标视频帧的播放时间戳,然后根据传输来的采集时间戳和播放时间戳,来测量直播的时延。但是由于视频直播过程中,每一个目标视频帧源源不断地从推流端经过CDN段传输到播放端。为了便于对每一个目标视频帧的监控和处理,在目标视频帧被播放时,还需要从目标视频帧中获取目标视频帧的PTS,由于PTS用于唯一标识该目标视频帧,然后建立目标视频帧的PTS与目标视频帧的播放时间戳的对应关系,便得到目标视频帧与对应的播放时间戳的对应关系。然后根据目标视频帧的PTS与采集时间戳的关联关系、以及目标视频帧的PTS与目标视频帧的播放时间戳的对应关系,便得到该目标视频帧对应的采集时间戳和播放时间戳,从而可以计算出两者的时间差,得到该目标帧视频的直播的时延。假定该视频直播***中每一视频帧的直播的时延相同,从而得到直播视频的直播的时延。后续可以根据测量的直播视频的时延,优化直播***中的直播的时延,提高直播质量和直播效率。
本实施例的直播视频的时延测量方法,与上述图2所示实施例的技术方案相比的区别在于:图2所示实施例在CDN端描述本发明的技术方案;而本实施例在播放端描述本发明的技术方案,实现原理相似,详细亦可以参考上述图2所述实施例的记载,在此不再赘述。
本实施例的直播视频的时延测量方法,通过在对CDN端传输的码流中的目标视频帧进行播放前,根据码流中的目标视频帧的数据以及目标视频帧的采集时间戳,建立目标视频帧的PTS与对应的采集时间戳的关联关系;在目标视频帧被播放时,获取目标视频帧的PTS与目标视频帧的播放时间戳的对应关系;根据关联关系以及对应关系,获取播放目标视频帧的直播时延。本实施例的技术方案中,通过将目标视频帧的时间戳封装在码流中进行传输,以保证采集时间戳能够被成功传输到播放端,使得播放端在播放时能够根据采集时间戳有效地完成直播时延的测量。相对于现有的人工操作实现直播时延的测量,可以省去人工操作,有效地提高测量的精度。而且本实施例的直播视频的时延测量方法,能够同时支持flv、rtmp及hls等多种协议,灵活性非常高,使用领域非常广。
图4为本发明的直播视频的时延测量方法实施例四的信令图。本实施例的直播视频的时延测量方法,在上述图1-图3所示实施例的技术方案的基础上,进一步更加详细地介绍本发明的技术方案。如图4所示,本实施例的直播视频的时延测量方法,具体可以包括如下步骤:
400、推流端在采集目标视频帧时,获取目标视频帧时的采集时间戳;
401、推流端获取目标视频帧的PTS;
402、推流端建立目标视频帧的PTS与对应的采集时间戳的关联关系;
403、推流端对目标视频帧的进行编码;根据编码后的目标视频帧的PTS以及对应的关联关系,获取目标视频帧的采集时间戳,将采集时间戳封装在码流中的SEI中,并在SEI中设置采集时间戳的存在标识;
404、推流端向CDN端传输封装有编码后的目标视频帧的数据以及对应的采集时间戳的码流;
405、CDN端从推流端传输的码流中的目标视频帧的数据中获取目标视频帧的PTS;
406、CDN端判断并确定SEI中存在采集时间戳的存在标识,并从码流中的SEI中获取目标视频帧的采集时间戳;
407、CDN端建立目标视频帧的PTS与对应的采集时间戳的关联关系;
408、CDN端对码流中的目标视频帧的数据进行转码;并根据关联关系以及转码后的目标视频帧中的PTS,获取采集时间戳;将采集时间戳添加至封装有转码后的目标视频帧的数据的码流中;
409、CDN端向播放端传输封装有转码后的目标视频帧的数据以及对应的采集时间戳的码流;
410、播放端从推流端传输的码流中的目标视频帧的数据中获取目标视频帧的PTS;
411、播放端判断并确定SEI中存在采集时间戳的存在标识,并从码流中的SEI中获取目标视频帧的采集时间戳;
412、播放端建立目标视频帧的PTS与对应的采集时间戳的关联关系;
413、播放端播放码流中的目标视频帧;记录目标视频帧的播放时间戳;建立目标视频帧的PTS与目标视频帧的播放时间戳的对应关系;
414、播放端播根据关联关系以及对应关系,获取播放目标视频帧的直播时延。
本实施例的直播视频的时延测量方法所应用的直播***的架构中的推流端、CDN端以及播放端的时钟都是同步的。
本实施例是沿着信令的走向描述本发明的技术方案,实现原理与上述图1-图3所示实施例的相同,详细可以参考上述图1-图3所示实施例的记载,在此不再赘述。
本实施例的直播视频的时延测量方法,通过采用上述技术方案,通过将目标视频帧的时间戳封装在码流中进行传输,可以以保证采集时间戳能够被成功传输到播放端,使得播放端在播放时能够根据采集时间戳有效地完成直播时延的测量。相对于现有的人工操作实现直播时延的测量,可以省去人工操作,有效地提高测量的精度。而且本实施例的直播视频的时延测量方法,能够同时支持flv、rtmp及hls等多种协议,灵活性非常高,使用领域非常广。
图5为本发明的推流端设备实施例的结构图。如图5所示,本实施例的推流端设备,具体可以包括:
获取模块10用于根据编码后的目标视频帧的PTS、以及预先建立的目标视频帧的PTS与采集目标视频帧的采集时间戳的关联关系,获取目标视频帧的采集时间戳;
封装模块11用于将获取模块10获取的采集时间戳封装在码流中;
传输模块12用于向CDN端传输封装模块11处理后的封装有编码后的目标视频帧的数据以及对应的采集时间戳的码流,以供CDN端向播放端传输目标视频帧的数据的同时,传输目标视频帧的采集时间,由播放端在播放目标视频帧时,测量直播的时延。
进一步可选地,本实施例的推流端设备中,封装模块11具体用于将获取模块10获取的采集时间戳封装在码流的SEI中。
进一步可选地,如图5所示,本实施例的推流端设备中还包括:
设置模块13用于在码流的SEI中设置有获取模块10获取的采集时间戳的存在标识。
进一步可选地,如图5所示,本实施例的推流端设备中还包括:建立模块14;
获取模块10还用于在采集目标视频帧时,获取目标视频帧时的采集时间戳;
建立模块14用于建立目标视频帧的PTS与获取模块10获取的对应的采集时间戳的关联关系。
本实施例的推流端设备,通过采用上述模块实现直播视频的时延测量的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图6为本发明的CDN端设备实施例的结构图。如图6所示,本实施例的CDN端设备,具体可以包括:
建立模块20用于在对推流端传输的码流中的目标视频帧的数据进行转码前,根据码流中的目标视频帧的数据以及目标视频帧的采集时间戳,建立目标视频帧的PTS与对应的采集时间戳的关联关系;
添加模块21用于在对目标视频帧的数据进行转码后,根据建立模块20建立的关联关系,将采集时间戳添加至封装有转码后的目标视频帧的数据的码流中;
传输模块22用于向播放端传输添加模块21添加处理后的封装有转码后的目标视频帧的数据以及对应的采集时间戳的码流,以供播放端在播放目标视频帧时,测量直播的时延。
进一步可选地,本实施例的CDN端设备中,建立模块20具体用于:
从码流中的目标视频帧的数据中获取目标视频帧的PTS;
从码流中的SEI中获取目标视频帧的采集时间戳;
建立目标视频帧的PTS与对应的采集时间戳的关联关系。
进一步可选地,如图6所示,本实施例的CDN端设备中还包括:
确定模块23用于根据码流中的SEI中的存在标识,确定SEI中携带有采集时间戳。然后才触发建立模块20从码流中的SEI中获取目标视频帧的采集时间戳。
本实施例的CDN端设备,通过采用上述模块实现直播视频的时延测量的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图7为本发明的播放端设备实施例的结构图。如图7所示,本实施例的播放端设备,具体可以包括:
建立模块30用于在对CDN端传输的码流中的目标视频帧进行播放前,根据码流中的目标视频帧的数据以及目标视频帧的采集时间戳,建立目标视频帧的PTS与对应的采集时间戳的关联关系;
建立模块30还用于在目标视频帧被播放时,建立目标视频帧的PTS与目标视频帧的播放时间戳的对应关系;
获取模块31用于根据建立模块30建立的关联关系以及对应关系,获取播放目标视频帧的直播时延。
进一步可选地,本实施例的播放端设备中,建立模块30具体用于:
从码流中的目标视频帧的数据中获取目标视频帧的PTS;
从码流中的SEI中获取目标视频帧的采集时间戳;
建立目标视频帧的PTS与对应的采集时间戳的关联关系。
进一步可选地,如图7所示,本实施例的播放端设备中,还包括:
确定模块32用于根据码流中的SEI中的存在标识,确定SEI中携带有采集时间戳。然后才触发建立模块30从码流中的SEI中获取目标视频帧的采集时间戳。
本实施例的播放端设备,通过采用上述模块实现直播视频的时延测量的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图8为本发明的视频直播***实施例的结构图。如图8所示,本实施例的视频直播***包括:推流端设备40、CDN端设备50以及播放端设备60。
具体地,CDN端设备50分别与推流端设备40和播放端设备60通信连接。具体地,推流端设备40具体可以采用上述图5所示实施例的推流端设备;CDN端设备50具体可以采用上述图6所示实施例的CDN端设备;播放端设备60具体可以采用上述图7所示实施例的播放端设备。
推流端设备40、CDN端设备50以及播放端设备60在实现直播视频的时延测量时,可以参考上述图1-图4任一实施例的记载实现直播视频的时延测量。
图9为本发明的计算机设备实施例的结构图。如图9所示,本实施例的计算机设备,包括:一个或多个处理器70,以及存储器80,存储器80用于存储一个或多个程序,当存储器80中存储的一个或多个程序被一个或多个处理器70执行,使得一个或多个处理器70分别实现如上图1-图3任一实施例的直播视频的时延测量方法。也就是说,本实施例的计算机设备具体可以为推流端设备、CDN端设备或者播放端设备。图9所示实施例中以包括多个处理器70为例。
例如,图10为本发明提供的一种计算机设备的示例图。图10示出了适于用来实现本发明实施方式的示例性计算机设备12a的框图。图10显示的计算机设备12a仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。同理,本实施例的计算机设备具体可以为推流端设备、CDN端设备或者播放端设备。
如图10所示,计算机设备12a以通用计算设备的形式表现。计算机设备12a的组件可以包括但不限于:一个或者多个处理器16a,***存储器28a,连接不同***组件(包括***存储器28a和处理器16a)的总线18a。
总线18a表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备12a典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12a访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28a可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30a和/或高速缓存存储器32a。计算机设备12a可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34a可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18a相连。***存储器28a可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明上述图1-图8各实施例的功能。
具有一组(至少一个)程序模块42a的程序/实用工具40a,可以存储在例如***存储器28a中,这样的程序模块42a包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42a通常执行本发明所描述的上述图1-图8各实施例中的功能和/或方法。
计算机设备12a也可以与一个或多个外部设备14a(例如键盘、指向设备、显示器24a等)通信,还可与一个或者多个使得用户能与该计算机设备12a交互的设备通信,和/或与使得该计算机设备12a能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22a进行。并且,计算机设备12a还可以通过网络适配器20a与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20a通过总线18a与计算机设备12a的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12a使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理器16a通过运行存储在***存储器28a中的程序,从而执行各种功能应用以及数据处理,例如实现上述实施例所示的直播视频的时延测量方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所示的直播视频的时延测量方法。
本实施例的计算机可读介质可以包括上述图10所示实施例中的***存储器28a中的RAM30a、和/或高速缓存存储器32a、和/或存储***34a。
随着科技的发展,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载,或者采用其他方式获取。因此,本实施例中的计算机可读介质不仅可以包括有形的介质,还可以包括无形的介质。
本实施例的计算机可读介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (23)
1.一种直播视频的时延测量方法,其特征在于,所述方法包括:
根据编码后的目标视频帧的PTS、以及预先建立的所述目标视频帧的PTS与采集所述目标视频帧的采集时间戳的关联关系,获取所述目标视频帧的所述采集时间戳;
将所述采集时间戳封装在码流中;
向CDN端传输封装有编码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述CDN端向播放端传输所述目标视频帧的数据的同时,传输所述目标视频帧的所述采集时间戳,由所述播放端在播放所述目标视频帧时,测量直播的时延。
2.根据权利要求1所述的方法,其特征在于,将所述采集时间戳封装在码流中,具体包括:
将所述采集时间戳封装在码流的SEI中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述码流的SEI中设置有所述采集时间戳的存在标识。
4.根据权利要求1-3任一所述的方法,其特征在于,根据编码后的目标视频帧的PTS、以及预先建立的所述目标视频帧的PTS与采集所述目标视频帧的采集时间戳的关联关系,获取所述目标视频帧的所述采集时间戳之前,所述方法还包括:
在采集所述目标视频帧时,获取所述目标视频帧时的采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
5.一种直播视频的时延测量方法,其特征在于,所述方法包括:
在对推流端传输的码流中的目标视频帧的数据进行转码前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
在对所述目标视频帧的数据进行转码后,根据所述关联关系,将所述采集时间戳添加至封装有转码后的所述目标视频帧的数据的码流中;
向播放端传输封装有转码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述播放端在播放所述目标视频帧时,测量直播的时延。
6.根据权利要求5所述的方法,其特征在于,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系,具体包括:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
7.根据权利要求6所述的方法,其特征在于,从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳之前,所述方法还包括:
根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
8.一种直播视频的时延测量方法,其特征在于,所述方法包括:
在对CDN端传输的码流中的目标视频帧进行播放前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
在所述目标视频帧被播放时,建立所述目标视频帧的PTS与所述目标视频帧的播放时间戳的对应关系;
根据所述关联关系以及所述对应关系,获取播放所述目标视频帧的直播时延。
9.根据权利要求8所述的方法,其特征在于,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系,具体包括:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
10.根据权利要求9所述的方法,其特征在于,从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳之前,所述方法还包括:
根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
11.一种推流端设备,其特征在于,所述设备包括:
获取模块,用于根据编码后的目标视频帧的PTS、以及预先建立的所述目标视频帧的PTS与采集所述目标视频帧的采集时间戳的关联关系,获取所述目标视频帧的所述采集时间戳;
封装模块,用于将所述采集时间戳封装在码流中;
传输模块,用于向CDN端传输封装有编码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述CDN端向播放端传输所述目标视频帧的数据的同时,传输所述目标视频帧的所述采集时间戳,由所述播放端在播放所述目标视频帧时,测量直播的时延。
12.根据权利要求11所述的设备,其特征在于,所述封装模块,具体用于将所述采集时间戳封装在码流的SEI中。
13.根据权利要求12所述的设备,其特征在于,所述设备还包括:
设置模块,用于在所述码流的SEI中设置有所述采集时间戳的存在标识。
14.根据权利要求11-13任一所述的设备,其特征在于,所述设备还包括建立模块;
所述获取模块,还用于在采集所述目标视频帧时,获取所述目标视频帧时的采集时间戳;
所述建立模块,用于建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
15.一种CDN端设备,其特征在于,所述设备包括:
建立模块,用于在对推流端传输的码流中的目标视频帧的数据进行转码前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
添加模块,用于在对所述目标视频帧的数据进行转码后,根据所述关联关系,将所述采集时间戳添加至封装有转码后的所述目标视频帧的数据的码流中;
传输模块,用于向播放端传输封装有转码后的所述目标视频帧的数据以及对应的所述采集时间戳的码流,以供所述播放端在播放所述目标视频帧时,测量直播的时延。
16.根据权利要求15所述的设备,其特征在于,所述建立模块,具体用于:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
17.根据权利要求16所述的设备,其特征在于,所述设备还包括:
确定模块,用于根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
18.一种播放端设备,其特征在于,所述设备包括:
建立模块,用于在对CDN端传输的码流中的目标视频帧进行播放前,根据所述码流中的所述目标视频帧的数据以及所述目标视频帧的采集时间戳,建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系;
所述建立模块,还用于在所述目标视频帧被播放时,建立所述目标视频帧的PTS与所述目标视频帧的播放时间戳的对应关系;
获取模块,用于根据所述关联关系以及所述对应关系,获取播放所述目标视频帧的直播时延。
19.根据权利要求18所述的设备,其特征在于,所述建立模块,具体用于:
从所述码流中的所述目标视频帧的数据中获取所述目标视频帧的PTS;
从所述码流中的SEI中获取所述目标视频帧的所述采集时间戳;
建立所述目标视频帧的PTS与对应的所述采集时间戳的关联关系。
20.根据权利要求19所述的设备,其特征在于,所述设备还包括:
确定模块,用于根据所述码流中的所述SEI中的存在标识,确定所述SEI中携带有所述采集时间戳。
21.一种视频直播***,其特征在于,包括如上权利要求11-14任一所述的推流端设备、如上权利要求15-17任一所述的CDN端设备以及如上权利要求18-20任一所述的播放端设备;所述CDN端设备分别与所述推流端设备和所述播放端设备通信连接。
22.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4、5-7以及8-10中任一所述的方法。
23.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4、5-7以及8-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711320836.XA CN108234997B (zh) | 2017-12-12 | 2017-12-12 | 直播视频的时延测量方法、设备、***及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711320836.XA CN108234997B (zh) | 2017-12-12 | 2017-12-12 | 直播视频的时延测量方法、设备、***及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108234997A CN108234997A (zh) | 2018-06-29 |
CN108234997B true CN108234997B (zh) | 2019-11-26 |
Family
ID=62649401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711320836.XA Active CN108234997B (zh) | 2017-12-12 | 2017-12-12 | 直播视频的时延测量方法、设备、***及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108234997B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989884A (zh) * | 2018-08-01 | 2018-12-11 | 浙江齐聚科技有限公司 | 直播视频延迟性能测试方法、装置、设备和存储介质 |
CN109510978B (zh) * | 2018-11-07 | 2020-05-26 | 西安万像电子科技有限公司 | 一种数据处理的性能检测方法及装置 |
CN110225416A (zh) * | 2019-05-31 | 2019-09-10 | 杭州涂鸦信息技术有限公司 | 一种视频的传输方法、网络终端、智能终端以及存储装置 |
CN110401850B (zh) * | 2019-07-30 | 2021-10-22 | 网宿科技股份有限公司 | 一种透传自定义sei的方法和装置 |
CN110708597B (zh) * | 2019-10-12 | 2022-01-18 | 腾讯科技(深圳)有限公司 | 直播延迟监控方法、装置、电子设备及可读存储介质 |
CN110933449B (zh) * | 2019-12-20 | 2021-10-22 | 北京奇艺世纪科技有限公司 | 一种外部数据与视频画面的同步方法、***及装置 |
CN111654690A (zh) * | 2020-05-06 | 2020-09-11 | 北京百度网讯科技有限公司 | 直播视频延迟时间的确定方法、装置以及电子设备 |
CN112153443B (zh) * | 2020-09-01 | 2022-02-22 | 青岛海信传媒网络技术有限公司 | Pts获取方法和显示设备 |
CN112261418B (zh) * | 2020-09-18 | 2022-09-30 | 网宿科技股份有限公司 | 一种传输直播视频数据的方法和直播加速*** |
CN114257843A (zh) * | 2020-09-24 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 一种多媒体数据处理方法、装置、设备及可读存储介质 |
CN112601078B (zh) * | 2020-12-11 | 2022-07-26 | 杭州当虹科技股份有限公司 | 一种基于视频的编码器延时的自动测量方法 |
CN113163222A (zh) * | 2021-03-31 | 2021-07-23 | 杭州奥点科技股份有限公司 | 一种视频帧同步方法、***、设备及可读存储介质 |
CN113676783A (zh) * | 2021-08-18 | 2021-11-19 | 上海哔哩哔哩科技有限公司 | 链路节点评估方法及装置 |
CN113923530B (zh) * | 2021-10-18 | 2023-12-22 | 北京字节跳动网络技术有限公司 | 一种互动信息展示方法、装置、电子设备及存储介质 |
CN114554237B (zh) * | 2022-02-18 | 2023-12-26 | 北京有竹居网络技术有限公司 | 信息处理方法、装置及设备 |
CN115002526A (zh) * | 2022-05-23 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 视频帧时延确定方法及装置 |
CN115225542A (zh) * | 2022-07-20 | 2022-10-21 | 北京京东乾石科技有限公司 | 视频信息处理方法、装置、电子设备和存储介质 |
CN116886833A (zh) * | 2022-12-06 | 2023-10-13 | 广州开得联软件技术有限公司 | 基于异构***的时间同步方法、装置、设备和存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3892844B2 (ja) * | 2003-03-31 | 2007-03-14 | 日本放送協会 | 遅延時間測定方法及び遅延時間測定システム及び時間情報設定装置及び遅延時間測定装置 |
CN101087400B (zh) * | 2007-06-26 | 2011-09-21 | 中兴通讯股份有限公司 | 视频帧延时检测方法及*** |
CN101212671A (zh) * | 2007-12-21 | 2008-07-02 | 上海广电(集团)有限公司中央研究院 | 一种低延迟的实时复用传输流的方法 |
CN101888412B (zh) * | 2010-07-05 | 2012-11-07 | 优视科技有限公司 | 一种服务于移动终端直播的视频推送处理方法及*** |
CN102811373A (zh) * | 2011-05-30 | 2012-12-05 | 上海圣炅商务咨询有限公司 | 移动终端向互联网以及移动互联网进行视频直播的方法 |
CN102316363B (zh) * | 2011-09-09 | 2014-04-02 | 华南理工大学 | 非介入式双端采集的视频端到端延迟测量方法及装置 |
CN102655585B (zh) * | 2012-04-16 | 2015-07-15 | 中国联合网络通信集团有限公司 | 视频会议***及其时延测试方法、装置和*** |
US20140010517A1 (en) * | 2012-07-09 | 2014-01-09 | Sensr.Net, Inc. | Reduced Latency Video Streaming |
CN104144312B (zh) * | 2013-05-09 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和相关装置 |
CN105791986B (zh) * | 2014-12-23 | 2019-06-25 | ***通信集团公司 | 视频时延的检测方法及装置 |
CN106210708B (zh) * | 2015-04-30 | 2019-02-01 | 杭州海康威视数字技术股份有限公司 | 一种图像延迟的检测方法和*** |
CN105451096B (zh) * | 2015-12-02 | 2018-08-10 | 北京暴风云科技有限公司 | 网络直播***及直播方法 |
CN106803967A (zh) * | 2017-02-13 | 2017-06-06 | 北京奇虎科技有限公司 | 一种直播数据的处理方法和装置 |
-
2017
- 2017-12-12 CN CN201711320836.XA patent/CN108234997B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108234997A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234997B (zh) | 直播视频的时延测量方法、设备、***及计算机可读介质 | |
CN108566558B (zh) | 视频流处理方法、装置、计算机设备及存储介质 | |
CN109348252B (zh) | 视频播放方法、视频传输方法、装置、设备及存储介质 | |
WO2018054193A1 (zh) | 一种数据传输方法、装置及电子设备 | |
CN103841432B (zh) | 一种复合视频数据的传输方法和设备 | |
JP5475855B2 (ja) | マルチビュー・ビデオ符号化のための仮想参照デコーダ | |
TW201724086A (zh) | 用於傳輸之經寫碼下一世代音訊資料之選擇 | |
KR20190029551A (ko) | Mmt 시스템을 위한 미디어 데이터 전송 장치 및 방법, 그리고 미디어 데이터 수신 장치 및 방법 | |
CN105917314A (zh) | 用于云流服务的应用错误检测方法及其设备和*** | |
CN103650431B (zh) | 视频数据传输方法及装置 | |
CN105451096B (zh) | 网络直播***及直播方法 | |
CN114079781B (zh) | 一种点云媒体的数据处理方法、装置、设备及存储介质 | |
CN110100460A (zh) | 基于头部位置和时间的具有非头部跟踪立体声的高保真度立体声响复制音频 | |
KR20130009670A (ko) | 엠엠티 시스템에서의 패킷 전송 장치 및 방법, 및 패킷 수신 장치 및 방법 | |
WO2009048235A3 (en) | System and method for 3d multimedia contents service using multimedia application file format | |
CN108847248A (zh) | 蓝牙设备音频处理方法、***、可读存储介质和蓝牙设备 | |
CN108712299A (zh) | 一种监测直播延时的方法、装置、设备和计算机存储介质 | |
CN103561244A (zh) | 采用智能手机实时监控模型飞机航拍数据的***及其方法 | |
US11190724B2 (en) | Adaptive bitrate streaming of UHD image data | |
CN102625125A (zh) | 一种实时传输高分辨率多视点立体视频的方法 | |
CN107872716A (zh) | 一种后置封装的流式数据解析方法、装置及电子设备 | |
KR20000041813A (ko) | 네트웍을 통한 멀티미디어 스트리밍 방법 | |
WO2022111343A1 (zh) | 非时序点云媒体的处理方法、装置、设备及存储介质 | |
KR20160149150A (ko) | 스테레오스코픽 비디오 데이터를 처리하기 위한 mmt 장치 및 방법 | |
US20180262701A1 (en) | Transporting ultra-high definition video from multiple sources |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |