CN113473174B - 一种视频录制方法、装置、设备和介质 - Google Patents

一种视频录制方法、装置、设备和介质 Download PDF

Info

Publication number
CN113473174B
CN113473174B CN202010350245.2A CN202010350245A CN113473174B CN 113473174 B CN113473174 B CN 113473174B CN 202010350245 A CN202010350245 A CN 202010350245A CN 113473174 B CN113473174 B CN 113473174B
Authority
CN
China
Prior art keywords
video
target
time
video segment
preset
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
CN202010350245.2A
Other languages
English (en)
Other versions
CN113473174A (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.)
Hisense Co Ltd
Original Assignee
Hisense 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 Hisense Co Ltd filed Critical Hisense Co Ltd
Priority to CN202010350245.2A priority Critical patent/CN113473174B/zh
Publication of CN113473174A publication Critical patent/CN113473174A/zh
Application granted granted Critical
Publication of CN113473174B publication Critical patent/CN113473174B/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/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
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Hospice & Palliative Care (AREA)
  • Marketing (AREA)
  • Child & Adolescent Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Psychiatry (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请公开了一种视频录制方法、装置、设备和介质,本申请接收当前进行视频通话的音频数据和视频数据;对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段;将所述第一视频段和所述第二视频段合成为目标视频段,并保存所述目标视频段。由于本申请将检测到设定情绪的时刻作为目标时刻,获取目标时刻之前的第一时长范围内的第一视频段,以及目标时刻之后的第二时长范围内的第二视频段,并将该第一视频段和该第二视频段合成为目标视频段,从而保证了录制视频的完整性。

Description

一种视频录制方法、装置、设备和介质
技术领域
本申请涉及视频通话技术领域,尤其涉及一种视频录制方法、装置、设备和介质。
背景技术
随着视频通话技术的发展,在现有家庭中,智能管家服务器已经可以实现通过智能电视的显示界面进行实时的视频通话。
图1为现有技术提供的一种实现视频通话的系统架构示意图,如图1所示:智感器采集用户的视频数据,小聚音响采集用户的音频数据,智感器和小聚音响将采集的视频数据和音频数据发送给智能管家服务器,同时云端服务器在接收到其他用户的视频数据和音频数据后,也将音频数据和视频数据发送给智能管家服务器,智能管家服务器对获取到的视频数据进行处理,并将音频数据和处理后的视频数据发送给显示设备显示视频通话的内容。
当进行多人视频通话时,以六人视频通话为例,图2为现有技术提供的一种实现视频通话的数据流的流向示意图,智能管家服务器从本地的智感器和小聚音响获取到一路音频数据和视频数据,而其他的五路音频数据和视频数据需要从云端服务器中获取,六路视频数据都在智能管家服务器中进行解码,解码后获得颜色编码(Luminance BandwidthChrominance,YUV)视频数据,智能管家服务器实现六路YUV视频数据的缩放和拼接,拼接为六宫格画面的YUV视频数据,将拼接后的YUV视频数据发送给高速通行模块,通过该高速通行模块发送到互联网电视(Over-The-Top TV,OTT)盒子,OTT盒子再通过高清多媒体接口(High Definition Multimedia Interface,HDMI)线发送给电视,通过电视的显示屏显示出来。
而在现有技术中,为了实现视频录制,设备在接收到人为指令后,开始录制显示屏显示的视频,设备再次接收到人为指令后,停止视频的录制。其中,该人为指令可以为语音指令、手势指令和按键指令中的任意一种。
图3为现有技术提供的一种视频录制的时间示意图,在T0时刻,接收到语音指令、手势指令和按键指令中的任意一种指令后,开始进行视频的录制,在T1时刻接收到语音指令、手势指令和按键指令中的任意一种指令后停止视频的录制。
现有技术在进行视频的录制时,需要人为指令的控制,录制方式不灵活,并且只能在接收到人为指令后再进行视频的录制,从而导致只能录制接收到人为指令的时刻之后的视频,视频录制不完整。
发明内容
本申请提供了一种视频录制方法、装置、设备和介质,用以解决现有技术中的视频录制不完整的问题。
第一方面,本申请还提供了一种视频录制方法,所述方法包括:
接收当前进行视频通话的音频数据和视频数据;
对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段;
将所述第一视频段和所述第二视频段合成为目标视频段,并保存所述目标视频段。
进一步地,所述方法还包括:
获取所述目标时刻的目标图像,针对所述目标视频段保存所述目标图像。
进一步地,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段之前,所述方法还包括:
判断所述目标时刻与确定的上一个目标时刻之间的时间间隔是否大于设定的时长阈值,若是,则执行后续的获取所述第一视频段和所述第二视频段的步骤。
进一步地,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段,包括:
在检测到所述目标时刻时,将第一Gstreamer管道设置为空状态,停止进行视频数据的缓存,并根据预先设定的第一时长,获取所述目标时刻之前的第一时长范围的第一视频段;
在检测到所述目标时刻时,将第二Gstreamer管道设置为运行状态,根据预先设定的第二时长,缓存所述目标时刻之后的第二时长范围的第二视频段。
进一步地,所述方法还包括:
将第二Gstreamer管道设置为运行状态后,获取所述目标时刻的所述目标图像。
进一步地,所述方法还包括:
在保存所述目标视频段和所述目标图像后,将所述第一Gstreamer管道设置为运行状态,缓存接收到的视频数据;并
将所述第二Gstreamer管道设置为暂停状态,停止进行视频数据的缓存。
进一步地,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段之后,所述方法还包括:
判断所述第一视频段的时长是否小于预设第三时长,若是,根据所述第一视频段与所述第一视频段的前一个第一视频段,生成更新后的第一视频段。
第二方面,本申请提供了一种视频录制装置,所述装置包括:
传输模块,用于接收当前进行视频通话的音频数据和视频数据;
处理模块,用于对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻;根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段;将所述第一视频段和所述第二视频段合成为目标视频段,并将所述目标视频段发送给所述存储模块;
存储模块,用于保存所述目标视频段。
进一步地,所述处理模块,还用于获取所述目标时刻的目标图像,并将所述目标图像发送给所述存储模块;
所述存储模块,还用于针对所述目标视频段保存所述目标图像。
进一步地,所述处理模块,用于判断所述目标时刻与确定的上一个目标时刻之间的时间间隔是否大于设定的时长阈值,若是,根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段。
进一步地,所述处理模块包括:
检测单元,用于对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,并在检测到所述目标时刻时,向第一缓存单元发送暂停指令,并向第二缓存单元发送启动指令;
所述第一缓存单元,用于缓存接收到的视频数据;接收到所述检测单元发送的暂停指令时,根据预先设定的第一时长,获取所述目标时刻之前的第一时长范围的第一视频段,并将自身设置为在空状态,停止进行视频数据的缓存;
所述第二缓存单元,用于在接收到所述检测单元发送的启动指令时,将自身设置为运行状态,根据预先设定的第二时长,缓存所述目标时刻之后的第二时长范围的第二视频段。
进一步地,所述第二缓存单元,还用于将自身设置为运行状态后,获取所述目标时刻的所述目标图像。
进一步地,所述存储模块,还用于在保存所述目标视频段和所述目标图像后,向所述处理模块发送缓存成功的通知信息;
所述检测单元,还用于在接收到所述存储模块发送的缓存成功的通知信息时,向所述第一缓存单元发送启动指令,并向所述第二缓存单元发送暂停指令;
所述第一缓存单元,还用于接收到所述检测单元发送的启动指令后,将自身设置为运行状态,缓存接收到的视频数据;
所述第二缓存单元,还用于接收到所述检测单元发送的暂停指令后,将自身设置为暂停状态,停止进行视频数据的缓存。
进一步地,所述处理模块,还用于判断所述第一视频段的时长是否小于预设第三时长,若是,根据所述第一视频段与所述第一视频段的前一个第一视频段,生成更新后的第一视频段。
第三方面,本申请还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于执行存储器中存储的计算机程序时实现上述任一所述视频录制方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述视频录制方法的步骤。
本申请提供了一种视频录制方法、装置、设备和介质,本申请接收当前进行视频通话的音频数据和视频数据;对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段;将所述第一视频段和所述第二视频段合成为目标视频段,并保存所述目标视频段。由于本申请将检测到设定情绪的时刻作为目标时刻,获取目标时刻之前的第一时长范围内的第一视频段,以及目标时刻之后的第二时长范围内的第二视频段,并将该第一视频段和该第二视频段合成为目标视频段,从而保证了录制视频的完整性。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种实现视频通话的系统架构示意图;
图2为现有技术提供的一种实现视频通话的数据流的流向示意图;
图3为现有技术提供的一种视频录制的时间示意图;
图4为本申请一些实施例提供的一种智能管家服务器的结构示意图;
图5为本申请一些实施例提供的一种视频录制的流程示意图;
图6为本申请一些实施例提供的一种视频录制的时间示意图;
图7为本申请一些实施例提供的Gstreamer管道在T-1到T0时间段内进行处理的框图;
图8为本申请一些实施例提供的一种视频录制和图像抓拍Gstreamer管道在T0到T1时间段内进行处理的框图;
图9为本申请一些实施例提供的一种视频录制装置的结构示意图;
图10为本申请一些实施例提供的一种电子设备结构示意图。
具体实施方式
为了保证录制视频的完整性,本申请提供了一种视频录制方法、装置、设备和介质。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请中,在家居场景进行视频通话时,可以通过智感器、小聚音响采集视频数据和音频数据,将采集到的视频数据和音频数据发送给智能管家服务器;另外进行视频通话的其他账户的音频数据和视频数据也会通过云端服务器发送给智能管家服务器,为了捕捉到进行视频通话的账户的情绪变化,并且获取情绪变化前后的视频段,智能管家服务器可以检测在进行视频通话过程中出现设定情绪的目标时刻,并分别获取该目标时刻之前的第一时长范围的第一视频段,及位于该目标时刻之后的第二时长范围的第二视频段,并将第一视频段和第二视频段合成为目标视频段并保存。方便后续对该目标视频段进行显示。
图4为本申请一些实施例提供的一种视频录制方法的过程示意图,该过程包括以下步骤:
S401:接收当前进行视频通话的音频数据和视频数据。
本申请提供的视频录制方法应用于智能管家服务器,该智能管家服务器是本地服务器,该智能管家服务器用于对音频数据和视频数据进行处理。
该智能管家服务器接收当前进行视频通话的音频数据和视频数据。其中,该音频数据包括本地的音频采集设备采集的音频数据,以及由云端服务器转发的音频数据,该本地的音频采集设备可以是音响、麦克风、话筒和拾音器等。音频采集设备采集到音频数据后,可以通过有线传输或无线传输等方式,将该音频数据发送给该智能管家服务器。
该视频数据同样也包括本地的视频采集设备采集的视频数据,以及由云端服务器转发的视频数据,该本地的视频采集设备可以是智感器、摄像头、摄像机等设备。该图像采集设备采集到视频数据后,可以通过有线传输和无线传输等方式,将该视频数据发送给智能管家服务器。
S402:对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段。
接收到音频数据和视频数据后,该智能管家服务器基于Gstreamer框架对音频数据和视频数据进行处理,其中,该Gstreamer框架是一个创建流媒应用程序的框架,该Gstreamer框架是基于插件的,插件可以方便地接入到该Gstreamer框架的管道中,实现对代码的复用。
该Gstreamer框架通过总线监控管道中各个元件的状态,从而对获取到的音频数据和视频数据等数据进行管理。该Gstreamer框架的管道是由多个元件组成的,各个元件的代码实现可以对应为插件代码的实现,各个元件之间通过衬垫(Pad)进行连接和数据的流通。Pad可以看作元件间相互连接的接口,数据通过Pad流入流出元件,Pad具有特殊的数据处理能力,可以限制通过它的数据类型,只有当两个Pad允许通过的数据类型兼容时才可以将它们连接起来。
该为了确定出存在设定情绪的目标时刻,智能管家服务器还需要对接收到的音频数据进行语义情绪检测,其中,该设定情绪是指预先设定的情绪,包括高兴、伤心、愤怒等情绪。该智能管家服务器检测到设定情绪后,将该设定情绪出现的时刻作为目标时刻。
例如,该设定情绪为高兴,在进行检测时可以检测是否出现大笑的声音,若检测到用户大笑的声音时,将音频数据中大笑出现的时刻作为目标时刻。
为了确定出发生设定情绪的原因以及后果,保证视频录制的完整性,在本申请中,需要获取该目标时刻之前的视频,即发生设定情绪的原因的视频,和目标时刻之后的视频,即发生设定情绪的后果的视频。预先设定有第一时长和第二时长,该第一时长表示需要获取的目标时刻之前的视频的时长,该第二时长表示需要获取的目标时刻之后的视频的时长,该第一时长和该第二时长可以相同,也可以不同,本申请对此不做限制,较佳的,该第一时长和该第二时长的值相同。
为了保证录制的视频的完整性,根据预先设定的第一时长,获取该目标时刻之前的第一时长范围的第一视频段,其中,该第一视频段的时长为该第一时长。并根据预先设定的第二时长,获取该目标时刻之后的第二时长范围的第二视频段,其中,该第二视频段的时长为该第二时长。
S403:将所述第一视频段和所述第二视频段合成为目标视频段,并保存所述目标视频段。
根据获取的该第一视频段和第二视频段,将该第一视频段和该第二视频段合成为目标视频段。在该智能管家服务器合成出目标视频段后,还需要保存该目标视频段。
由于本申请将检测到设定情绪的时刻作为目标时刻,获取目标时刻之前的第一时长范围内的第一视频段,以及目标时刻之后的第二时长范围内的第二视频段,并将该第一视频段和该第二视频段合成为目标视频段,从而保证了录制视频的完整性。
为了确定出目标时刻出现了什么设定情绪,在上述实施例的基础上,在本申请中,所述方法还包括:
获取所述目标时刻的目标图像,针对所述目标视频段保存所述目标图像。
在本申请中,该智能管家服务器在确定检测到设定情绪时,将设定情绪出现的时刻作为目标时刻,获取该目标时刻的目标图像,其中,该目标图像的格式可以是bmp、jpg、png中的任意一种,本申请对此不做限制。
该智能管家服务器在获取到该目标图像后,针对该目标时刻的目标视频段,对该目标图像进行保存,即对应保存该目标视频段和该目标图像。
具体的,在本申请中,通过Gstreamer管道实现对目标图像的获取。在获取目标图像时,通过该Gstreamer管道中的识别元件identity和消耗元件fakesink进行获取。其中,该识别元件identity是Gstreamer管道的一个元件,该识别元件identity可以在不改变数据的情况下,使数据通过该识别元件identity,并在数据流通过程中对数据进行识别。
在本申请中,在获取目标图像时,为了保存获取的目标图像,该智能管家服务器会在Gstreamer管道中生成Gstbuffer信号,该Gstreamer管道中的该识别元件identity识别到Gstbuffer信号后,该识别元件identity向该消耗元件fakesink发送获取目标图像的通知信息。
消耗元件fakesink是Gstreamer管道的另一个元件,该消耗元件fakesink可以消耗数据但不显示。在本申请中,通过该消耗元件fakesink监听到该识别元件identity发送的signal-handoffs信号后,该Gstreamer管道中的该消耗元件fakesink调用回调函数实现对目标时刻的目标图像的获取。具体的,为了实现该消耗元件fakesink接收到signal-handoff信号后,该消耗元件fakesink调用回调函数,需要将消耗元件fakesink与signal-handoffs信号进行绑定。因为Gstreamer管道中各元件进行信号发送和接收的时间比较短,因此消耗元件接收到signal-handoff信号的时刻可以认为是该目标时刻。
具体的,将该消耗元件fakesink与signal-handoffs绑定的代码实现为:camera_data->buffer_cb_id=g_signal_connect(G_OBJECT(fakesink),"handoffs",G_CALLBACK(buffer_probe_callback),appdata)。
为了实现对目标时刻的目标图像的获取,设定回调函数的功能实现。
static gboolean buffer_probe_callback(GstElement*image_sink,GstBuffer*buffer,GstPad*pad,AppData*appdata)
Figure BDA0002471572540000101
Figure BDA0002471572540000111
以上获取的jpeg格式文件中的图像即为该目标图像snap_img。
作为一种可能的实施方式,在本申请中,在通过该Gstreamer管道获取目标时刻之后的第二时长范围的第二视频段时,同步实现获取目标时刻的目标图像,该Gstreamer管道的具体实现可以参考以下代码命令:
Record_Photo_bin=gst_parse_launch("appsrc name=src!tee name=vsrcvsrc.!videoscale!videoconvert!omxh264enc!filesink name=record_sink vsrc.!queue!identifity!fakesink。
为了更准确地保证录制视频的完整性,在上述各实施例的基础上,在本申请中,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段之前,所述方法还包括:
判断所述目标时刻与确定的上一个目标时刻之间的时间间隔是否大于设定的时长阈值,若是,则执行后续的获取所述第一视频段和所述第二视频段的步骤。
在本申请中,为了更准确地保证录制视频的完整性,该智能管家服务器在确定检测到设定情绪的目标时刻后,还需要确定出该目标时刻和确定的上一个目标时刻之间的时间间隔,判断该时间间隔是否大于设定的时长阈值;其中,该时长阈值是预先设定的,该时长阈值是指一次有效的语义情绪检测所涵盖的时长,该时长阈值可以是1分钟、2分钟等,较佳的,该时长阈值不小于该设定的第二时长。
当确定出该时间间隔大于设定的时长阈值时,根据该预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段。
由于在本申请中,智能管家服务器确定检测到设定情绪的目标时刻后,判断该目标时刻与确定的上一个目标时刻之间的时间间隔是否大于设定的时长阈值,并在该时间间隔大于设定的时长阈值时,才开始获取第一视频段和第二视频段,从而避免了对处于同一设定情绪所涵盖的时长内的音频数据的重复检测,从而更准确地保证了录制视频的完整性。
为了更准确地确定出目标视频段,在上述各实施例的基础上,在本申请中,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段,包括:
在检测到所述目标时刻时,将第一Gstreamer管道设置为空状态,停止进行视频数据的缓存,并根据预先设定的第一时长,获取所述目标时刻之前的第一时长范围的第一视频段;
在检测到所述目标时刻时,将第二Gstreamer管道设置为运行状态,根据预先设定的第二时长,缓存所述目标时刻之后的第二时长范围的第二视频段。
在本申请中,该智能管家服务器在接收到音频数据后,对接收的音频数据进行语义情绪检测。具体的,通过监听总线对接收到的音频数据进行语义情绪检测。
检测到设定情绪出现的目标时刻时,将第一Gstreamer管道设置为空状态。该第一Gstreamer管道的初始状态为运行状态,在检测到设定情绪出现的目标时刻时,将该第一Gstreamer管道的状态切换到空状态。
检测到设定情绪出现的目标时刻时,将第二Gstreamer管道设置为运行状态,该第二Gstreamer管道的初始状态为暂停状态,在检测到设定情绪出现的目标时刻时,将该第二Gstreamer管道的状态切换到运行状态。
该第一Gstreamer管道的初始状态为运行状态,用于缓存接收到的视频数据,直至检测到设定情绪出现的目标时刻,将第一Gstreamer管道设置为空状态,停止进行视频数据的缓存,因此,此时该第一Gstreamer管道缓存的视频数据为该目标时刻之前的视频数据。
同时还根据预先设定的第一时长,获取所述目标时刻之前的第一时长范围的第一视频段;在对视频数据进行缓存时,可以将该获取的视频数据缓存到一个视频文件中。
在对视频数据进行缓存之前,根据预先保存的第一时长的值,将时间参数设置为该预先保存的第一时长的值,在接收到暂停指令后,获取缓存的视频数据中该目标时刻之前的第一时长范围的第一视频段。
作为一种可能的实施方式,在对视频数据进行缓存时,还可以将获取的每个第一时长的第一视频段缓存到视频文件中。因为第一视频段的时长确定,因此每个视频文件中可以缓存的第一视频段的第一数量确定。
因为每个视频文件中缓存的第一视频段的数量确定,并且视频文件的第二数量也是确定的,因此当每个视频文件中都缓存了第一数量的第一视频段后,该智能管家服务器再获取了第一视频段后,可以采用该获取的第一视频段,对视频文件中已缓存的第一视频段进行替换,具体的可以按照第一视频段的获取时间的先后顺序,确定被替换的已缓存的第一视频段,从而采用该获取的第一视频段对其进行替换。
例如,包含的视频文件的第二数量为3时,每个第一视频段的第一时长为30秒,每个视频文件可以缓存的第一视频段的第一数量为1,该3个视频文件分别为file0,file1和file2,该file0,file1和file2中均缓存有第一时长为30秒的一个第一视频段,在该file0,file1和file2均缓存有一个第一视频段后,如果又获取到一个第一视频段,则可以按照第一视频段的获取时间的先后顺序,将最先获取的视频文件file0中的第一视频段进行替换,如果又获取到一个第一视频段,则可以按照第一视频段的获取时间的先后顺序,将获取的视频文件file1中的第一视频段进行替换,如此循环进行缓存。
在本申请中,该智能管家服务器根据预先设定的第一时长,获取该目标时刻之前的第一时长范围的第一视频段时,该第一Gstreamer管道从时刻T-2进行视频数据的缓存,检测到设定情绪的目标时刻T0时,将该第一Gstreamer管道设置为空状态,在目标时刻T0第一Gstreamer管道停止进行视频数据的缓存,则第一Gstreamer管道中缓存的是从开始时刻T-2到目标时刻T0之间的视频数据。该智能管家服务器根据预先设定的该第一时长,获取该目标时刻T0之前的第一时长范围的第一视频段,即获取从T-1到T0时刻的第一视频段。
在本申请中,该Gstreamer框架中包括监听总线以及三条不同的Gstreamer管道。其中的视频通话Gstreamer管道用于视频通话时的音频数据和视频数据的拉取、解码、缩放、拼接和数据发送,视频录制Gstreamer管道用于进行视频的录制;视频录制和图像抓拍Gstreamer管道用于进行视频的录制和图像的抓拍。
具体的,该第一Gstreamer管道为该视频录制Gstreamer管道,该智能管家服务器通过该视频录制Gstreamer管道进行视频缓存,在对视频数据进行缓存之前,该视频录制Gstreamer管道根据预先设置的缓存地址对视频数据进行缓存。
其中,由于视频数据的缓存地址设置需要在该视频录制Gstreamer管道处于GST_STATE_PAUSED的状态下才能实现,而该视频录制Gstreamer管道一直处于运行(GST_STATE_PLAYING)状态,因此,需要将该视频录制Gstreamer管道切换到暂停(GST_STATE_PAUSED)状态,具体的,可以通过应用程序调用g_timeout_add函数实现管道状态的切换。
由于该视频数据的缓存地址设置需要在该视频录制Gstreamer管道在暂停(GST_STATE_PAUSED)状态时进行,而视频数据的缓存需要该视频录制Gstreamer管道在运行(GST_STATE_PLAYING)状态。因此在视频数据的缓存地址设置完成后,还需要将该视频录制Gstreamer管道的状态切换回运行(GST_STATE_PLAYING)状态,进行视频数据的缓存。
当检测到目标时刻时,调用g_timeout_add函数将该视频录制Gstreamer管道的状态从运行(GST_STATE_PLAYING)状态切换到空(GST_STATE_NULL)状态。
该第二Gstreamer管道的初始状态为暂停状态,在检测到目标时刻时,该第二Gstreamer管道被设置为运行状态,开始进行视频数据的缓存;根据预先设定的第二时长,缓存该目标时刻之后的第二时长范围的第二视频段。
举例来说,在目标时刻为T0时,开始进行视频数据的缓存,缓存的是从目标时刻T0之后的视频数据。例如,该预先设定的第二时长为30秒时,则获取目标时刻T0之后的30秒内的第二视频段,即获取T0到T1时刻的第二视频段。
具体的,该智能管家服务器通过该视频录制和图像抓拍Gstreamer管道进行视频缓存,该第二Gstreamer管道为该视频录制和图像抓拍Gstreamer管道。该视频录制和图像抓拍Gstreamer管道的初始状态为暂停(GST_STATE_PAUSED)状态,在检测到目标时刻时,调用gst_element_set_state函数,将该视频录制和图像抓拍Gstreamer管道切换到运行(GST_STATE_PLAYING)状态,并对管道中的视频数据进行缓存,缓存该目标时刻之后的视频数据。
具体的,将该appsrc元件的回调函数与need-data信号进行绑定,当该视频录制和图像抓拍Gstreamer管道的状态切换到运行(GST_STATE_PLAYING)状态时,该视频录制和图像抓拍Gstreamer管道进行数据流的管道推送,在管道会生成need-data信号,当确定管道内生成该need-data信号后,调用该appsrc元件的回调函数,实现对视频数据buffer的分配(gst_buffer_new_allocate)。
具体的,缓存该第二视频段时,该视频录制和图像抓拍Gstreamer管道的具体代码命令如下:
Video_mix_audio=gst_parse_launch("appsrc1!queue!omxh264dec!‘video/x-h264,streamformat=(string)byte-stream’!h264parse!qtmux name=mux!filesinklocation=record1.mp4appsrc2!queue!audioconvert!lamemp3enc!mux。
为了获取目标时刻的目标图像,在上述实施例的基础上,在本申请中,所述方法还包括:
将第二Gstreamer管道设置为运行状态后,获取所述目标时刻的所述目标图像。
为了获取目标时刻的目标图像,该智能管家服务器还通过该视频录制和图像抓拍Gstreamer管道获取目标时刻的目标图像,将该视频录制和图像抓拍Gstreamer管道的状态切换到运行(GST_STATE_PLAYING)状态后,获取该目标时刻的目标图像。
具体的,该智能管家服务器调用gst_element_set_state函数,将该视频录制和图像抓拍Gstreamer管道切换到运行(GST_STATE_PLAYING)状态,因为状态切换所需的时间很短,因此可以将状态切换后的时刻作为该目标时刻,该视频录制和图像抓拍Gstreamer管道抓取该目标时刻的目标图像。
具体的,该视频录制和图像抓拍Gstreamer管道中包括识别元件identity以及消耗元件fakesink,接收到启动指令后,该视频录制和图像抓拍Gstreamer管道中生成Gstbuffer信号,该视频录制和图像抓拍Gstreamer管道中的该识别元件identity识别到Gstbuffer信号后,该识别元件identity向该消耗元件fakesink发送获取目标图像的通知信息。
该消耗元件fakesink监听到该识别元件identity发送的signal-handoffs信号后,该视频录制和图像抓拍Gstreamer管道中的该消耗元件fakesink调用回调函数实现对目标时刻的目标图像的获取。
在发明实施例中,在缓存完该第一视频段和该第二视频段后,该智能管家服务器将该第一视频段和该第二视频段合成为目标视频段。
具体的,在Gstreamer管道中,通过qtmux元件实现了第一视频段video_1和第二视频段video_2的合成。具体的,若该第一视频段video_1和第二视频段video_2都为mp4格式时,通过ffmpeg命令实现第一视频段video_1和第二视频段video_2的合成,该实现视频段合成的命令行如下所示:
Ffmpeg–1.mp4-vcodec copy–acodec copy-vbsf h264_mp4toannexb x.ts。
该智能管家服务器在确定出目标视频段和目标图像后,将该目标视频段和目标图像进行存储。
为了确定进行Gstreamer管道的状态切换,在上述各实施例的基础上,在本申请中,所述方法还包括:
在保存所述目标视频段和所述目标图像后,将所述第一Gstreamer管道设置为运行状态,缓存接收到的视频数据;并
将所述第二Gstreamer管道设置为暂停状态,停止进行视频数据的缓存。
在本申请中,保存接收到目标视频段后,该智能管家服务器确定完成视频数据的缓存,因此确定进行该第一Gstreamer管道和第二Gstreamer管道的状态切换。
在该智能管家服务器保存该目标视频段和该目标图像后,将该第一Gstreamer管道的状态从空状态设置为运行状态,第一Gstreamer管道开始缓存接收到的视频数据。
具体的,该智能管家服务器是通过该视频录制Gstreamer管道进行视频数据的缓存,该视频录制Gstreamer管道处于空NULL状态,通过应用程序调用g_timeout_add函数实现将该视频录制Gstreamer管道状态从空(GST_STATE_NULL)状态切换到运行(GST_STATE_PLAYING)状态,开始进行视频数据的缓存。
作为一种可能的实施方式,该智能管家服务器判断保存完成该目标视频段和目标图像的时刻与设定情绪的目标时刻的间隔是否大于该预先设定时长阈值。其中,该时长阈值为一次有效的语义情绪检测所涵盖的时长。
该智能管家服务器确定保存完成该目标视频段和目标图像的时刻与设定情绪的目标时刻的间隔大于该预先设定的时长阈值时,才将该第一Gstreamer管道设置为运行状态。
在保存该目标视频段和该目标图像后,该智能管家服务器将该第二Gstreamer管道的状态从运行状态设置为暂停状态,第二Gstreamer管道停止进行视频数据的缓存。
具体的,该智能管家服务器通过视频录制和图像抓拍Gstreamer管道进行视频缓存,该视频录制和图像抓拍Gstreamer管道处于运行(GST_STATE_PLAYING)状态,在保存该目标视频段和目标图像后,通过调用gst_element_set_state函数,将该视频录制和图像抓拍Gstreamer管道从运行(GST_STATE_PLAYING)状态切换到暂停(GST_STATE_PAUSED)状态。
下面通过一个具体的实施例对本申请的视频录制的流程进行描述。
图5为本申请一些实施例提供的一种视频录制的流程示意图,如图5所示,包括以下步骤:
S501:创建视频通话Gstreamer管道,该视频通话Gstreamer管道的初始状态为运行状态。
S502:创建视频录制Gstreamer管道,该视频录制Gstreamer管道的初始状态为运行状态。
S503:创建视频录制和图像抓拍Gstreamer管道,该视频录制和图像抓拍Gstreamer管道的初始状态为暂停状态。
S504:通过监听总线对接收到的音频数据进行语义情绪检测。
S505:确定是否检测到设定情绪的目标时刻,若是,则进入S506,若否,则进入S504。
S506:判断该目标时刻与确定的上一个目标时刻之间的时间间隔是否大于设定的时长阈值,若是,则进入S507,若否,则进入S504。
S507:将该视频录制Gstreamer管道设置为空状态,停止进行视频数据的缓存;将该视频录制和图像抓拍Gstreamer管道设置为运行状态,开始进行视频数据的缓存。
S508:根据预先设定的第一时长,通过该视频录制Gstreamer管道获取所述目标时刻之前的第一时长范围的第一视频段。
S509:根据预先设定的第二时长,缓存目标时刻之后的第二时长范围的第二视频段,并获取目标时刻的目标图像。
S510:将该第一视频段和该第二视频段合成为目标视频段。
S511:保存该目标视频段和目标图像。
S512:将该视频录制Gstreamer管道设置为运行状态,缓存接收到的视频数据。
S513:将该视频录制和图像抓拍Gstreamer管道设置为暂停状态,停止进行视频数据的缓存。
为了保证录制的视频的完整性,在上述各实施例的基础上,在本申请中,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段之后,所述方法还包括:
判断所述第一视频段的时长是否小于预设第三时长,若是,根据所述第一视频段与所述第一视频段的前一个第一视频段,生成更新后的第一视频段。
在本申请中,该智能管家服务器获取的第一视频段的时长是处于该第一时长范围内,但由于该第一视频段从开始缓存到目标时刻时的时长可能很短,不能保证该第一视频段的完整性。
因此,可以将获取的该第一视频段的时长与预设第三时长进行比较,其中,该第三时长是预先设置的,该第三时长较小于该预设的第一时长。当该第一视频段的时长小于预设的第三时长时,说明该第一视频段较短,不能保证该第一视频段的完整性,此时可以根据该第一视频段与前一个第一视频段,生成更新后的第一视频段,即将该第一视频段与前一个第一视频段进行合成,生成更新后的第一视频段。
为了详细地描述视频录制的过程,下面通过一个详细的实施例对本申请的视频录制的过程进行说明。
在本申请中,该智能管家服务器中通过该Gstreamer框架进行视频的录制,该Gstreamer框架中包括监听总线以及三条不同的Gstreamer管道。其中Gstreamer管道包括视频通话Gstreamer管道、视频录制Gstreamer管道和视频录制和图像抓拍Gstreamer管道。
通过该监听总线对该视频通话Gstreamer管道中的音频数据进行检测,确定检测到用户大笑的声音,将音频数据中大笑出现的时刻作为目标时刻T0
确定该目标时刻T0与确定的上一个目标时刻间的时间间隔大于1分钟时,通过视频录制Gstreamer管道获取该目标时刻T0之前的30秒内的第一视频段video_1,通过视频录制和图像抓拍Gstreamer管道获取该目标时刻T0之后的30秒内的第二视频段video_2。
图6为本申请一些实施例提供的一种视频录制的时间示意图,目标时刻是T0,则该合成后的目标视频的开始时刻为T-1,其中该T-1为目标时刻T0之前第一时长的时间点,也就是说获取的该video_1的视频录制开始时刻为T-1,结束时刻为目标时刻T0,T1为目标时刻之后第一时长的时间点,也就是说获取的该video_2的视频录制开始时刻为目标时刻T0,结束时刻为T1
图7为本申请一些实施例提供的Gstreamer管道在T-1到T0时间段内进行处理的框图,该视频录制Gstreamer管道一直处于运行(GST_STATE_PLAYING)状态,由于视频数据的缓存地址设置需要在该视频录制Gstreamer管道处于暂停(GST_STATE_PAUSED)的状态下才能实现,因此,通过应用程序调用g_timeout_add函数实现将管道状态从PLAYING切换到PAUSED。
在该视频录制Gstreamer管道处于暂停(GST_STATE_PAUSED)状态时,该视频录制Gstreamer管道通过设置输出元件的location属性实现视频数据的缓存地址设置并进行更新。在该视频数据的缓存地址设置完成后,该视频录制Gstreamer管道从PAUSED切换回PLAYING。
该视频录制Gstreamer管道的总线接收六路混音后的PCM音频数据,经过外部数据接收元件、缓冲元件和音频编码元件后,输入到合流元件中;该视频录制Gstreamer管道同时接收拼接后的YUV数据,经过外部数据接收元件、分支元件、缓冲元件、视频编码元件和视频解析元件,输入到合流元件中,通过合流元件获取第一视频段video_1。
图8为本申请一些实施例提供的一种视频录制和图像抓拍Gstreamer管道在T0到T1时间段内进行处理的框图,该视频录制和图像抓拍Gstreamer管道在笑声出发后,该视频录制和图像抓拍Gstreamer管道从PAUSED切换到PLAYING,开始进行视频数据的缓存。
该视频录制和图像抓拍Gstreamer管道的总线接收六路混音后的PCM音频数据,经过外部数据接收元件、缓冲元件和音频编码元件后,输入到合流元件中;该视频录制和图像抓拍Gstreamer管道同时接收拼接后的YUV视频数据,经过外部数据接收元件、分支元件、缓冲元件、视频编码元件和视频解析元件,输入到合流元件中,通过合流元件获取第二视频段video_2。
在本申请中,该能管家服务器还通过该视频录制和图像抓拍Gstreamer管道获取该目标时刻的目标图像。如图8所示,该视频录制和图像抓拍Gstreamer管道中的YUV视频数据在经过分支元件后,同时还通过识别元件、fakesink元件实现对目标时刻的目标图像的获取。
由于在进行目标图像的获取时,该视频录制和图像抓拍Gstreamer管道中会生成Gstbuffer信号,该Gstreamer管道中的该识别元件identity识别到Gstbuffer信号后,该识别元件identity向fakesink元件发送signal-handoffs,该fakesink元件监听到signal-handoffs后,通过抓拍实现目标图像的获取。
基于相同的技术构思,本发明实施例还提供一种视频录制装置,该视频录制装置可实现前述实施例中智能管家服务器所执行的流程。
图9为本申请一些实施例提供的一种视频录制装置的结构示意图,在上述各实施例的基础上,本申请还提供的一种视频录制装置,所述装置包括:
传输模块901,用于接收当前进行视频通话的音频数据和视频数据;
处理模块902,用于对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻;根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段;将所述第一视频段和所述第二视频段合成为目标视频段,并将所述目标视频段发送给所述存储模块;
存储模块903,用于保存所述目标视频段。
所述处理模块902,还用于获取所述目标时刻的目标图像,并将所述目标图像发送给所述存储模块;
所述存储模块903,还用于针对所述目标视频段保存所述目标图像。
所述处理模块902,用于判断所述目标时刻与确定的上一个目标时刻之间的时间间隔是否大于设定的时长阈值,若是,根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段。
所述处理模块902包括:
检测单元9021,用于对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,并在检测到所述目标时刻时,向第一缓存单元发送暂停指令,并向第二缓存单元发送启动指令;
所述第一缓存单元9022,用于缓存接收到的视频数据;接收到所述检测单元发送的暂停指令时,根据预先设定的第一时长,获取所述目标时刻之前的第一时长范围的第一视频段,并将自身设置为在空状态,停止进行视频数据的缓存;
所述第二缓存单元9023,用于在接收到所述检测单元发送的启动指令时,将自身设置为运行状态,根据预先设定的第二时长,缓存所述目标时刻之后的第二时长范围的第二视频段。
所述第二缓存单元9023,还用于将自身设置为运行状态后,获取所述目标时刻的所述目标图像。
所述存储模块903,还用于在保存所述目标视频段和所述目标图像后,向所述处理模块发送缓存成功的通知信息;
所述检测单元9021,还用于在接收到所述存储模块发送的缓存成功的通知信息时,向所述第一缓存单元发送启动指令,并向所述第二缓存单元发送暂停指令;
所述第一缓存单元9022,还用于接收到所述检测单元发送的启动指令后,将自身设置为运行状态,缓存接收到的视频数据;
所述第二缓存单元9023,还用于接收到所述检测单元发送的暂停指令后,将自身设置为暂停状态,停止进行视频数据的缓存。
所述处理模块902,还用于判断所述第一视频段的时长是否小于预设第三时长,若是,根据所述第一视频段与所述第一视频段的前一个第一视频段,生成更新后的第一视频段。
在本发明中该视频录制装置所涉及的与本发明实施例提供的技术方案相关的概念,解释和详细说明及其它步骤请参见前述方法或其它实施例中关于这些内容的描述,此处不做赘述。
由于本申请提供的智能管家服务器,将检测到设定情绪的时刻作为目标时刻,获取目标时刻之前的第一时长范围内的第一视频段,以及目标时刻之后的第二时长范围内的第二视频段,并将该第一视频段和该第二视频段合成为目标视频段,从而保证了录制视频的完整性。
图10为本申请提供的一种电子设备结构示意图,在上述各实施例的基础上,本申请中还提供了一种电子设备,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信;
所述存储器1003中存储有计算机程序,当所述程序被所述处理器1001执行时,使得所述处理器1001以完成上述方法中智能管家服务器执行相应功能的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1002用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在上述各实施例的基础上,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,计算机可执行指令用于使计算机执行前述方法部分所执行的流程。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种视频录制方法,其特征在于,所述方法包括:
接收当前进行视频通话的音频数据和视频数据;
对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段;
将所述第一视频段和所述第二视频段合成为目标视频段,并保存所述目标视频段;
其中,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段,包括:
在检测到所述目标时刻时,将第一Gstreamer管道设置为空状态,停止进行视频数据的缓存,并根据预先设定的第一时长,获取所述目标时刻之前的第一时长范围的第一视频段;
在检测到所述目标时刻时,将第二Gstreamer管道设置为运行状态,根据预先设定的第二时长,缓存所述目标时刻之后的第二时长范围的第二视频段。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标时刻的目标图像,针对所述目标视频段保存所述目标图像。
3.根据权利要求1所述的方法,其特征在于,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段之前,所述方法还包括:
判断所述目标时刻与确定的上一个目标时刻之间的时间间隔是否大于设定的时长阈值,若是,则执行后续的获取所述第一视频段和所述第二视频段的步骤。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将第二Gstreamer管道设置为运行状态后,获取所述目标时刻的目标图像。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在保存所述目标视频段和所述目标图像后,将所述第一Gstreamer管道设置为运行状态,缓存接收到的视频数据;并
将所述第二Gstreamer管道设置为暂停状态,停止进行视频数据的缓存。
6.根据权利要求1所述的方法,其特征在于,所述根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段之后,所述方法还包括:
判断所述第一视频段的时长是否小于预设第三时长,若是,根据所述第一视频段与所述第一视频段的前一个第一视频段,生成更新后的第一视频段。
7.一种视频录制装置,其特征在于,所述装置包括:
传输模块,用于接收当前进行视频通话的音频数据和视频数据;
处理模块,用于对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻;根据预先设定的第一时长和第二时长,分别获取所述目标时刻之前的第一时长范围的第一视频段,及位于所述目标时刻之后的第二时长范围的第二视频段;将所述第一视频段和所述第二视频段合成为目标视频段,并将所述目标视频段发送给存储模块;
存储模块,用于保存所述目标视频段;
其中,所述处理模块包括:
检测单元,用于对接收到的音频数据进行语义情绪检测,确定检测到设定情绪的目标时刻,并在检测到所述目标时刻时,向第一缓存单元发送暂停指令,并向第二缓存单元发送启动指令;
所述第一缓存单元,用于缓存接收到的视频数据;接收到所述检测单元发送的暂停指令时,根据预先设定的第一时长,获取所述目标时刻之前的第一时长范围的第一视频段,并将自身设置为在空状态,停止进行视频数据的缓存;
所述第二缓存单元,用于在接收到所述检测单元发送的启动指令时,将自身设置为运行状态,根据预先设定的第二时长,缓存所述目标时刻之后的第二时长范围的第二视频段。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6中任一所述视频录制方法的步骤。
9.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述视频录制方法的步骤。
CN202010350245.2A 2020-04-28 2020-04-28 一种视频录制方法、装置、设备和介质 Active CN113473174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010350245.2A CN113473174B (zh) 2020-04-28 2020-04-28 一种视频录制方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010350245.2A CN113473174B (zh) 2020-04-28 2020-04-28 一种视频录制方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN113473174A CN113473174A (zh) 2021-10-01
CN113473174B true CN113473174B (zh) 2022-09-30

Family

ID=77865825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010350245.2A Active CN113473174B (zh) 2020-04-28 2020-04-28 一种视频录制方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN113473174B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769584B2 (en) * 2009-05-29 2014-07-01 TVI Interactive Systems, Inc. Methods for displaying contextually targeted content on a connected television
WO2014105816A1 (en) * 2012-12-31 2014-07-03 Google Inc. Automatic identification of a notable moment
CN107124573A (zh) * 2016-02-25 2017-09-01 掌赢信息科技(上海)有限公司 一种视频通话中的屏幕录制方法及电子设备

Also Published As

Publication number Publication date
CN113473174A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN105359544B (zh) 数字视频流传输中的特技播放
US8134605B2 (en) Apparatus for transmitting an HTML file with a captured or stored image to an electronic device over a network
CN104869467A (zh) 媒体播放中的信息输出方法、装置和系统
CN108174295B (zh) 主播状态的通知方法和装置、主播状态的提示方法和装置
CN111866457B (zh) 监控图像处理方法、电子设备、存储介质及系统
CN111447239B (zh) 视频流播放控制方法、设备及存储介质
WO2021197157A1 (zh) 视频流的处理方法、装置、电子设备及计算机可读介质
CN104092920A (zh) 一种音视频同步方法
CN113067994A (zh) 一种视频录制方法及电子设备
CN104918123A (zh) 用于运动视频回放的方法和系统
WO2018192183A1 (zh) 无线传屏中视频文件的处理方法及装置
CN107040825B (zh) 终端、电视机、多屏互动系统和抓屏参数的设置方法
CN111147942A (zh) 视频播放方法、装置、电子设备及存储介质
US20140194152A1 (en) Mixed media communication
US10674188B2 (en) Playback apparatus, method of controlling playback apparatus, playback method and server apparatus
CN113473174B (zh) 一种视频录制方法、装置、设备和介质
CN113132798B (zh) 一种视频播放方法、装置、电子设备及介质
CN111083527A (zh) 应用的视频播放方法、装置、存储介质及电子设备
EP3888373A1 (en) A method and apparatus for loop-playing video content
CN115550678A (zh) 直播视频处理方法、装置及存储介质
CN111107296B (zh) 音频数据采集方法、装置、电子设备及可读存储介质
TWI581626B (zh) 影音自動處理系統及方法
CN117475013B (zh) 一种计算机设备和视频数据处理方法
CN113473237B (zh) 一种视频通话方法、装置及设备
CN112954483B (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