CN112866745A - 流媒体视频数据处理方法、装置、计算机设备和存储介质 - Google Patents
流媒体视频数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112866745A CN112866745A CN202011637062.5A CN202011637062A CN112866745A CN 112866745 A CN112866745 A CN 112866745A CN 202011637062 A CN202011637062 A CN 202011637062A CN 112866745 A CN112866745 A CN 112866745A
- Authority
- CN
- China
- Prior art keywords
- video
- frame rate
- video stream
- browser
- frame
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 16
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440245—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种流媒体视频数据处理方法、装置、计算机设备和存储介质。所述方法包括:流媒体服务器接收浏览器发送的视频流请求消息;解析视频流请求消息,根据视频流请求消息获取视频流;根据视频流的帧信息,计算视频流的平均帧率,将平均帧率作为第一帧率;计算对第一帧率进行放大后的第二帧率,按照第二帧率对视频流进行处理,生成片段化视频;按照第一帧率向浏览器发送片段化视频。浏览器按照第一帧率接收流媒体服务器发送的片段化视频,将片段化视频存入浏览器数据缓存区中,并按照第二帧率播放浏览器数据缓存区中的片段化视频。采用本申请实施例方法,能够有效减小浏览器视频播放时延,提高视频画面流畅度。
Description
技术领域
本申请涉及视频数据处理技术领域,特别是涉及一种流媒体视频数据处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网业务的发展,越来越多的用户通过浏览器观看视频直播,进而出现了流媒体技术。流媒体是一种新的媒体传送方式,包括声音流、视频流、文本流、图像流、动画流等,流媒体技术是将一连串的媒体数据压缩后,以流的方式在网络中分段传送,实现实时传输影音。
目前,浏览器采用video标签无插件形式进行视频直播,能够支持多种终端上的浏览器。然而,视频直播的网络传输过程会因为路由器或者网线质量等原因,造成浏览器接收视频数据时间间隔不一致,从而导致浏览器视频播放时延大和卡顿现象,造成视频画面抖动不流畅。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效减小浏览器视频播放时延,提高视频画面流畅度的流媒体视频数据处理方法、装置、计算机设备和存储介质。
一种流媒体视频数据处理方法,所述方法包括:
获取视频流;
根据所述视频流的帧信息,计算所述视频流的平均帧率,将所述平均帧率作为第一帧率;
计算对所述第一帧率进行放大后的第二帧率,按照所述第二帧率对所述视频流进行处理,生成片段化视频;
按照所述第一帧率向浏览器发送所述片段化视频。
在其中一个实施例中,所述获取视频流,包括:
接收所述浏览器发送的视频流请求消息;
解析所述视频流请求消息,根据所述视频流请求消息获取所述视频流;
将所述视频流存入流媒体数据缓存区中。
在其中一个实施例中,所述根据所述视频流的帧信息,计算所述视频流的平均帧率,包括:
获取所述视频流的视频帧总时长,统计所述视频流的视频帧总数量;
将所述视频帧总数量除以所述视频帧总时长,获取所述视频流的平均帧率。
在其中一个实施例中,所述获取所述视频流的视频帧总时长,统计所述视频流的视频帧总数量,还包括:
当所述视频流不存在视频帧的时长超过预设时长时,从所述视频帧总时长中去除所述不存在视频帧的时长;
当所述视频流的视频帧对应的时间异常时,删除所述时间异常的视频帧,统计删除所述时间异常的视频帧后的视频帧总数量。
在其中一个实施例中,所述按照所述第一帧率向浏览器发送所述片段化视频,包括:
创建至少一条线程,所述线程用于按照所述第一帧率向所述浏览器发送所述片段化视频。
一种流媒体视频数据处理方法,所述方法包括:
按照第一帧率接收流媒体服务器发送的片段化视频,将所述片段化视频存入浏览器数据缓存区中,所述片段化视频的帧率为第二帧率,所述第二帧率大于所述第一帧率;
按照所述第二帧率播放所述浏览器数据缓存区中的所述片段化视频。
一种流媒体视频数据处理装置,所述装置包括:
视频流获取模块,用于获取视频流;
第一帧率计算模块,用于根据所述视频流的帧信息,计算所述视频流的平均帧率,将所述平均帧率作为第一帧率;
片段化视频生成模块,用于计算对所述第一帧率进行放大后的第二帧率,按照所述第二帧率对所述视频流进行处理,生成片段化视频;
片段化视频发送模块,用于按照所述第一帧率向浏览器发送所述片段化视频。
一种流媒体视频数据处理装置,所述装置包括:
片段化视频接收模块,用于按照第一帧率接收流媒体服务器发送的片段化视频,将所述片段化视频存入浏览器数据缓存区中,所述片段化视频的帧率为第二帧率,所述第二帧率大于所述第一帧率;
片段化视频播放模块,用于按照所述第二帧率播放所述浏览器数据缓存区中的所述片段化视频。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述流媒体视频数据处理方法、装置、计算机设备和存储介质,流媒体服务器接收浏览器发送的视频流请求消息;解析视频流请求消息,根据视频流请求消息获取视频流;根据视频流的帧信息,计算视频流的平均帧率,将平均帧率作为第一帧率;计算对第一帧率进行放大后的第二帧率,按照第二帧率对视频流进行处理,生成片段化视频;按照第一帧率向浏览器发送片段化视频。浏览器按照第一帧率接收流媒体服务器发送的片段化视频,将片段化视频存入浏览器数据缓存区中,并按照第二帧率播放浏览器数据缓存区中的片段化视频。采用本申请实施例方法,流媒体服务器通过按照第二帧率对视频流进行处理,生成片段化视频,能够有效减小视频播放时延,通过按照第一帧率均匀地向浏览器发送片段化视频,能够有效防止视频画面抖动;浏览器通过按照第一帧率接收片段化视频,按照第二帧率播放片段化视频,能够有效减小浏览器视频播放时延,并提高视频画面流畅度。
附图说明
图1为一个实施例中流媒体视频数据处理方法的应用环境图;
图2为一个实施例中流媒体视频数据处理方法的流程示意图;
图3为一个实施例中获取视频流的流程示意图;
图4为一个实施例中计算视频流的平均帧率的流程示意图;
图5为另一个实施例中流媒体视频数据处理方法的流程示意图;
图6为一个具体实施例中流媒体视频数据处理方法的示意图;
图7为一个实施例中流媒体视频数据处理装置的结构框图;
图8为另一个实施例中流媒体视频数据处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图;
图10为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的流媒体视频数据处理方法,可以应用于如图1所示的应用环境中。其中,流媒体服务器104通过网络与浏览器106进行通信。具体地,流媒体服务器104接收浏览器106发送的视频流请求消息;解析视频流请求消息,根据视频流请求消息从摄像机102中获取视频流;根据视频流的帧信息,计算视频流的平均帧率,将平均帧率作为第一帧率;计算对第一帧率进行放大后的第二帧率,按照第二帧率对视频流进行处理,生成片段化视频;按照第一帧率向浏览器106发送片段化视频。浏览器106按照第一帧率接收流媒体服务器104发送的片段化视频,将片段化视频存入浏览器数据缓存区中,并按照第二帧率播放浏览器数据缓存区中的片段化视频。
其中,视频流可以是实时视频流或历史视频流,摄像机102可以但不限于是监控摄像机、红外摄像机、电荷耦合(Charge Coupled Device,CCD)摄像机、网络摄像机等,流媒体服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,浏览器106可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴等设备上各种类型的浏览器。
在其中一个实施例中,如图2所示,提供了一种流媒体视频数据方法,以该方法应用于图1中的流媒体服务器104为例进行说明,包括以下步骤:
步骤S202,获取视频流。
其中,流媒体(Streaming media)是指将一连串的媒体数据压缩后,通过像流水一样分段发送媒体数据,实现媒体数据的即时传输,在媒体数据使用时不必下载整个文件。视频流就是通过流媒体技术进行稳定连续的流动传输的视频数据。视频流由摄像机产生,视频流可以是实时视频流或历史视频流,视频流的编码格式可以是H.264格式。其中,H.264是一种高度压缩数字视频压缩格式,具有码率低、图像质量高、容错能力强和网络适应性强等优势。视频流的视频格式可以是mp4格式。
具体地,流媒体服务器从摄像机中获取H.264压缩视频流数据。
步骤S204,根据视频流的帧信息,计算视频流的平均帧率,将平均帧率作为第一帧率。
其中,视频流的信息包括视频源地址、信令端口、视频编码格式、视频分辨率、视频帧率,音频编码格式、音频采样率、音频采样大小等。其中,视频源地址是摄像机产生视频流的地址。信令是在通信系统中除了传输用户信息之外,用于保证正常通信所需要的控制信号,包括呼叫建立、监控(Supervision)、拆除(Teardown)、分布式应用进程信息、网络管理信息等。信令端口是用于产生或发送信令的端口。视频编码格式可以是H.264格式。视频分辨率是用于度量图像内数据量的参数。视频帧率(Frame rate)是用于测量显示帧数的量度,测量单位为每秒显示帧数(Frames per Second,fps)。视频分辨率、视频帧率也可以称为视频流的帧信息。音频编码格式可以是PCM(Pulse Code Modulation,PCM)脉冲编码格式、LPC(Linear Predictive Coding,LPC)线性预测编码格式等。音频采样率(Audiosample rate)是指录音设备在一秒钟内对声音信号的采样次数。
具体地,流媒体服务器从摄像机中获取H.264压缩视频流数据后,对H.264压缩视频流数据进行解析,获得视频流的帧信息。根据视频流的帧信息计算视频流的平均帧率,将平均帧率作为第一帧率。
其中,视频流的平均帧率可以采用以下一种或几种方法的组合进行计算。
(1)固定时间帧数法。通过记录固定时间内的帧数,计算平均帧率,其计算公式为fps=frame Num/lapsed Time,式中,frame Num为固定时间内的帧数,lapsed Time为固定时间的时长。
(2)固定帧数时间法。通过每隔固定的帧数,计算帧数使用的时间,求出平均帧率,其计算公式为fps=frame Num/elapsed Time,式中,frame Num为固定的帧数,elapsedTime为固定的帧数使用的时长。
(3)实时计算法。通过直接使用上一帧的时间间隔进行计算。
(4)总平均法。通过使用全局帧数除以全局时间,计算平均帧率。
步骤S206,计算对第一帧率进行放大后的第二帧率,按照第二帧率对视频流进行处理,生成片段化视频。
其中,流媒体服务器计算出视频流的平均帧率后,对平均帧率进行放大,计算放大后的第二帧率。具体地,可以将平均帧率放大0-1%,获得放大后的第二帧率。
具体地,当视频流的视频格式是mp4格式时,按照第二帧率对视频流进行处理,生成视频格式为Fragmented mp4(fmp4)格式的片段化视频。其中,Fragmented mp4格式的优势在于,元数据信息可以非常灵活的存放在Fragmented mp4文件中,不需要考虑媒体数据的存放位置;码流的保存位置是可寻的;支持Trick-play模式,包括快进功能、倒退功能、慢播等;支持数据流的无缝拼接等。
步骤S208,按照第一帧率向浏览器发送片段化视频。
其中,流媒体服务器生成片段化视频之后,再创建至少一条线程,用于向浏览器发送片段化视频,所创建的线程用于发送的功能可以通过配置执行打开或关闭。具体地,线程(thread)是操作系统能够进行运算调度的最小单位,被包含在进程之中,是进程中的实际运作单位,一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
具体地,流媒体服务器创建至少一条线程,所创建的线程用于按照第一帧率向浏览器发送视频格式为Fragmented mp4格式的片段化视频。
上述流媒体视频数据处理方法中,流媒体服务器通过获取视频流;并根据视频流的帧信息,计算视频流的平均帧率,将平均帧率作为第一帧率;计算对第一帧率进行放大后的第二帧率,按照第二帧率对视频流进行处理,生成片段化视频;按照第一帧率向浏览器发送片段化视频。采用上述实施例方法,流媒体服务器通过按照第二帧率对视频流进行处理,生成片段化视频,能够有效减小视频播放时延,通过按照第一帧率均匀地向浏览器发送片段化视频,能够有效防止视频画面抖动,从而提高视频画面流畅度。
在其中一个实施例中,如图3所示,步骤S202获取视频流,包括:
步骤S302,接收浏览器发送的视频流请求消息。
其中,在流媒体服务器获取视频流之前,需接收浏览器发送的视频流请求消息。具体地,流媒体请求消息可以是Http请求,其请求报文的内容可以是请求获取视频格式为mp4格式的视频流。其中,Http是一种超文本传输协议,Http请求报文由请求行(requestline)、请求头部(headers)、空行(blank line)和请求数据(request body)组成。请求行由请求方法字段、统一资源定位符字段和Http协议版本字段组成,采用空格分隔;请求头部由关键字/值对组成,每行一对,关键字和值采用英文冒号分隔;最后一个请求头部之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头部。
具体地,流媒体服务器接收浏览器发送的视频流请求消息。
步骤S304,解析视频流请求消息,根据视频流请求消息获取视频流。
其中,流媒体服务器接收浏览器发送的视频流请求消息后进行解析。具体地,在视频流请求消息Http消息中包含统一资源定位符(Uniform Resource Locator,URL),它是资源地址和访问方法的标识。流媒体服务器通过URL获取视频的地址进而获取视频流。
具体地,流媒体服务器通过解析视频流请求消息,根据视频流请求消息的统一定位资源符从摄像机中获取H.264压缩视频流数据。
步骤S306,将视频流存入流媒体数据缓存区中。
其中,流媒体服务器可以将获取到的视频流数据按照时间顺序存入流媒体服务器内部数据缓存区中。
具体地,流媒体服务器将获取到的H.264压缩视频流数据按照时间顺序存入流媒体服务器内部数据缓存区中。
在其中一个实施例中,如图4所示,步骤S204根据视频流的帧信息,计算视频流的平均帧率,包括:
步骤S402,获取视频流的视频帧总时长,统计视频流的视频帧总数量。
其中,当流媒体服务器采用总平均法计算平均帧率时,需获取视频流的视频帧总时长,并统计视频流的视频帧总数量。
在其中一个实施例中,为了减小视频画面跳变的影响,并使平均帧率的计算结果更准确,计算时考虑以下两种情况。
(1)当视频流不存在视频帧的时长超过预设时长时,从视频帧总时长中去除不存在视频帧的时长。其中,视频流不存在视频帧可能由网线断开引起,预设时长可以根据摄像机、流媒体服务器和浏览器的类型进行调整,预设时长可以设定为2秒(s)。
(2)当视频流的视频帧对应的时间异常时,删除时间异常的视频帧,统计删除时间异常的视频帧后的视频帧总数量。其中,视频流中的视频帧按照时间顺序排列,当视频帧对应的时间不符合该时间顺序,则判定为时间异常,删除时间异常的视频帧后,再统计视频帧总数量。
步骤S404,将视频帧总数量除以视频帧总时长,获取视频流的平均帧率。
其中,当流媒体服务器采用总平均法计算平均帧率时,将视频帧总数量除以视频帧总时长,获取视频流的平均帧率。
在其中一个实施例中,如图5所示,提供了一种流媒体视频数据方法,以该方法应用于图1中的浏览器106为例进行说明,包括以下步骤:
步骤S502,按照第一帧率接收流媒体服务器发送的片段化视频,将片段化视频存入浏览器数据缓存区中,片段化视频的帧率为第二帧率,第二帧率大于第一帧率。
其中,流媒体服务器按照第一帧率向浏览器均匀地向浏览器发送片段化视频,浏览器接收片段化视频后,将片段化视频存入浏览器数据缓存区中。
在其中一个实施例中,在浏览器接收片段化视频时,需检测片段化视频的视频格式。浏览器根据片段化视频的头部信息(headers)检测片段化视频的视频格式。其中,当流媒体服务器返回的片段化视频的头部信息(headers),与浏览器向流媒体服务器发送的视频流请求消息中的请求头部(headers)相对应时,浏览器保持与流媒体服务器的连接,并将接收到的片段化视频存入浏览器数据缓存区中。
具体地,当流媒体请求消息为Http请求,请求报文的内容为请求获取视频格式为mp4格式的视频流时,当根据片段化视频的头部信息检测到片段化视频的视频格式为Fragmented mp4格式时,浏览器保持与流媒体服务器的连接,并将接收到的片段化视频存入浏览器数据缓存区中。
步骤S504,按照第二帧率播放浏览器数据缓存区中的片段化视频。
具体地,浏览器按照对第一帧率进行加大后的第二帧率,采用video标签无插件形式播放浏览器数据缓存区中的片段化视频。其中,video标签的功能是让多媒体文件可以很方便的在浏览器中播放。插件是对程序的运行起补充作用的程序。video标签无插件形式具体可以是“video.src=http://xxx.mp4”,其中,xxx.mp4为视频文件。
在其中一个实施例中,由于片段化视频的播放速度大于接收速度,因此使片段化视频存入浏览器数据缓存区的缓存量逐渐减小,以减少浏览器的内存占用。当片段化视频的传输断线无视频时,则浏览器停止播放。
上述流媒体视频数据处理方法中,浏览器按照第一帧率接收流媒体服务器发送的片段化视频,将片段化视频存入浏览器数据缓存区中,其中,片段化视频的帧率为第二帧率,第二帧率大于第一帧率;并按照第二帧率播放浏览器数据缓存区中的片段化视频。采用上述实施例方法,浏览器通过按照第一帧率接收片段化视频,按照第二帧率播放片段化视频,能够有效减小浏览器视频播放时延,并提高视频画面流畅度。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及其中一个具体实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图6所示为一个具体实施例中流媒体视频数据处理方法的示意图。其中包括浏览器和流媒体服务器,具体步骤如下:
1、浏览器向流媒体服务器发送Http请求,请求获取视频格式为mp4格式的视频流;
2、流媒体服务器解析Http请求,并根据Http请求中的统一定位资源符URL从摄像机中获取H.264压缩视频流数据,并存入流媒体数据缓冲区中;
3、流媒体服务器对H.264压缩视频流数据进行解析,获得视频流的帧信息,并根据视频流的帧信息计算视频流的平均帧率,将平均帧率作为第一帧率;
4、流媒体服务器对第一帧率进行放大得到第二帧率,按照第二帧率对视频流进行处理,生成视频格式为Fragmented mp4格式的片段化视频,并创建至少一条线程,利用所创建的线程按照第一帧率均匀地将视频格式为Fragmented mp4格式的片段化视频发送给浏览器;
5、浏览器按照第一帧率接收片段化视频,当根据片段化视频的头部信息检测到片段化视频的视频格式为Fragmented mp4格式时,保持与流媒体服务器的连接,并将接收到的片段化视频存入浏览器数据缓存区中;
6、浏览器按照第二帧率播放视频格式为Fragmented mp4格式的片段化视频。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在其中一个实施例中,如图7所示,提供了一种流媒体视频数据处理装置,应用于流媒体服务器,包括:视频流获取模块710、第一帧率计算模块720、片段化视频生成模块730和片段化视频发送模块740,其中:
视频流获取模块710,用于获取视频流。
第一帧率计算模块720,用于根据所述视频流的帧信息,计算所述视频流的平均帧率,将所述平均帧率作为第一帧率。
片段化视频生成模块730,用于计算对所述第一帧率进行放大后的第二帧率,按照所述第二帧率对所述视频流进行处理,生成片段化视频。
片段化视频发送模块740,用于按照所述第一帧率向浏览器发送所述片段化视频。
在其中一个实施例中,视频流获取模块710包括以下单元:
视频流请求消息接收单元,用于接收所述浏览器发送的视频流请求消息。
视频流获取单元,用于解析所述视频流请求消息,根据所述视频流请求消息获取所述视频流。
视频流缓存单元,用于将所述视频流存入流媒体数据缓存区中。
在其中一个实施例中,第一帧率计算模块720包括以下单元:
帧数据获取单元,用于获取所述视频流的视频帧总时长,统计所述视频流的视频帧总数量。
第一帧率计算单元,用于将所述视频帧总数量除以所述视频帧总时长,获取所述视频流的平均帧率。
在其中一个实施例中,帧数据获取单元包括以下单元:
时长获取单元,用于当所述视频流不存在视频帧的时长超过预设时长时,从所述视频帧总时长中去除所述不存在视频帧的时长。
数量获取单元,用于当所述视频流的视频帧对应的时间异常时,删除所述时间异常的视频帧,统计删除所述时间异常的视频帧后的视频帧总数量。
在其中一个实施例中,片段化视频发送模块740包括以下单元:
线程创建单元,用于创建至少一条线程,所述线程用于按照所述第一帧率向所述浏览器发送所述片段化视频。
在其中一个实施例中,如图8所示,提供了一种流媒体视频数据处理装置,应用于浏览器,包括:片段化视频接收模块810和片段化视频播放模块820,其中:
片段化视频接收模块810,用于按照第一帧率接收流媒体服务器发送的片段化视频,将所述片段化视频存入浏览器数据缓存区中,所述片段化视频的帧率为第二帧率,所述第二帧率大于所述第一帧率。
片段化视频播放模块820,用于按照所述第二帧率播放所述浏览器数据缓存区中的所述片段化视频。
关于流媒体视频数据处理装置的具体限定可以参见上文中对于流媒体视频数据处理方法的限定,在此不再赘述。上述流媒体视频数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储流媒体视频数据处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现流媒体服务器的一种流媒体视频数据处理方法。
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现浏览器的一种流媒体视频数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9-10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的流媒体视频数据处理方法的步骤。
在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的流媒体视频数据处理方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种流媒体视频数据处理方法,所述方法包括:
获取视频流;
根据所述视频流的帧信息,计算所述视频流的平均帧率,将所述平均帧率作为第一帧率;
计算对所述第一帧率进行放大后的第二帧率,按照所述第二帧率对所述视频流进行处理,生成片段化视频;
按照所述第一帧率向浏览器发送所述片段化视频。
2.根据权利要求1所述的方法,其特征在于,所述获取视频流,包括:
接收所述浏览器发送的视频流请求消息;
解析所述视频流请求消息,根据所述视频流请求消息获取所述视频流;
将所述视频流存入流媒体数据缓存区中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述视频流的帧信息,计算所述视频流的平均帧率,包括:
获取所述视频流的视频帧总时长,统计所述视频流的视频帧总数量;
将所述视频帧总数量除以所述视频帧总时长,获取所述视频流的平均帧率。
4.根据权利要求3所述的方法,其特征在于,所述获取所述视频流的视频帧总时长,统计所述视频流的视频帧总数量,还包括:
当所述视频流不存在视频帧的时长超过预设时长时,从所述视频帧总时长中去除所述不存在视频帧的时长;
当所述视频流的视频帧对应的时间异常时,删除所述时间异常的视频帧,统计删除所述时间异常的视频帧后的视频帧总数量。
5.根据权利要求1所述的方法,其特征在于,所述按照所述第一帧率向浏览器发送所述片段化视频,包括:
创建至少一条线程,所述线程用于按照所述第一帧率向所述浏览器发送所述片段化视频。
6.一种流媒体视频数据处理方法,所述方法包括:
按照第一帧率接收流媒体服务器发送的片段化视频,将所述片段化视频存入浏览器数据缓存区中,所述片段化视频的帧率为第二帧率,所述第二帧率大于所述第一帧率;
按照所述第二帧率播放所述浏览器数据缓存区中的所述片段化视频。
7.一种流媒体视频数据处理装置,其特征在于,所述装置包括:
视频流获取模块,用于获取视频流;
第一帧率计算模块,用于根据所述视频流的帧信息,计算所述视频流的平均帧率,将所述平均帧率作为第一帧率;
片段化视频生成模块,用于计算对所述第一帧率进行放大后的第二帧率,按照所述第二帧率对所述视频流进行处理,生成片段化视频;
片段化视频发送模块,用于按照所述第一帧率向浏览器发送所述片段化视频。
8.一种流媒体视频数据处理装置,其特征在于,所述装置包括:
片段化视频接收模块,用于按照第一帧率接收流媒体服务器发送的片段化视频,将所述片段化视频存入浏览器数据缓存区中,所述片段化视频的帧率为第二帧率,所述第二帧率大于所述第一帧率;
片段化视频播放模块,用于按照所述第二帧率播放所述浏览器数据缓存区中的所述片段化视频。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637062.5A CN112866745B (zh) | 2020-12-31 | 2020-12-31 | 流媒体视频数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637062.5A CN112866745B (zh) | 2020-12-31 | 2020-12-31 | 流媒体视频数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866745A true CN112866745A (zh) | 2021-05-28 |
CN112866745B CN112866745B (zh) | 2023-04-25 |
Family
ID=76000432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011637062.5A Active CN112866745B (zh) | 2020-12-31 | 2020-12-31 | 流媒体视频数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866745B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338830A (zh) * | 2022-01-05 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读存储介质及计算机设备 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020054606A1 (en) * | 1995-04-28 | 2002-05-09 | Hidetoshi Takeda | Data transmitting apparatus, data receiving apparatus and data transmission control apparatus |
CN104427383A (zh) * | 2013-08-19 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法以及电子设备 |
CN106658058A (zh) * | 2016-10-13 | 2017-05-10 | 厦门蓝斯通信股份有限公司 | 基于多客户端的视频发送速率同步化管理方法和管理系统 |
CN107197386A (zh) * | 2017-05-31 | 2017-09-22 | 西安理工大学 | 一种无客户端的跨平台视频播放实现方法 |
CN107707934A (zh) * | 2017-10-24 | 2018-02-16 | 南昌黑鲨科技有限公司 | 一种视频数据处理方法、处理装置及计算机可读存储介质 |
CN108347580A (zh) * | 2018-03-27 | 2018-07-31 | 聚好看科技股份有限公司 | 一种处理视频帧数据的方法及电子设备 |
CN108781301A (zh) * | 2016-03-24 | 2018-11-09 | 索尼公司 | 发送装置、发送方法、接收装置和接收方法 |
CN109391585A (zh) * | 2017-08-03 | 2019-02-26 | 杭州海康威视数字技术股份有限公司 | 视频数据处理方法、装置、终端及计算机可读存储介质 |
CN109818874A (zh) * | 2017-11-21 | 2019-05-28 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
CN109889907A (zh) * | 2019-04-08 | 2019-06-14 | 北京东方国信科技股份有限公司 | 一种基于html5的视频osd的显示方法及装置 |
CN109963184A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 一种音视频网络播放的方法、装置以及电子设备 |
CN110087137A (zh) * | 2018-01-26 | 2019-08-02 | 龙芯中科技术有限公司 | 视频播放帧信息的获取方法、装置、设备及介质 |
CN110213505A (zh) * | 2019-06-05 | 2019-09-06 | 广州科伊斯数字技术有限公司 | 一种视频图像实时采集、传输和播放系统 |
CN111372128A (zh) * | 2020-03-11 | 2020-07-03 | 北京旷视科技有限公司 | 视频播放的方法、装置、计算机设备及可读存储介质 |
CN111586431A (zh) * | 2020-06-05 | 2020-08-25 | 广州酷狗计算机科技有限公司 | 进行直播处理的方法、装置、设备及存储介质 |
CN111918093A (zh) * | 2020-08-13 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-12-31 CN CN202011637062.5A patent/CN112866745B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020054606A1 (en) * | 1995-04-28 | 2002-05-09 | Hidetoshi Takeda | Data transmitting apparatus, data receiving apparatus and data transmission control apparatus |
CN104427383A (zh) * | 2013-08-19 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法以及电子设备 |
CN108781301A (zh) * | 2016-03-24 | 2018-11-09 | 索尼公司 | 发送装置、发送方法、接收装置和接收方法 |
CN106658058A (zh) * | 2016-10-13 | 2017-05-10 | 厦门蓝斯通信股份有限公司 | 基于多客户端的视频发送速率同步化管理方法和管理系统 |
CN107197386A (zh) * | 2017-05-31 | 2017-09-22 | 西安理工大学 | 一种无客户端的跨平台视频播放实现方法 |
CN109391585A (zh) * | 2017-08-03 | 2019-02-26 | 杭州海康威视数字技术股份有限公司 | 视频数据处理方法、装置、终端及计算机可读存储介质 |
CN107707934A (zh) * | 2017-10-24 | 2018-02-16 | 南昌黑鲨科技有限公司 | 一种视频数据处理方法、处理装置及计算机可读存储介质 |
CN109818874A (zh) * | 2017-11-21 | 2019-05-28 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
CN109963184A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 一种音视频网络播放的方法、装置以及电子设备 |
CN110087137A (zh) * | 2018-01-26 | 2019-08-02 | 龙芯中科技术有限公司 | 视频播放帧信息的获取方法、装置、设备及介质 |
CN108347580A (zh) * | 2018-03-27 | 2018-07-31 | 聚好看科技股份有限公司 | 一种处理视频帧数据的方法及电子设备 |
CN109889907A (zh) * | 2019-04-08 | 2019-06-14 | 北京东方国信科技股份有限公司 | 一种基于html5的视频osd的显示方法及装置 |
CN110213505A (zh) * | 2019-06-05 | 2019-09-06 | 广州科伊斯数字技术有限公司 | 一种视频图像实时采集、传输和播放系统 |
CN111372128A (zh) * | 2020-03-11 | 2020-07-03 | 北京旷视科技有限公司 | 视频播放的方法、装置、计算机设备及可读存储介质 |
CN111586431A (zh) * | 2020-06-05 | 2020-08-25 | 广州酷狗计算机科技有限公司 | 进行直播处理的方法、装置、设备及存储介质 |
CN111918093A (zh) * | 2020-08-13 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338830A (zh) * | 2022-01-05 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读存储介质及计算机设备 |
CN114338830B (zh) * | 2022-01-05 | 2024-02-27 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112866745B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017107649A1 (zh) | 一种视频传输方法和装置 | |
EP4054190A1 (en) | Video data encoding method and device, apparatus, and storage medium | |
CN110505522A (zh) | 视频数据的处理方法、装置、及电子设备 | |
CN108810657B (zh) | 一种设置视频封面的方法和系统 | |
US12058387B2 (en) | Video processing method and apparatus, computer device, and storage medium | |
US11647217B2 (en) | Transmission device, communication system, transmission method, and computer program product | |
US11539985B2 (en) | No reference realtime video quality assessment | |
CN111866457B (zh) | 监控图像处理方法、电子设备、存储介质及系统 | |
CN113225585B (zh) | 一种视频清晰度的切换方法、装置、电子设备以及存储介质 | |
CN111093094A (zh) | 视频转码方法、装置、系统及电子设备及可读存储介质 | |
CN112752113B (zh) | 直播服务器异常因素的确定方法及装置 | |
CN113891132B (zh) | 一种音视频同步监控方法、装置、电子设备及存储介质 | |
CN111818383B (zh) | 视频数据的生成方法、系统、装置、电子设备及存储介质 | |
CN112866745B (zh) | 流媒体视频数据处理方法、装置、计算机设备和存储介质 | |
CN114051120A (zh) | 视频告警方法、装置、存储介质及电子设备 | |
CN112235600B (zh) | 视频数据及视频业务请求的处理方法、装置及系统 | |
CN113079386A (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
CN111918074A (zh) | 直播视频故障预警方法及相关设备 | |
CN110072123A (zh) | 一种视频的恢复播放方法、视频播放终端及服务器 | |
CN109587517B (zh) | 一种多媒体文件的播放方法及装置、服务器及存储介质 | |
TWI731579B (zh) | 傳輸裝置、通訊系統、傳輸方法及電腦程式產品 | |
CN113660540A (zh) | 图像信息处理方法、系统、显示方法、装置及存储介质 | |
CN111787417B (zh) | 基于人工智能ai的音视频的传输控制方法及相关设备 | |
CN106657339B (zh) | 一种数据传输的方法及服务器及客户端 | |
CN111800649A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510802 5-1, Hongzhu Road, Xinhua Street, Huadu District, Guangzhou City, Guangdong Province Applicant after: China Southern Power Grid Big Data Service Co.,Ltd. Address before: 510800 5-1, Hongzhu Road, Xinhua Street, Huadu District, Guangzhou City, Guangdong Province Applicant before: Guangzhou suinengtong Energy Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |