CN113824715B - 一种实时视频流的播放方法及装置 - Google Patents
一种实时视频流的播放方法及装置 Download PDFInfo
- Publication number
- CN113824715B CN113824715B CN202111098357.4A CN202111098357A CN113824715B CN 113824715 B CN113824715 B CN 113824715B CN 202111098357 A CN202111098357 A CN 202111098357A CN 113824715 B CN113824715 B CN 113824715B
- Authority
- CN
- China
- Prior art keywords
- displayed
- media player
- video
- video stream
- media
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频流播放方法及装置,其中方法包括:获取待播放的视频流;对视频流进行解码,获取当前的待显示视频帧;打包待显示视频帧,生成媒体数据块;将媒体数据块发送给媒体播放器进行显示,以替换媒体播放器所显示的当前画面。本实施方法及装置无需对视频流进行转码,即可实现视频预览,应用于预览监控视频时可保证较好的实时性和兼容性,并且对监控端无额外的硬件要求。
Description
技术领域
本发明涉及流媒体技术领域,尤其涉及一种实时视频流的播放方法及装置。
背景技术
目前基于RTSP(Real Time Streaming Protocol,实时流传输协议)协议的视频监控设备在使用浏览器进行视频实时预览时,需要安装各设备厂家提供的控件,且只支持IE浏览器,而IE浏览器已经不是主流技术,大部分WEB(全球广域网)应用不兼容IE浏览器。并且在现有解决方案中,浏览器播放RTSP实时视频流时需要先通过流媒体服务器编解码技术将RTSP流转为RTMP(Real Time Messaging Protocol,实时消息传输协议)流,用Flash插件播放RTMP流;或再通过一定的配置将RTMP转为FLV(一种流媒体格式)格式,播放页面播放FLV格式的视频。现有技术方案虽然能够实现监控视频预览,但是实时性较差,无法满足视频监控行业低延迟的使用场景,且流媒体服务器本身价格也比较贵,不利于低成本、小场景的应用。例如,在使用针对摄像头的AI(Artificial Intelligence,人工智能)边缘计算盒子场景中,用户可通过PC(Personal Computer,个人计算机)端浏览器或客户端访问盒子,边缘计算盒子本身需要运行AI算法模型,并接入多路摄像头,边缘计算盒子本身的计算力基本都用于AI算法模型的运行中,没有足够的性能再支持对摄像头RTSP流的编解码处理,因此就会带来硬件成本的上升。
因此,目前针对实时视频监控设备,在预览监控视频时存在实时性、兼容性差,且硬件成本高。
发明内容
鉴于上述问题,本发明提出了一种视频流播放方法及装置,无需对视频流转码即可实现视频预览,应用于预览监控视频时可保证较好的实时性和兼容性,并且对监控端无额外的硬件要求。
第一方面,本申请通过一实施例提供如下技术方案:
一种视频流播放方法,包括:
获取待播放的视频流;对所述视频流进行解码,获取当前的待显示视频帧;打包所述待显示视频帧,生成媒体数据块;将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的当前画面。
可选的,所述对所述视频流进行解码,获取当前的待显示视频帧,包括:
对所述视频流进行解码,生成实时视频帧;基于预设的获取频率,从所述实时视频帧中获取当前的待显示视频帧;其中,当前的待显示视频帧与上一待显示视频帧的时差为所述获取频率对应的一个周期。
可选的,所述获取频率的取值范围为15Hz~30Hz。
可选的,所述打包所述待显示视频帧,生成媒体数据块,包括:
根据multipart/x-mixed-replace类型打包所述待显示视频帧,生成媒体数据块。
可选的,所述根据multipart/x-mixed-replace类型打包所述待显示视频帧,生成媒体数据块,包括:
将所述待显示视频帧按照multipart/x-mixed-replace类型进行处理,获得数据头、图片帧数据和连接数据;根据所述数据头、所述图片帧数据和所述连接数据,生成媒体数据块。
可选的,所述将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的上一画面,包括:
将所述媒体数据块发送给媒体播放器,以使所述媒体播放器根据所述数据头,将所述当前画面替换为所述图片帧数据对应的画面。
可选的,所述视频流为RTSP视频流。
可选的,所述方法在nodejs服务中执行。
第二方面,基于同一发明构思,本申请通过一实施例提供如下技术方案:
一种视频流播放装置,包括:
获取模块,用于获取待播放的视频流;解码模块,用于对所述视频流进行解码,获取当前的待显示视频帧;打包模块,用于打包所述待显示视频帧,生成媒体数据块;发送模块,用于将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的当前画面。
第三方面,基于同一发明构思,本申请通过一实施例提供如下技术方案:
一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行上述第一方面中任一项所述方法的步骤。
第五方面,基于同一发明构思,本申请通过一实施例提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本发明实施例的一种视频流播放方法及装置,通过获取待播放的视频流;然后,对视频流进行解码,获取当前的待显示视频帧;接着,打包待显示视频帧,生成媒体数据块;最后,将媒体数据块发送给媒体播放器进行显示,以替换媒体播放器所显示的当前画面。本实施方法及装置在整个执行过程中,无需对视频流进行编码或转码,处理开销小,因此无需额外的转码服务器,可降低监控端的硬件成本;该方法对RTSP视频流进行处理时,无需进行转码过程,能够保证高实时性;并且该方法基于nodejs服务执行时,nodejs服务可运行在浏览器中,具有较好的兼容性,当浏览器运行时运行nodejs服务,nodejs服务即可执行本方法以对视频流进行处理,从而将服务端处理的视频流转发工作迁移到浏览器上实现,在浏览器本地处理视频流,从而实现在浏览器的媒体播放器上低延时播放实时视频流。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本发明第一实施例提供的一种视频流播放方法的流程图;
图2示出了本发明第一实施例中连续发送的媒体数据块的结构示意图;
图3示出了本发明第一实施例中对摄像头的RTSP流进行预览的原理示意图;
图4示出了本发明第二实施例提供的一种视频流播放装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供的一种视频流播放方法,可作为一独立的程序模块进行实现,也可嵌入其他现有的应用程序中。所述的程序模块或应用程序可安装或运行于电子设备中,电子设备包括但不限于手机、个人电脑、服务器、平板电脑等等,不作限制。例如,本发明实施例的方法嵌入现有的应用程序进行实现时,可通过程序代码的形式嵌入在nodejs服务中,nodejs服务为可运行js(JavaScript)语言的服务框架;利用nodejs服务可以在浏览器中运行的特性,电子设备中的浏览器程序运行时,可在浏览器中运行nodejs服务以执行本发明的视频流播放方法。这样可有效的使本发明实施例方法兼容于各种不同类型、版本的浏览器,原生浏览器,或其他应用程序中。需要说明的是,上述仅仅说明了一些本发明实施例可能存在的应用场景,但不限于此;例如,本发明方法可作为一独立的程序模块运行,并结合独立的媒体播放器实现;还可以将本发明方法以程序的形式嵌入媒体播放器中实现;等等。下面将通过更加详细的实施例对本发明方法进行阐述。
请参阅图1,在本发明的一实施例中提供了一种视频流播放方法,该视频流播放方法,包括:
步骤S10:获取待播放的视频流。
在步骤S10中,待播放的视频流可为摄像头实时录制的视频流,也可为存在预设存储设备的视频流。并且,本实施例中的视频流尤其指无法直接采用媒体播放器进行播放的视频流。例如,可为监控摄像头录制的RTSP视频流;获取RTSP视频流时,可基于监控摄像头的地址读取该RTSP视频流。
步骤S20:对所述视频流进行解码,获取当前的待显示视频帧。
在步骤S20中,对视频流进行解码,可生成实时视频帧;在实时监控视频中,该实时视频帧是连续不断生成的。实时视频帧可为图片格式,例如,可为jpg格式,或其他可被媒体播放器播放的图片格式。
在本实施例中,可基于预设的获取频率,从实时视频帧中获取当前的待显示视频帧。也即,对视频流解码出来的视频帧并非全部用于进行显示,可间隔的选择其中部分视频帧进行显示。其中,当前的待显示视频帧与上一待显示视频帧的时差为获取频率对应的一个周期。基于获取频率来提取待显示视频帧,可有效的降低视频的帧率,从而降低计算资源消耗,提高响应速度。
在一些具体实现方式中,还可将获取频率的取值范围确定为15Hz~30Hz,例如可为15Hz、18Hz、20Hz、25Hz、28Hz等等。当获取频率小于15Hz时,将导致后续媒体播放器的更新过慢,影响用户观看感受;当获取频率大于30Hz时,虽然能够满足用户有较佳的观看效果。较优的,可将获取频率确定为20Hz,这样能够保证媒体播放器具有较好的播放效果,同时,也尽可能的节省了计算开销。
步骤S30:打包所述待显示视频帧,生成媒体数据块。
在步骤S30中,打包生成的媒体数据块应当可被媒体播放器进行识别,并在识别后能够将该媒体数据块中的内容进行提取和显示。在一些具体实现方式中,可将待显示视频帧按照multipart/x-mixed-replace类型打包,生成媒体数据块;其中,“x-”表示属于实验类型,“replace”表示每一个新数据块都会代替前一个数据块;也就是说,新数据不是附加到旧数据之后,而是替代它。这样就可保证媒体播放器能够有效的媒体数据块进行识别,并且实现替换显示。由于“multipart/x-mixed-replace”的特性是每一新数据块取代前一数据对象,因而媒体播放器中总是显示最新的数据对象。不仅如此,采用multipart/x-mixed-replace的数据类型还能够保证较高的兼容性,可支持原生的浏览器,浏览器可以利用原生技术直接显示媒体数据块内容。
具体执行时,可将待显示视频帧按照multipart/x-mixed-replace类型进行处理,获得数据头、图片帧数据和连接数据;然后,根据数据头、图片帧数据和连接数据,生成媒体数据块。针对每个媒体数据块而言,均具有自己的数据头和图片帧数据;其中,数据头中包含数据类型,图片帧数据中包含数据长度。媒体播放器可通过数据头来识别媒体数据块,从而显示该媒体数据块中图片帧数据的内容。
步骤S40:将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的上一画面。
在步骤S40中,媒体数据块发送给媒体播放器时,应当连续不断的发送。媒体播放器每接收到一媒体数据块时,就会根据数据头将媒体播放器的当前画面替换为图片帧数据对应的画面,从而达到逐帧替换的效果,实现视频流播放功能。由于将待显示视频帧按照multipart/x-mixed-replace类型进行处理,得到的媒体数据块。从而可基于http(hypertext transfer protocol,超文本传输协议)协议连续不断的将生成的媒体数据块发送给媒体播放器,从而保证媒体数据块的发送频率与获取频率相同,实现媒体播放器的实时刷新频率与获取频率相同,如图2所示;其中,“\r\n\r\n”为连接数据,用于区分两段不同的数据。
下面通过一具体示例对本实施方法的效果进行说明。例如:
在使用针对摄像头的AI边缘计算盒子场景中,用户可通过PC端浏览器或独立的客户端访问盒子。边缘计算盒子本身需要运行AI算法模型,并接入多路摄像头,边缘计算盒子本身的计算力基本都用于AI算法模型的运行中,没有足够的性能再支持对摄像头RTSP流的编解码处理。此时,若需要查阅摄像头的实时监控画面,一种方式是由边缘计算盒子进行视频的转码处理然后发送给用户登录的客户端进行播放,由于边缘计算盒子本身算力有限,用户在播放时极易造成卡顿和延时。另一种方式,是增加一转码服务器,边缘计算盒子将视频流转发给转码服务器,由转码服务器进行转码后转发给用户的客户端;该种方式,虽然能够避免算力不足的卡顿问题,但是会额外增加硬件成本,并且存在转码过程和多次转发会导致一定的延时,时效性低。
作为对比,请参阅图3,若采用本实施例的视频流播放方法时,该方法可作为软件模块嵌于用户客户端的浏览器或nodejs服务中;当用户需要观看摄像头的实时监控时,可在浏览器中通过摄像头对应的地址获取视频流,此时摄像头的RTSP流在未经转码的情况下被浏览器获取到;然后在浏览器中进行解码过程得到待显示视频帧,以及进行打包过程得到媒体数据块;最后将媒体数据块发送给浏览器的媒体播放器。视频流的整个处理过程均在浏览器本地执行,边缘计算盒子中不会增加额外的计算开销,无需增加额外的转码服务器,避免增加硬件成本;并且由于视频流在本地处理且过程中不涉及转码过程,延迟低,可保证较高的时效性。
综上所述,本实施例的一种视频流播放方法,通过获取待播放的视频流;然后,对视频流进行解码,获取当前的待显示视频帧;接着,打包待显示视频帧,生成媒体数据块;最后,将媒体数据块发送给媒体播放器进行显示,以替换媒体播放器所显示的当前画面。本实施方法在整个执行过程中,无需对视频流进行编码或转码,处理开销小,因此无需额外的转码服务器,可降低硬件成本;该方法对RTSP视频流进行处理时,无需进行转码过程,能够保证高实时性;该方法还可通过代码的方式嵌入在nodejs服务中,并且该方法基于nodejs服务执行时,nodejs服务可运行在浏览器中,具有较好的兼容性。当浏览器运行时运行nodejs服务,nodejs服务即可执行本方法以对视频流进行处理,从而将服务端处理的视频流转发工作迁移到浏览器上实现,在浏览器本地处理视频流,从而实现在浏览器的媒体播放器上低延时播放实时视频流。
请参阅图4,基于同一发明构思,在本发明的又一实施例中,还提供了一种视频流播放装置300,所述视频流播放装置300,包括:
获取模块301,用于获取待播放的视频流;解码模块302,用于对所述视频流进行解码,获取当前的待显示视频帧;打包模块303,用于打包所述待显示视频帧,生成媒体数据块;发送模块304,用于将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的当前画面。
作为一种可选的实施方式,所述对所述视频流进行解码,获取当前的待显示视频帧,包括:
对所述视频流进行解码,生成实时视频帧;基于预设的获取频率,从所述实时视频帧中获取当前的待显示视频帧;其中,当前的待显示视频帧与上一待显示视频帧的时差为所述获取频率对应的一个周期。
作为一种可选的实施方式,所述获取频率的取值范围为15Hz~30Hz。
作为一种可选的实施方式,所述打包模块303,具体用于:
根据multipart/x-mixed-replace类型打包所述待显示视频帧,生成媒体数据块。
作为一种可选的实施方式,所述打包模块303,还具体用于:
将所述待显示视频帧按照multipart/x-mixed-replace类型进行处理,获得数据头、图片帧数据和连接数据;根据所述数据头、所述图片帧数据和所述连接数据,生成媒体数据块。
作为一种可选的实施方式,所述发送模块304,具体用于:
将所述媒体数据块发送给媒体播放器,以使所述媒体播放器根据所述数据头,将所述当前画面替换为所述图片帧数据对应的画面。
作为一种可选的实施方式,所述视频流为RTSP视频流。
作为一种可选的实施方式,视频流播放装置300在nodejs服务中执行。
需要说明的是,本发明实施例所提供的一种视频流播放装置300,其具体实现及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
基于同一发明构思,在本发明的又一实施例中还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行前述实施例中任一项所述方法的步骤。
需要说明的是,本发明实施例所提供的电子设备,其中指令由所述处理器执行时,各个步骤的具体实现及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
基于同一发明构思,在本发明的又一实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述实施例中任一项所述方法的步骤。
需要说明的是,本发明实施例所提供的计算机可读存储介质,其中程序被处理器执行时,各个步骤的具体实现及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种视频流播放方法,其特征在于,包括:
获取待播放的视频流;
对所述视频流进行解码,获取当前的待显示视频帧,包括:
对所述视频流进行解码,生成实时视频帧;
基于预设的获取频率,从所述实时视频帧中获取当前的待显示视频帧;其中,当前的待显示视频帧与上一待显示视频帧的时差为所述获取频率对应的一个周期;
打包所述待显示视频帧,生成媒体数据块;
将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的当前画面,包括:
媒体播放器每接收到一媒体数据块时,将媒体播放器的当前画面替换为待显示视频帧对应的画面,实现逐帧替换;
媒体数据块发送给媒体播放器时,连续不断的将生成的媒体数据块发送给媒体播放器,保证媒体数据块的发送频率与获取频率相同,实现媒体播放器的实时刷新频率与获取频率相同。
2.根据权利要求1所述的方法,其特征在于,所述获取频率的取值范围为15Hz~30Hz。
3.根据权利要求1所述的方法,其特征在于,所述打包所述待显示视频帧,生成媒体数据块,包括:
根据multipart/x-mixed-replace类型打包所述待显示视频帧,生成媒体数据块。
4.根据权利要求3所述的方法,其特征在于,所述根据multipart/x-mixed-replace类型打包所述待显示视频帧,生成媒体数据块,包括:
将所述待显示视频帧按照multipart/x-mixed-replace类型进行处理,获得数据头、图片帧数据和连接数据;
根据所述数据头、所述图片帧数据和所述连接数据,生成媒体数据块。
5.根据权利要求4所述的方法,其特征在于,所述将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的上一画面,包括:
将所述媒体数据块发送给媒体播放器,以使所述媒体播放器根据所述数据头,将所述当前画面替换为所述图片帧数据对应的画面。
6.根据权利要求1所述的方法,其特征在于,所述视频流为RTSP视频流。
7.根据权利要求1-6任一所述的方法,其特征在于,所述方法在nodejs服务中执行。
8.一种视频流播放装置,其特征在于,包括:
获取模块,用于获取待播放的视频流;
解码模块,用于对所述视频流进行解码,获取当前的待显示视频帧,包括:
对所述视频流进行解码,生成实时视频帧;
基于预设的获取频率,从所述实时视频帧中获取当前的待显示视频帧;其中,当前的待显示视频帧与上一待显示视频帧的时差为所述获取频率对应的一个周期;
打包模块,用于打包所述待显示视频帧,生成媒体数据块;
发送模块,用于将所述媒体数据块发送给媒体播放器进行显示,以替换所述媒体播放器所显示的当前画面,包括:
媒体播放器每接收到一媒体数据块时,将媒体播放器的当前画面替换为待显示视频帧对应的画面,实现逐帧替换;
媒体数据块发送给媒体播放器时,连续不断的将生成的媒体数据块发送给媒体播放器,保证媒体数据块的发送频率与获取频率相同,实现媒体播放器的实时刷新频率与获取频率相同。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行权利要求1-7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111098357.4A CN113824715B (zh) | 2021-09-18 | 2021-09-18 | 一种实时视频流的播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111098357.4A CN113824715B (zh) | 2021-09-18 | 2021-09-18 | 一种实时视频流的播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113824715A CN113824715A (zh) | 2021-12-21 |
CN113824715B true CN113824715B (zh) | 2023-08-22 |
Family
ID=78914931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111098357.4A Active CN113824715B (zh) | 2021-09-18 | 2021-09-18 | 一种实时视频流的播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113824715B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788431A (zh) * | 2020-12-24 | 2021-05-11 | 四川云从天府人工智能科技有限公司 | 基于html5的视频播放方法、装置、系统、介质及浏览器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3753254A1 (en) * | 2018-02-15 | 2020-12-23 | Vitec, Inc. | Distribution and playback of media content |
-
2021
- 2021-09-18 CN CN202111098357.4A patent/CN113824715B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788431A (zh) * | 2020-12-24 | 2021-05-11 | 四川云从天府人工智能科技有限公司 | 基于html5的视频播放方法、装置、系统、介质及浏览器 |
Also Published As
Publication number | Publication date |
---|---|
CN113824715A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9514783B2 (en) | Video editing with connected high-resolution video camera and video cloud server | |
US10200723B2 (en) | Converting live streaming content to video-on-demand streaming content | |
US20190158933A1 (en) | Method, device, and computer program for improving streaming of virtual reality media content | |
CN109168014B (zh) | 一种直播方法、装置、设备及存储介质 | |
US9712589B2 (en) | System and method for playing a video on mobile web environments | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
CN112995698A (zh) | 一种视频播放方法、客户端、服务平台及智能会议系统 | |
CN113938470A (zh) | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 | |
CN111343503B (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
US11095699B1 (en) | Streaming media file management | |
US20240080487A1 (en) | Method, apparatus for processing media data, computer device and storage medium | |
CN114222156A (zh) | 视频剪辑方法、装置、计算机设备和存储介质 | |
CN110891195B (zh) | 花屏图像的生成方法、装置、设备和存储介质 | |
CN113824715B (zh) | 一种实时视频流的播放方法及装置 | |
KR102417055B1 (ko) | 비디오 스트림의 후속 프로세싱을 위한 방법 및 디바이스 | |
CN108989905B (zh) | 媒体流控制方法、装置、计算设备及存储介质 | |
CN115278307B (zh) | 一种视频播放方法、装置、设备和介质 | |
CN106162380A (zh) | 一种在线视频调用方法及系统 | |
US11917327B2 (en) | Dynamic resolution switching in live streams based on video quality assessment | |
CN115348409A (zh) | 一种视频数据的处理方法、装置、终端设备和存储介质 | |
CN109168090A (zh) | 利用gpu实现h264视频流转hls视频流的方法 | |
Kammachi‐Sreedhar et al. | Omnidirectional video delivery with decoder instance reduction | |
JP2014135728A (ja) | 映像伝送システム及び映像伝送方法 | |
CN115665486B (zh) | 用于无人机跟踪装置视频流web端播放的数据处理方法 | |
CN113573100B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |