CN110139128B - 一种信息处理方法、拦截器、电子设备及存储介质 - Google Patents

一种信息处理方法、拦截器、电子设备及存储介质 Download PDF

Info

Publication number
CN110139128B
CN110139128B CN201910229613.5A CN201910229613A CN110139128B CN 110139128 B CN110139128 B CN 110139128B CN 201910229613 A CN201910229613 A CN 201910229613A CN 110139128 B CN110139128 B CN 110139128B
Authority
CN
China
Prior art keywords
video stream
real
time information
key frame
queue
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
Application number
CN201910229613.5A
Other languages
English (en)
Other versions
CN110139128A (zh
Inventor
王视鎏
韩春宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910229613.5A priority Critical patent/CN110139128B/zh
Publication of CN110139128A publication Critical patent/CN110139128A/zh
Application granted granted Critical
Publication of CN110139128B publication Critical patent/CN110139128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8405Generation or processing of descriptive data, e.g. content descriptors represented by keywords

Abstract

本发明提供了一种信息处理方法、拦截器、电子设备及存储介质。所述方法包括:从视频流的推送端拦截第一视频流;识别所述第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,……;依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的实时信息;将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流;输出所述第二视频流至指定地址。本发明可以实现在直播视频流中添加实时信息的目的。

Description

一种信息处理方法、拦截器、电子设备及存储介质
技术领域
本发明涉及视频处理技术领域,特别是涉及一种信息处理方法、拦截器、电子设备及存储介质。
背景技术
随着互联网技术的发展,人们使用网络观看视频已经逐渐得到普及化。而在视频播放过程中,通常需要在播放到某帧图像时添加实时信息,如人脸的遮挡信息等等。
对于重播视频来说,在移动终端侧可以通过预先提取视频播放画面,并在相应画面帧添加SEI(附加增强消息,Supplementary Enhancement Information)。而对于直播视频来说,由于直播画面帧在移动终端侧是无法预先提取的,导致无法在移动终端侧直播画面中添加SEI。
而若要在直播画面中添加实时信息,须在直播视频的推流端或者云端插入SEI,然而,由于SEI只能在IDR(即时解码刷新,Instantaneous Decoding Refresh)帧(即I帧)前插入,但是I帧一般数秒才有一帧,而为了保证直播视频的即时性,在推流端或者云端向直播视频流中添加的SEI只能达到0.xfps(Frames Per Second,每秒传输帧数),无法满足实时高频SEI插入的需求。
发明内容
本发明实施例所要解决的技术问题是提供一种信息处理方法、拦截器、电子设备及存储介质,以解决现有技术中必须在推流端或云端向直播画面帧中插入插入SEI,插入的SEI只能达到零点几FPS,无法插入实时高频的SEI的技术问题。
为了解决上述问题,本发明实施例提供了一种信息处理方法,执行于拦截器,包括:从视频流的推送端拦截第一视频流;识别所述第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,……;依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的实时信息;将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流;输出所述第二视频流至指定地址。
优选地,在所述从视频流的推送端拦截第一视频流之前,还包括:创建数据接收端和数据发送端;在所述数据接收端内创建视频流队列和实时信息队列;所述从视频流的推送端拦截第一视频流,包括:由所述数据接收端从视频流的推送端拦截所述第一视频流,并将所述第一视频流缓存于所述视频流队列。
优选地,所述识别所述第一视频流中的第i个关键帧和第i+1个关键帧,包括:在所述视频流队列,对所述第一视频流进行视频解码,生成图像序列;对所述图像序列进行识别处理,获取识别结果;依据所述识别结果,获取所述第i个关键帧和所述第i+1关键帧。
优选地,所述依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的实时信息,包括:获取所述第一视频流中,位于所述第i个关键帧和所述第i+1个关键帧之间的多个视频帧;依据所述多个视频帧,从所述实时信息队列中确定与所述第i个关键帧关联的实时信息。
优选地,所述将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流,包括:获取位于所述第i个关键帧和所述第i+1个关键帧之间的子图像序列;将所述子图像序列输入预先训练好的神经网络模型,确定所述子图像序列中的各图像的播放时间;依据各所述播放时间,为所述实时信息添加相应的时间戳;所述时间戳用于指示播放所述实时信息的时间;将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端;在所述数据发送端,将所述压缩实时信息插入所述第i个关键帧之前,以生成所述第二视频流;所述输出所述第二视频流至指定地址,包括:由所述数据发送端输出所述第二视频流至指定地址。
优选地,所述将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端,包括:在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理,生成压缩实时信息;将所述压缩实时信息发送至所述数据发送端。
优选地,在将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端之后,还包括:清空所述视频流队列;在所述实时信息队列中的所有实时信息均发送至所述数据发送端之后,清空所述实时信息队列。
为了解决上述问题,本发明实施例提供了一种拦截器,包括:视频流拦截模块,用于从视频流的推送端拦截第一视频流;关键帧识别模块,用于识别所述第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,……;实时信息确定模块,用于依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的实时信息;视频流生成模块,用于将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流;视频流输出模块,用于输出所述第二视频流至指定地址。
优选地,还包括:接收发送端创建模块,用于创建数据接收端和数据发送端;视频信息队列创建模块,用于在所述数据接收端内创建视频流队列和实时信息队列;所述视频流拦截模块包括:第一视频流拦截子模块,用于由所述数据接收端从视频流的推送端拦截所述第一视频流,并将所述第一视频流缓存于所述视频流队列。
优选地,所述关键帧识别模块包括:图像序列生成子模块,用于在所述视频流队列,对所述第一视频流进行视频解码,生成图像序列;识别结果获取子模块,用于对所述图像序列进行识别处理,获取识别结果;关键帧获取子模块,用于依据所述识别结果,获取所述第i个关键帧和所述第i+1关键帧。
优选地,所述实时信息确定模块包括:多个视频帧获取子模块,用于获取所述第一视频流中,位于所述第i个关键帧和所述第i+1个关键帧之间的多个视频帧;实时信息确定子模块,用于依据所述多个视频帧,从所述实时信息队列中确定与所述第i个关键帧关联的实时信息。
优选地,所述视频流生成模块包括:子图像序列获取子模块,用于获取位于所述第i个关键帧和所述第i+1个关键帧之间的子图像序列;播放时间确定子模块,用于将所述子图像序列输入预先训练好的神经网络模型,确定所述子图像序列中的各图像的播放时间;时间戳添加子模块,用于依据各所述播放时间,为所述实时信息添加相应的时间戳;所述时间戳用于指示播放所述实时信息的时间;第一视频流发送子模块,用于将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端;第二视频流生成子模块,用于在所述数据发送端,将所述压缩实时信息插入所述第i个关键帧之前,以生成所述第二视频流;所述视频流输出模块包括:第二视频流输出子模块,用于由所述数据发送端输出所述第二视频流至指定地址。
优选地,所述第一视频流发送子模块包括:压缩实时信息生成子模块,用于在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理,生成压缩实时信息;压缩实时信息发送子模块,用于将所述压缩实时信息发送至所述数据发送端。
优选地,还包括:视频流队列清空模块,用于清空所述视频流队列;实时信息队列清空模块,用于在所述实时信息队列中的所有实时信息均发送至所述数据发送端之后,清空所述实时信息队列。
为了解决上述问题,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的信息处理方法。
为了解决上述问题,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的信息处理方法。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,通过拦截器从视频流的推送端拦截第一视频流,识别第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,…,依据第i个关键帧和第i+1个关键帧,确定与第i个关键帧关联的实时信息,将实时信息插入到第i个关键帧之前,以生成第二视频流,并输出第二视频流至指定地址。本发明实施例通过拦截器对第一视频流进行拦截,在拦截器中识别出需要添加实时信息的关键帧,并获取相应的实时信息插入到该关键帧之前,通过拦截器可以实现高帧率实时信息的获取和插入,从而可以实现在视频流中添加高帧率实时信息的目的,解决了现有技术中无法在直播视频中插入高帧率的实时信息的缺陷。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本发明实施例提供的一种信息处理方法的步骤流程图;
图2是本发明实施例提供的一种信息处理方法的步骤流程图;
图3是本发明实施例提供的一种拦截器的结构示意图;
图4是本发明实施例提供的一种拦截器的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明实施例提供的一种信息处理方法的步骤流程图,该信息处理方法可以应用于拦截器,具体可以包括如下步骤:
步骤101:从视频流的推送端拦截第一视频流。
本发明实施例可以应用于为直播视频添加SEI的场景中,直播视频可以为球类赛事直播视频、新闻类直播视频、娱乐解说类直播视频等等,当然,不局限于此,还可以为其它视频添加SEI,如重播视频等等。
拦截器是指用于拦截视频流的设备,该视频流指的是推送端发送的视频流,拦截器可以单独设置,例如,将拦截器设置于视频流推送端与服务器之间,以拦截推送端推送的视频流。或者,拦截器也可以设置于服务器内,以拦截推送端推送的视频流。
在具体实现中,本领域技术人员可以根据实际需要设置拦截器所处的位置,本发明实施例对此不加以限制。
而对于拦截器拦截推送端的过程可以为:由拦截器在推流端向服务器侧下发视频流时,可以由拦截器直接从推流端拉取第一视频流,从而实现对第一视频流的拦截。
具体地,服务器侧在指定时间从推流端接收视频流时,可以向拦截器发送拦截指令,进而由拦截器从推流端拉取第一视频流。
第一视频流是指视频流的推送端(推流源或云端等)推送视频流的过程中,由拦截器所拦截的某一播放时刻或某一播放时段内的视频流,例如,在视频直播开始时,可以由视频流的推送端不断的发送各时刻的视频流至指定地址,由拦截器将各个时刻或各个时段内的视频流进行拦截,并进行后续的处理。具体地,可以在拦截器侧预先创建数据接收端,由数据接收端对视频流的推送端下发的第一视频流进行拦截,并执行实时信息获取并添加的过程,具体地,将在下述实施例中进行详细描述,本发明实施例在此不再加以赘述。
在从视频流的推送端拦截第一视频流之后,执行步骤102。
步骤102:识别所述第一视频流中的第i个关键帧和第i+1个关键帧。
在本发明实施例中,i=0、1、2、…,即i为0,或大于等于1的正整数。
需要说明的是,第一视频流中包括关键帧和普通帧,每间隔若干普通帧就有一个关键帧,如2至3个普通帧就有一个关键帧,也成为I帧,也就是说,这里识别的是第一视频流中每两个相邻且连续的关键帧。
关键帧(即I帧)是指角色或者物体运动或变化中的关键动作所处的那一帧。相邻关键帧之间的动画可以由软件来创建,关键帧也可以称作过渡帧或者中间帧。
第i个关键帧和第i+1个关键帧是指第一视频流中播放时间连续,且第i个关键帧的播放时间先于第i+1个关键帧中的两个连续关键帧。
在从视频流的推送端拦截第一视频流之后,可以识别第一视频流中的第i个关键帧,具体地识别方法可以是对第一视频流进行视频解码,以得到一帧帧连续的图像,形成图像序列,然后对图像序列进行识别,从而根据识别结果,获取第i个关键帧和第i+1个关键帧,具体地,将在下述实施例中进行详细描述,本发明实施例在此不再加以赘述。
在识别第一视频流中的第i个关键帧和第i+1个关键帧之后,执行步骤103。
步骤103:依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的实时信息。
实时信息是指需要添加至第一视频流的某些视频帧画面上的附加增强信息,例如,实时信息可以为插图信息,即在第一视频流的播放过程中,在直播某一帧视频画面时,在画面中添加的插图。或者,实时信息还可以为在某一帧视频画面中添加的打码信息等等,而对于需要添加的实时信息可以根据业务需求而定,本发明实施例对此不加以限制。
与第i个关键帧关联的实时信息是指需要在第i个关键帧、和第i个关键帧与第i+1个关键帧之间的视频帧对应的图像上添加的实时信息。
在本发明中,通过拦截器拦截第一视频流,可以获取与第一视频流中第i个关键帧关联的帧率较高的实时信息,帧率(Frame rate)是指帧称为单位的位图图像连续出现在显示器上的频率,即每秒钟播放画面帧的数目,而由于人类眼睛的特殊生理结构,连续播放画面的帧率达到30fps时,可以认为播放的画面是连贯的,而通常情况下,将30fps以下的帧率视为低帧率,而将大于等于30fps的帧率视为高帧率。
拦截器通过拦截第一视频流,引入少量的播放时延,可以获取高帧率的实时信息,并插入到第一视频流中,从而可以实现高帧率实时信息的插入。
在识别第一视频流中的第i个关键帧和第i+1个关键帧,可以根据第i个关键帧和第i+1个关键帧之间的多个视频帧,获取相应的实时信息,例如,在预先设置了需要图像序列中的哪些图像添加插画附加信息,则可以根据两个连续关键帧之间的多个视频帧对应的图像,获取对应的插画附加信息等等,具体地,将在下述实施例中进行详细描述,本发明在此不再加以赘述。
在依据第i个关键帧和第i+1个关键帧,确定与第i个关键帧关联的实时信息之后,执行步骤104。
步骤104:将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流。
在获取与第i个关键帧关联的实时信息之后,可以将实时信息插入到第i个关键帧之前,在插入之前,可以先将实时信息进行压缩,例如,将实时信息压缩为byte数组(即字节数组),然后,将压缩得到的byte数组插入到第i个关键帧之前。
当然,在将实时信息插入到第i个关键帧之前,还可以预先记录实时信息的时间戳,时间戳可以用于指示实时信息的播放时间,即获取播放第i个关键帧的时间,然后为实时信息添加时间戳,在后续开始播放第i个关键帧对应的画面开始,到播放第i+1个关键帧对应的画面结束的时间范围内,播放实时信息,具体地,将在下述实施例中进行详细描述。
在将实时信息插入到第i个关键帧之前,得到第二视频流。
在生成第二视频流之后执行步骤105。
步骤105:输出所述第二视频流至指定地址。
指定地址可以是指接收并播放第二视频流的地址,例如,指定终端地址等等。
在生成第二视频流之后,可以将第二视频流输出至指定地址,由于第二视频流中添加有实时信息,从而在指定地址播放第二视频流时,可以根据预先记录的实时信息的时间戳,在时间戳指定的时间播放实时信息,从而可以达到在视频流中添加高帧率的实时信息的目的。
本发明实施例提供的信息处理方法,通过拦截器从视频流的推送端拦截第一视频流,识别第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,…,依据第i个关键帧和第i+1个关键帧,确定与第i个关键帧关联的实时信息,将实时信息插入到第i个关键帧之前,以生成第二视频流,并输出第二视频流至指定地址。本发明实施例通过拦截器对第一视频流进行拦截,在拦截器中识别出需要添加实时信息的关键帧,并获取相应的实时信息插入到该关键帧之前,通过拦截器可以实现高帧率实时信息的获取和插入,从而可以实现在视频流中添加高帧率实时信息的目的,解决了现有技术中无法在直播视频中插入高帧率的实时信息的缺陷。
参照图2,示出了本发明实施例提供的一种信息处理方法的步骤流程图,该信息处理方法可以应用于拦截器,具体可以包括如下步骤:
步骤201:创建数据接收端和数据发送端。
本发明实施例可以应用于为直播视频添加SEI的场景中,直播视频可以为球类赛事直播视频、新闻类直播视频、娱乐解说类直播视频等等,当然,不局限于此,还可以为其它视频添加SEI,如重播视频等等。
拦截器是指用于拦截视频流的设备,该视频流指的是推送端推送的视频流,拦截器可以单独设置,例如,将拦截器设置于视频流推送端与服务器之间,以拦截推送端推送的视频流。或者,拦截器也可以设置于服务器侧的内,以拦截推送端推送的视频流。
在具体实现中,本领域技术人员可以根据实际需要设置拦截器所处的位置,本发明实施例对此不加以限制。
而对于拦截器拦截推送端的过程可以为:由拦截器在推流端向服务器侧下发视频流时,可以由拦截器直接从推流端拉取第一视频流,从而实现对第一视频流的拦截。也就是说,第一视频流从推流端输出后,需要先被拦截器拦截并处理后,再推送到指定地址,并不是由推流端直接推流到指定地址。
具体地,服务器侧在指定时间从推流端接收视频流时,可以向拦截器发送拦截指令,进而由拦截器从推流端拉取第一视频流。
在设置拦截器之后,可以在拦截器内创建数据接收端和数据发送端,数据接收端可以用于后续的视频流拦截,及视频流解码等操作,具体地,将在下述步骤中进行描述。
数据发送端可以用于执行实时信息插入关键帧之前及视频流发送到指定地址的过程,具体地,将在下述步骤中进行描述。
应当理解地,拦截器侧创建的数据接收端和数据发送端并非是通常所指的终端,而是创建于拦截器侧的执行特定功能的接收端和发送端,可以为创建的一个虚拟内存,如内存容器等等,进而在内存中执行相应的功能。
在创建数据接收端和数据发送端之后,执行步骤202。
步骤202:在所述数据接收端内创建视频流队列和实时信息队列。
在创建数据接收端和数据发送端之后,可以在数据接收端内创建视频流队列和实时信息队列。
在视频流队列中可以用于缓存从视频流的推送端拦截的视频流。
实时信息队列可以用于缓存在视频流对应的画面中所需添加的实时信息,具体地,可以由拦截器从预置的实时信息数据库中获取视频流所需添加的实时信息,并缓存于实时信息队列中,以便于获取视频流中的某个时刻或时间段内的视频流对应的实时信息。
视频流可以是指直播类视频流,例如,球类赛事直播视频、新闻类直播视频、娱乐类直播视频等等。视频流也可以是非直播类视频流(即互联网网络视频),如重播视频流等等,具体地,可以根据实际情况而定,本发明实施例对此不加以限制。
在数据接收端创建视频流队列和实时信息队列之后,执行步骤203。
步骤203:由所述数据接收端从视频流的推送端拦截所述第一视频流,并将所述第一视频流缓存于所述视频流队列。
第一视频流是指视频流的推送端(推流源或云端等)推送视频流的过程中,某一播放时刻或某一播放时段内的视频流数据,例如,在视频流的推送端不断推送视频流的过程中,拦截器每隔30s从推送端拦截一次视频流,而被拦截的第一视频流对应的播放时长即为30s。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
以直播视频为例,在开始视频直播时,直播视频的视频流对应的推送端可以根据直播视频的播放画面的播放时间,不断下发视频流,而拦截器侧设置的数据接收端可以每隔预设时间从视频流的推送端拦截第一视频流,并将拦截的第一视频流添加至视频流队列进行缓存。
在由数据接收端从视频流的推送端拦截第一视频流,并将第一视频流缓存于视频流队列之后,执行步骤204。
步骤204:在所述视频流队列,对所述第一视频流进行视频解码,生成图像序列。
在第一视频流中包含了多个视频帧,每个视频帧均对应一幅视频画面,即一帧图像,多个视频组成了一个图像序列,从而形成了连续播放的视频画面。
在将第一视频流缓存于视频流队列之后,可以采用预置解码器(如视频解码器等)对第一视频流进行视频解码操作,从而可以得到一系列的图像形成的图像序列,具体地,可以将第一视频流输入到视频解码器,由视频解码器对第一视频流进行解码从而得到图像序列。
在实际应用中,还可以采用其它视频解码方式对第一视频流进行解码,具体地,可以根据实际情况而定,本发明实施例对此不加以限制。
在视频流队列,对第一视频流进行视频解码,生成图像序列之后,执行步骤205。
步骤205:对所述图像序列进行识别处理,获取识别结果。
在获取第一视频流对应的图像序列之后,可以采用图像识别技术对图像序列中的每个图像一一进行识别,以得到识别结果。
图像识别技术是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术,旨在识别图像中的角色或者物体运动或变化中的关键动作所处的那一帧,即识别出哪一帧图像为关键帧。
图像识别可以有轮廓识别、特征识别、色彩识别、材质识别、物体识别等等,可以根据颜色、亮度等信息得出物体的轮廓,依据轮廓所对应的数据来确定轮廓的内容是什么物体或是什么特征等。
通过上述图像识别方法可以对图像序列中每张图像进行识别,从而可以得到每张图像对应的识别结果。
当然,在具体实现中,本领域技术人员还可以采用其它图像识别处理方法,本发明实施例对此不加以限制。
在对图像序列进行识别处理,得到识别结果之后,执行步骤206。
步骤206:依据所述识别结果,获取所述第i个关键帧和所述第i+1关键帧。
在本发明实施例中,i=0、1、2、…,即i为0,或大于等于1的正整数。
需要说明的是,第一视频流中包括关键帧和普通帧,每间隔若干普通帧就有一个关键帧,如2至3个普通帧就有一个关键帧,也成为I帧,也就是说,这里识别的是第一视频流中每两个相邻且连续的关键帧。
关键帧(即I帧)是指角色或者物体运动或变化中的关键动作所处的那一帧。相邻两个关键帧之间的动画可以由软件来创建,关键帧也可以称作过渡帧或者中间帧。
第i个关键帧和第i+1个关键帧是指第一视频流中播放时间连续,且第i个关键帧的播放时间先于第i+1个关键帧中的两个连续关键帧。
在对图像序列中的每张图像进行图像识别处理,得到每张图像对应的识别结果之后,可以对每张图像对应的识别结果进行分析,以获取角色或者物体运动或变化中的关键动作所处的那一帧,从而将该帧图像作为关键帧。
应当理解地,在第一视频流中可能包含有多个关键帧,而由于事先规定了需要在哪些视频画面中添加实时信息,可以根据这些画面的播放时间,在播放时间位于这些画面之前的一帧图像作为第i个关键帧,而播放时间连续,且位于第i个关键帧之后的一个关键帧即为第i+1个关键帧。
不仅限于此,在具体实现中,本领域技术人员还可以采用其它方式获取第i个关键帧和第i+1个关键帧,本发明实施例对此不加以限制。
当然,对于第一视频流而言,不仅只是对第一视频流中的2个关键帧进行识别,而在第一视频流中包含3个或3个以上的关键帧时,需要对第一视频流中每两个连续的关键帧进行识别,例如,在第一视频流中存在三个关键帧,且分别为第1帧、第2帧和第3帧时,需要识别第1帧和第2帧,并识别第2帧和第3帧等。
当然,在第一视频流中不含有视频帧的情况下,则结束第一视频流的处理过程,对于此种情况,本发明实施例不作详细描述。
在依据图像序列对应的识别结果,获取第i个关键帧和第i+1关键帧之后,执行步骤207。
步骤207:获取所述第一视频流中,位于所述第i个关键帧和所述第i+1个关键帧之间的多个视频帧。
在相邻两个关键帧之间,具有多个视频帧,即相邻关键帧之间的动画。
在获取第一视频流中的第i个关键帧和第i+1个关键帧之后,可以获取第一视频流中第i个关键帧和第i+1个关键帧之间的多个视频帧,例如,连续的视频帧包括、i1、i2、…、in、in+1、…,其中,i2为第i个关键帧,in为第i+1个关键帧,则位于第i个关键帧和第i+1个关键帧之间的视频帧包括:i3、i4、…、in-1。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在获取多个视频帧之后,执行步骤208。
步骤208:依据所述多个视频帧,从所述实时信息队列中确定与所述第i个关键帧关联的实时信息。
实时信息是指需要添加至第一视频流中某些视频帧对应的画面上的附加增强信息,例如,实时信息可以为插图信息,即在第一视频流的播放过程中,在直播某一帧视频画面时,在画面中添加的插图。或者,实时信息还可以为在某一帧视频画面中添加的打码信息等等,而对于需要添加的实时信息可以根据业务需求而定,本发明实施例对此不加以限制。
当然,在第一视频流中包含3个或3个以上关键帧时,需要对第一视频流中每两个连续的关键帧进行识别,并在每个关键帧前插入实时信息,该实时信息即为与关键帧以及该关键帧与下一关键帧之间普通视频帧相关的实时信息,例如,在第一视频流中包含3个关键帧,分别为第1帧、第2帧和第3帧时,需要分别在第1帧、第2帧和第3帧前插入实时信息,在第1帧前插入的实时信息,是与第1帧及第1帧与第2帧之间的普通视频帧相关的实时信息;而在第2帧前插入的实时信息,是与第2帧及第2帧与第3帧之间的普通视频帧相关的实时信息。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
与第i个关键帧关联的实时信息是指需要在第i个关键帧、和第i个关键帧与第i+1个关键帧之间的视频帧对应的图像上添加的实时信息。
在本发明中,通过拦截器拦截第一视频流,可以获取与第一视频流中第i个关键帧关联的帧率较高的实时信息,帧率(Frame rate)是指帧称为单位的位图图像连续出现在显示器上的频率,即每秒钟播放画面帧的数目,而由于人类眼睛的特殊生理结构,连续播放画面的帧率达到30fps时,可以认为播放的画面是连贯的,而通常情况下,将30fps以下的帧率视为低帧率,而将大于等于30fps的帧率视为高帧率。
拦截器通过拦截第一视频流,引入少量的播放时延,可以获取高帧率的实时信息,并插入到第一视频流中,从而可以实现高帧率实时信息的插入。
在实时信息队列中预先保存有视频流所需添加的多个实时信息,即为哪些直播画面添加什么类型的实时信息,可以根据直播视频预先从实时信息数据库中获取这些实时信息,并添加至实时信息队列中。
在获取位于第i个关键帧和第i+1个关键帧之间的多个视频帧之后,可以根据多个视频帧分别对应的图像画面,从实时信息队列中确定与第i个关键帧关联的实时信息,例如,第i个关键帧和第i+1个关键帧之间的多个视频帧对应的画面需要添加xx人物插画,则可以根据多个视频帧去实时信息队列中确定xx人物插画为实时信息。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在依据多个视频帧,从实时信息队列中确定与第i个关键帧关联的实时信息之后,执行步骤209。
步骤209:获取位于所述第i个关键帧和所述第i+1个关键帧之间的子图像序列。
位于第i个关键帧和第i+1个关键帧之间的子图像序列即为位于第i个关键帧和第i+1个关键帧之间的多个视频帧分别对应的图像。
在经上述对第一视频流进行视频解码,并识别出第i个关键帧和第i+1个关键帧之后,可以从视频解码的图像序列中,获取位于第i个关键帧和第i+1个关键帧之间的子图像序列。
在获取位于第i个关键帧和第i+1个关键帧之间的子图像序列之后,执行步骤209。
步骤210:将所述子图像序列输入预先训练好的神经网络模型,确定所述子图像序列中的各图像的播放时间。
在本发明实施例中,播放时间是指视频流对应的子图像序列在指定地址进行播放时,播放各图像的时间。
神经网络模型可以用于获取对子图像序列中的各图像的播放时间,例如,在神经网络模型中存储有各视频流对应的图像序列中各图像的播放时间,如可以根据图像序列的间隔距离、待播放图像数等,获取子图像序列中各图像的播放时间。
在获取位于第i个关键帧和第i+1个关键帧之间的子图像序列之后,可以将子图像序列输入预先训练好的神经网络模型,以获取指图像序列中的各图像的播放时间。
在获取子图像序列中的各图像的播放时间之后,执行步骤211。
步骤211:依据各所述播放时间,为所述实时信息添加相应的时间戳;所述时间戳用于指示播放所述实时信息的时间。
时间戳是指播放实时信息的时间。
根据上述获取的各子图像序列中各图像的播放时间之后,可以为各实时信息添加相应的时间戳,例如,子图像序列包括图像S1和图像S2,对应的实时信息为信息A1,在获取的图像S1的播放时间为00:18:00,图像S2的播放时间为00:18:03(即在视频流开始播放后,图像S1在进入播放时间为18分钟时开始播放,图像S2在进入播放时间为18分钟3s时开始播放),进而,可以为信息A1添加时间戳18:00min和18:03min,在进入播放时间为18min时,同时播放图像S1和信息A1,在进入播放时间为18min3s时,同时播放图像S2和A1。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。
在依据各播放时间,为实时信息添加相应的时间戳之后,执行步骤212。
步骤212:将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端。
在为实时信息添加相应的时间戳之后,可以将视频流队列中缓存的第一视频流发送至数据发送端,并将实时信息队列中添加有时间戳的实时信息发送至数据发送端。
而在将添加有时间戳的实时信息发送至数据发送端之前,还可以对添加有时间戳的实时信息进行压缩处理,具体地,以下述优选实施例进行如下详细描述。
在本发明的一种优选实施例中,上述步骤212可以包括:
子步骤A1:在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理,生成压缩实时信息。
在本发明实施例中,在为与第i个关键帧关联的实时信息添加了相应的时间戳之后,可以对添加有时间戳的实时信息进行压缩处理,例如,将添加有时间戳的实时信息压缩为byte数组等。通过压缩处理,可以减少发送的数据量,减轻终端的工作负荷,并能够提高数据传输效率。
在实时信息队列中,对添加有时间戳的实时信息进行压缩处理之后,可以生成压缩实时信息,并执行子步骤A2。
子步骤A2:将所述压缩实时信息发送至所述数据发送端。
在实时信息队列中,对添加有时间戳的实时信息进行压缩处理,生成压缩实时信息之后,可以将压缩实时信息发送至数据发送端。
当然,在将视频流队列中缓存的第一视频流发送至数据发送端和将实时信息队列中添加有时间戳的实时信息发送至数据发送端之后,可以触发分别对应于视频流队列和实时信息队列的清空操作,具体地,以下述优选实施例进行详细描述。
在本发明的另一种优选实施例中,还可以包括:
步骤B1:清空所述视频流队列。
在本发明实施例中,在将视频流队列中的第一视频流发送至数据发送端之后,可以触发与视频流队列对应的清空操作,具体地,在拦截器侧可以预先设置对视频流队列的监控程序,通过该监控程序可以实时监控将视频流队列中的第一视频流发送至数据发送端的操作,在监测到将视频流队列中的第一视频流发送至数据发送端的操作时,可以触发生成与视频流队列的清空指令。
依据该清空指令可以对视频流队列执行清空操作,以清空视频流队列,为后续视频流队列缓存其它视频流做准备,并且,可以减少对拦截器的存储空间的占用。
步骤B2:在所述实时信息队列中的所有实时信息均发送至所述数据发送端之后,清空所述实时信息队列。
而在将添加有时间戳的实时信息发送至数据发送端之后,可以监测实时信息队列中的所有实时信息是否均已发送至数据发送端。
在实时信息队列中的所有实时信息还有未发送至数据发送端的实时信息时,表示还有后续的为视频流提供的实时信息,则不对实时信息队列进行处理。
而在实时信息队列中的所有实时信息均已发送至数据发送端时,则可以触发生成对应于实时信息队列的清空指令,依据该清空指令可以对实时信息队列执行清空操作,以清空实时信息队列,为后续其它视频添加实时信息时,获取相应的实时信息做准备,并且,可以减少对拦截器的存储空间的占用。
在将第一视频流和所述添加有时间戳的实时信息发送至数据发送端之后,执行步骤213。
步骤213:在所述数据发送端,将所述压缩实时信息插入所述第i个关键帧之前,以生成所述第二视频流。
在将压缩实时信息发送至数据发送端之后,可以在数据发送端,将压缩实时信息插入到第i个关键帧之前,以生成第二视频流。
在生成第二视频流之后执行步骤214。
步骤214:由所述数据发送端输出所述第二视频流至指定地址。
指定地址可以是指接收并播放第二视频流的地址,例如,指定终端地址等等。
在生成第二视频流之后,可以由数据发送端将第二视频流输出至指定地址,由于第二视频流中添加有实时信息,从而在指定地址播放第二视频流时,可以根据预先记录的实时信息的时间戳,在时间戳指定的时间播放实时信息,从而可以达到在视频流中添加高帧率的实时信息的目的。
本发明实施例提供的信息处理方法,通过拦截器从视频流的推送端拦截第一视频流,识别第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,…,依据第i个关键帧和第i+1个关键帧,确定与第i个关键帧关联的实时信息,将实时信息插入到第i个关键帧之前,以生成第二视频流,并输出第二视频流至指定地址。本发明实施例通过拦截器对第一视频流进行拦截,在拦截器中识别出需要添加实时信息的关键帧,并获取相应的实时信息插入到该关键帧之前,通过拦截器可以实现高帧率实时信息的获取和插入,从而可以实现在视频流中添加高帧率实时信息的目的,解决了现有技术中无法在直播视频中插入高帧率的实时信息的缺陷。
参照图3,示出了本发明实施例提供的一种拦截器的结构示意图,所述拦截器具体可以包括:
视频流拦截模块301,用于从视频流的推送端拦截第一视频流;关键帧识别模块302,用于识别所述第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,……;实时信息确定模块303,用于依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的实时信息;视频流生成模块304,用于将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流;视频流输出模块305,用于输出所述第二视频流至指定地址。
本发明实施例提供的拦截器,通过从视频流的推送端拦截第一视频流,识别第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,…,依据第i个关键帧和第i+1个关键帧,确定与第i个关键帧关联的实时信息,将实时信息插入到第i个关键帧之前,以生成第二视频流,并输出第二视频流至指定地址。本发明实施例通过拦截器对第一视频流进行拦截,在拦截器中识别出需要添加实时信息的关键帧,并获取相应的实时信息插入到该关键帧之前,通过拦截器可以实现高帧率实时信息的获取和插入,从而可以实现在视频流中添加高帧率实时信息的目的,解决了现有技术中无法在直播视频中插入高帧率的实时信息的缺陷。
参照图4,示出了本发明实施例提供的一种拦截器的结构示意图,所述拦截器具体可以包括:
接收发送端创建模块401,用于创建数据接收端和数据发送端;视频信息队列创建模块402,用于在所述数据接收端内创建视频流队列和实时信息队列;视频流拦截模块403,用于从视频流的推送端拦截第一视频流;关键帧识别模块404,用于识别所述第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,……;实时信息确定模块405,用于依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的实时信息;视频流生成模块406,用于将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流;视频流输出模块407,用于输出所述第二视频流至指定地址。
优选地,所述视频流拦截模块403包括:第一视频流拦截子模块4031,用于由所述数据接收端从视频流的推送端拦截所述第一视频流,并将所述第一视频流缓存于所述视频流队列。
优选地,所述关键帧识别模块404包括:图像序列生成子模块4041,用于在所述视频流队列,对所述第一视频流进行视频解码,生成图像序列;识别结果获取子模块4042,用于对所述图像序列进行识别处理,获取识别结果;关键帧获取子模块4043,用于依据所述识别结果,获取所述第i个关键帧和所述第i+1关键帧。
所述实时信息确定模块405包括:多个视频帧获取子模块4051,用于获取所述第一视频流中,位于所述第i个关键帧和所述第i+1个关键帧之间的多个视频帧;实时信息确定子模块4052,用于依据所述多个视频帧,从所述实时信息队列中确定与所述第i个关键帧关联的实时信息。
优选地,所述视频流生成模块406包括:子图像序列获取子模块4061,用于获取位于所述第i个关键帧和所述第i+1个关键帧之间的子图像序列;播放时间确定子模块4062,用于将所述子图像序列输入预先训练好的神经网络模型,确定所述子图像序列中的各图像的播放时间;时间戳添加子模块4063,用于依据各所述播放时间,为所述实时信息添加相应的时间戳;所述时间戳用于指示播放所述实时信息的时间;第一视频流发送子模块4064,用于将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端;第二视频流生成子模块4065,用于在所述数据发送端,将所述压缩实时信息插入所述第i个关键帧之前,以生成所述第二视频流。
优选地,所述视频流输出模块407包括:第二视频流输出子模块4071,用于由所述数据发送端输出所述第二视频流至指定地址。
优选地,所述第一视频流发送子模块4064包括:压缩实时信息生成子模块,用于在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理,生成压缩实时信息;压缩实时信息发送子模块,用于将所述压缩实时信息发送至所述数据发送端。
优选地,所述拦截器还包括:视频流队列清空模块,用于清空所述视频流队列;实时信息队列清空模块,用于在所述实时信息队列中的所有实时信息均发送至所述数据发送端之后,清空所述实时信息队列。
本发明实施例提供的拦截器,通过从视频流的推送端拦截第一视频流,识别第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,…,依据第i个关键帧和第i+1个关键帧,确定与第i个关键帧关联的实时信息,将实时信息插入到第i个关键帧之前,以生成第二视频流,并输出第二视频流至指定地址。本发明实施例通过拦截器对第一视频流进行拦截,在拦截器中识别出需要添加实时信息的关键帧,并获取相应的实时信息插入到该关键帧之前,通过拦截器可以实现高帧率实时信息的获取和插入,从而可以实现在视频流中添加高帧率实时信息的目的,解决了现有技术中无法在直播视频中插入高帧率的实时信息的缺陷。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可选的,本发明还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述信息处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
可选的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的信息处理方法中的步骤。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例中,通过服务器拦截即时视频流中的第一视频流数据,并获取与第一视频流数据关联的实时信息,并对第一视频流数据和各实时信息进行合成处理,生成第二视频流数据,并将第二视频流数据发送至对应的终端。本发明实施例通过拦截器对第一视频流进行拦截,在拦截器中识别出需要添加实时信息的关键帧,并获取相应的实时信息插入到该关键帧之前,通过拦截器可以实现高帧率实时信息的获取和插入,从而可以实现在视频流中添加高帧率实时信息的目的,解决了现有技术中无法在直播视频中插入高帧率的实时信息的缺陷。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种信息处理方法、一种拦截器、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种信息处理方法,执行于拦截器,其特征在于,包括:
从视频流的推送端拦截第一视频流;
识别所述第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,……,所述关键帧是指角色或者物体运动或变化中的关键动作所处的那一帧;
依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的帧率大于等于30FPS的实时信息,所述实时信息为需被添加至所述第i个关键帧、和所述第i个关键帧与所述第i+1个关键帧之间的视频帧对应的图像上的附加增强信息;
为所述实时信息添加相应的时间戳,将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流;
输出所述第二视频流至指定地址。
2.根据权利要求1所述的方法,其特征在于,在所述从视频流的推送端拦截第一视频流之前,还包括:
创建数据接收端和数据发送端;
在所述数据接收端内创建视频流队列和实时信息队列;
所述从视频流的推送端拦截第一视频流,包括:
由所述数据接收端从视频流的推送端拦截所述第一视频流,并将所述第一视频流缓存于所述视频流队列。
3.根据权利要求2所述的方法,其特征在于,所述识别所述第一视频流中的第i个关键帧和第i+1个关键帧,包括:
在所述视频流队列,对所述第一视频流进行视频解码,生成图像序列;
对所述图像序列进行识别处理,获取识别结果;
依据所述识别结果,获取所述第i个关键帧和所述第i+1关键帧。
4.根据权利要求2所述的方法,其特征在于,所述依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的帧率大于等于30FPS的实时信息,包括:
获取所述第一视频流中,位于所述第i个关键帧和所述第i+1个关键帧之间的多个视频帧;
依据所述多个视频帧,从所述实时信息队列中确定与所述第i个关键帧关联的帧率大于等于30FPS的实时信息。
5.根据权利要求3所述的方法,其特征在于,所述将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流,包括:
获取位于所述第i个关键帧和所述第i+1个关键帧之间的子图像序列;
将所述子图像序列输入预先训练好的神经网络模型,确定所述子图像序列中的各图像的播放时间;
依据各所述播放时间,为所述实时信息添加相应的时间戳;所述时间戳用于指示播放所述实时信息的时间;
将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端;
在所述数据发送端,将压缩实时信息插入所述第i个关键帧之前,以生成所述第二视频流;其中,所述压缩实时信息是在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理生成的;
所述输出所述第二视频流至指定地址,包括:
由所述数据发送端输出所述第二视频流至指定地址。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端,包括:
在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理,生成所述压缩实时信息;
将所述压缩实时信息发送至所述数据发送端。
7.根据权利要求5所述的方法,其特征在于,在将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端之后,还包括:
清空所述视频流队列;
在所述实时信息队列中的所有实时信息均发送至所述数据发送端之后,清空所述实时信息队列。
8.一种拦截器,其特征在于,包括:
视频流拦截模块,用于从视频流的推送端拦截第一视频流;
关键帧识别模块,用于识别所述第一视频流中的第i个关键帧和第i+1个关键帧,i=0,1,2,……,所述关键帧是指角色或者物体运动或变化中的关键动作所处的那一帧;
实时信息确定模块,用于依据所述第i个关键帧和所述第i+1个关键帧,确定与所述第i个关键帧关联的帧率大于等于30FPS的实时信息,所述实时信息为需被添加至所述第i个关键帧、和所述第i个关键帧与所述第i+1个关键帧之间的视频帧对应的图像上的附加增强信息;
视频流生成模块,用于为所述实时信息添加相应的时间戳,将所述实时信息插入到所述第i个关键帧之前,以生成第二视频流;
视频流输出模块,用于输出所述第二视频流至指定地址。
9.根据权利要求8所述的拦截器,其特征在于,还包括:
接收发送端创建模块,用于创建数据接收端和数据发送端;
视频信息队列创建模块,用于在所述数据接收端内创建视频流队列和实时信息队列;
所述视频流拦截模块包括:
第一视频流拦截子模块,用于由所述数据接收端从视频流的推送端拦截所述第一视频流,并将所述第一视频流缓存于所述视频流队列。
10.根据权利要求9所述的拦截器,其特征在于,所述关键帧识别模块包括:
图像序列生成子模块,用于在所述视频流队列,对所述第一视频流进行视频解码,生成图像序列;
识别结果获取子模块,用于对所述图像序列进行识别处理,获取识别结果;
关键帧获取子模块,用于依据所述识别结果,获取所述第i个关键帧和所述第i+1关键帧。
11.根据权利要求9所述的拦截器,其特征在于,所述实时信息确定模块包括:
多个视频帧获取子模块,用于获取所述第一视频流中,位于所述第i个关键帧和所述第i+1个关键帧之间的多个视频帧;
实时信息确定子模块,用于依据所述多个视频帧,从所述实时信息队列中确定与所述第i个关键帧关联的帧率大于等于30FPS的实时信息。
12.根据权利要求10所述的拦截器,其特征在于,所述视频流生成模块包括:
子图像序列获取子模块,用于获取位于所述第i个关键帧和所述第i+1个关键帧之间的子图像序列;
播放时间确定子模块,用于将所述子图像序列输入预先训练好的神经网络模型,确定所述子图像序列中的各图像的播放时间;
时间戳添加子模块,用于依据各所述播放时间,为所述实时信息添加相应的时间戳;所述时间戳用于指示播放所述实时信息的时间;
第一视频流发送子模块,用于将所述第一视频流和所述添加有时间戳的实时信息发送至所述数据发送端;
第二视频流生成子模块,用于在所述数据发送端,将压缩实时信息插入所述第i个关键帧之前,以生成所述第二视频流;其中,所述压缩实时信息是在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理生成的;
所述视频流输出模块包括:
第二视频流输出子模块,用于由所述数据发送端输出所述第二视频流至指定地址。
13.根据权利要求12所述的拦截器,其特征在于,所述第一视频流发送子模块包括:
压缩实时信息生成子模块,用于在所述实时信息队列,对所述添加有时间戳的实时信息进行压缩处理,生成所述压缩实时信息;
压缩实时信息发送子模块,用于将所述压缩实时信息发送至所述数据发送端。
14.根据权利要求12所述的拦截器,其特征在于,还包括:
视频流队列清空模块,用于清空所述视频流队列;
实时信息队列清空模块,用于在所述实时信息队列中的所有实时信息均发送至所述数据发送端之后,清空所述实时信息队列。
15.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的信息处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的信息处理方法。
CN201910229613.5A 2019-03-25 2019-03-25 一种信息处理方法、拦截器、电子设备及存储介质 Active CN110139128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910229613.5A CN110139128B (zh) 2019-03-25 2019-03-25 一种信息处理方法、拦截器、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910229613.5A CN110139128B (zh) 2019-03-25 2019-03-25 一种信息处理方法、拦截器、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110139128A CN110139128A (zh) 2019-08-16
CN110139128B true CN110139128B (zh) 2022-10-21

Family

ID=67568858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910229613.5A Active CN110139128B (zh) 2019-03-25 2019-03-25 一种信息处理方法、拦截器、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110139128B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428084A (zh) * 2020-04-15 2020-07-17 海信集团有限公司 一种信息处理方法、管家服务器及云端服务器
CN111601061B (zh) * 2020-06-01 2021-12-24 联想(北京)有限公司 一种视频录制信息处理方法及电子设备
CN113840160B (zh) * 2021-09-29 2023-09-29 重庆紫光华山智安科技有限公司 事件数据传输方法、系统、电子设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG119229A1 (en) * 2004-07-30 2006-02-28 Agency Science Tech & Res Method and apparatus for insertion of additional content into video
CN104735552A (zh) * 2013-12-23 2015-06-24 北京中传数广技术有限公司 一种直播视频标签插入的方法与系统
CN106131591B (zh) * 2016-06-30 2019-08-06 广州华多网络科技有限公司 直播方法、装置及终端
CN106303661B (zh) * 2016-08-29 2019-11-12 武汉斗鱼网络科技有限公司 一种直播客户端实现自适应屏幕旋转的方法及系统
CN108260016B (zh) * 2018-03-13 2020-07-28 北京小米移动软件有限公司 直播处理方法、装置、设备、系统及存储介质
CN108989883B (zh) * 2018-07-06 2021-05-28 武汉斗鱼网络科技有限公司 一种直播广告方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110139128A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110868600B (zh) 目标跟踪视频推流方法、显示方法、装置和存储介质
US11557015B2 (en) System and method of data transfer in-band in video via optically encoded images
CN110139128B (zh) 一种信息处理方法、拦截器、电子设备及存储介质
CN110876080B (zh) 视频投屏方法、装置、计算机设备及存储介质
CN111277854A (zh) 一种虚拟直播间的展示方法、装置、电子设备和存储介质
CN110139148B (zh) 一种视频切换清晰度的方法及相关装置
US20180376195A1 (en) Live streaming quick start method and system
CN109714622B (zh) 一种视频数据处理方法、装置及电子设备
CN107690073A (zh) 一种视频直播方法及视频直播服务器
CN112272327B (zh) 数据处理方法、装置、存储介质及设备
WO2019214370A1 (zh) 多媒体信息的传输方法及装置、终端
CN110519640B (zh) 视频处理方法、编码器、cdn服务器、解码器、设备及介质
US20230045876A1 (en) Video Playing Method, Apparatus, and System, and Computer Storage Medium
CN111131874B (zh) 一种解决h.265码流随机接入点播放卡顿的方法、设备及计算机存储介质
CN110519627B (zh) 一种音频数据的同步方法和装置
CN114040255A (zh) 直播字幕生成方法、系统、设备及存储介质
CN115623264A (zh) 直播流的字幕处理方法、装置及直播流的播放方法、装置
CN112218128B (zh) 广告视频的播放方法、播放客户端及可读存储介质
CN109525852B (zh) 直播视频流处理方法、装置、系统及计算机可读存储介质
CN112235600B (zh) 视频数据及视频业务请求的处理方法、装置及系统
CN112153401B (zh) 视频处理方法、通信设备及可读存储介质
CN110545447B (zh) 一种音视频同步的方法及装置
CN115348409A (zh) 一种视频数据的处理方法、装置、终端设备和存储介质
CN114339284A (zh) 直播延迟的监控方法、设备、存储介质及程序产品
CN110798713B (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