本发明涉及视频处理领域,尤其涉及一种视频化演示pptx文档的方法及终端。
背景技术:
为了方便用户阅读和观看,通常将pptx文档转化成视频进行演示。视频化演示pptx文档在越来越多的应用场景中得到广泛的应用,比如网上授课、可重复播放的授课视频等。现有的实现视频化演示pptx文档的方式通常是用录制的方式把pptx文档录制成视频,即对屏幕上播放的pptx文档进行录制,同时同步的另外加入每一页对应的语音信息,然而这种pptx文档视频的生成方式需要额外的加入语音信息,同时还需要根据录制的视频来确定每一页幻灯片对应的语音信息的长度,不仅生成方式繁琐,而且每页能够加入的音频信息依赖于所录制的pptx的切换速度,灵活度太低。
技术实现要素:
本发明所要解决的技术问题是:提供一种视频化演示pptx文档的方法和终端,能够方便灵活的生成pptx视频文件,实现视频化演示pptx文档。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种视频化演示pptx文档的方法,包括步骤:
s1、接收pptx文档转化成视频文件进行演示的请求;
s2、根据所述请求获取待演示的pptx文档中每一页幻灯片对应的备注信息,并将每一页幻灯片对应的备注信息转化为语音文件流;
s3、获取所述待演示的pptx文档的每一页幻灯片的图片,对每一页幻灯片的图片与其对应的语音文件流合成对应的视频片段,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;
s4、将所述待演示的pptx文档的每一页幻灯片对应的视频片段依次合并形成所述待演示的pptx文档对应的视频文件。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种视频化演示pptx文档的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
s1、接收pptx文档转化成视频文件进行演示的请求;
s2、根据所述请求获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息,并将每一页幻灯片对应的备注信息转化为语音文件流;
s3、获取所述待演示的pptx文档的每一页幻灯片的图片,对每一页幻灯片的图片与其对应的语音文件流合成对应的视频片段,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;
s4、将所述待演示的pptx文档的每一页幻灯片对应的视频片段依次合并形成所述待演示的pptx文档对应的视频文件。
本发明的有益效果在于:获取待演示的pptx文档中每一页幻灯片对应的备注信息,将其转换为语音文件流,并将与每一页幻灯片对应的图片合成对应的视频片段,最后按照幻灯片的播放顺序将每一个幻灯片对应的视频片段合并成视频文件,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;能够根据每一页幻灯片对应的语音文件流的语音长度自动确定每一页幻灯片的视频播放时长,并将每一页幻灯片对应的视频片段自动合并形成与待视频化演示的pptx文档对应的视频文件,相较于现有的通过录制的方式来生成视频化演示pptx文档需要的视频文件,能够更加方便灵活的生成pptx视频文件,实现视频化演示pptx文档。
附图说明
图1为本发明实施例的一种视频化演示pptx文档的方法的步骤流程图;
图2为本发明实施例的一种视频化演示pptx文档的终端的结构示意图;
图3为本发明实施例的一种视频会延时pptx文档的方法的具体流程图;
标号说明:
1、一种视频化演示pptx文档的终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种视频化演示pptx文档的方法,包括步骤:
s1、接收pptx文档转化成视频文件进行演示的请求;
s2、根据所述请求获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息,并将每一页幻灯片对应的备注信息转化为语音文件流;
s3、获取所述待演示的pptx文档的每一页幻灯片的图片,对每一页幻灯片的图片与其对应的语音文件流合成对应的视频片段,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;
s4、将所述待演示的pptx文档的每一页幻灯片对应的视频片段依次合并形成所述待演示的pptx文档对应的视频文件。
由上述描述可知,本发明的有益效果在于:获取待演示的pptx文档中每一页幻灯片对应的备注信息,将其转换为语音文件流,并将与每一页幻灯片对应的图片合成对应的视频片段,最后按照幻灯片的播放顺序将每一个幻灯片对应的视频片段合并成视频文件,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;能够根据每一页幻灯片对应的语音文件流的语音长度自动确定每一页幻灯片的视频播放时长,并将每一页幻灯片对应的视频片段自动合并形成与待视频化演示的pptx文档对应的视频文件,相较于现有的通过录制的方式来生成视频化演示pptx文档需要的视频文件,能够更加方便灵活的生成pptx视频文件,实现视频化演示pptx文档。
进一步的,所述根据所述请求获取待演示的pptx文档中每一页幻灯片对应的备注信息包括:
利用zlib读取pptx压缩格式文件中的内容,并利用repidxml读取所述读取的pptx压缩格式文件中的xml节点;
遍历所述xml节点中的所有页码节点以获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息。
由上述描述可知,借助zlib和repidxml能够准确快速地获取pptx文档中每一幻灯片对应的备注信息。
进一步的,所述步骤s2还包括:
确定每一页幻灯片对应的语音文件流的语音长度,将每一页幻灯片对应的语音文件流、语音文件流对应的语音长度与每一页幻灯片对应的页码进行关联并存储。
由上述描述可知,将每一页幻灯片对应的语音文件流、语音文件流对应的语音长度与每一页幻灯片对应的页面进行关联并存储,能够方便后续生成视频文件时快速准确的进行合成。
进一步的,所述步骤s3包括:
获取待视频演示的pptx文档的每一页幻灯片对应的图片;
根据所述图片所在的幻灯片对应的页码确定与其关联的语音文件流及所述语音文件流对应的语音长度;
将所述图片与所述语音文件流合并成对应的视频片段,并根据所述语音长度确定所述视频片段的时间长度。
由上述描述可知,根据pptx幻灯片对应的页码确定与该也幻灯片的图片关联的语音文件流及用于确定视频片段时长的语音长度,方便快捷,并且准确可靠。
进一步的,所述步骤s2还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则对其设置预设时长;
所述步骤s3还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则其对应的视频片段的时长为所述预设时长。
由上述描述可知,对于没有备注信息的幻灯片,则设置一预设时长,在进行视频合成时,对于没有备注信息的幻灯片,根据所述预设时长设置所述幻灯片对应的视频片段的时长,提高了视频生成的灵活性,可以兼容没有备注信息的pptx文档对应的视频文件的生成,通用性强。
请参照图2,一种视频化演示pptx文档的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
s1、接收pptx文档转化成视频文件进行演示的请求;
s2、根据所述请求获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息,并将每一页幻灯片对应的备注信息转化为语音文件流;
s3、获取所述待演示的pptx文档的每一页幻灯片的图片,对每一页幻灯片的图片与其对应的语音文件流合成对应的视频片段,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;
s4、将所述待演示的pptx文档的每一页幻灯片对应的视频片段依次合并形成所述待演示的pptx文档对应的视频文件。
由上述描述可知,本发明的有益效果在于:获取待演示的pptx文档中每一页幻灯片对应的备注信息,将其转换为语音文件流,并将与每一页幻灯片对应的图片合成对应的视频片段,最后按照幻灯片的播放顺序将每一个幻灯片对应的视频片段合并成视频文件,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;能够根据每一页幻灯片对应的语音文件流的语音长度自动确定每一页幻灯片的视频播放时长,并将每一页幻灯片对应的视频片段自动合并形成与待视频化演示的pptx文档对应的视频文件,相较于现有的通过录制的方式来生成视频化演示pptx文档需要的视频文件,能够更加方便灵活的生成pptx视频文件,实现视频化演示pptx文档。
进一步的,所述根据所述请求获取待演示的pptx文档中每一页幻灯片对应的备注信息包括:
利用zlib读取pptx压缩格式文件中的内容,并利用repidxml读取所述读取的pptx压缩格式文件中的xml节点;
遍历所述xml节点中的所有页码节点以获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息。
由上述描述可知,借助zlib和repidxml能够准确快速地获取pptx文档中每一幻灯片对应的备注信息。
进一步的,所述步骤s2还包括:
确定每一页幻灯片对应的语音文件流的语音长度,将每一页幻灯片对应的语音文件流、语音文件流对应的语音长度与每一页幻灯片对应的页码进行关联并存储。
由上述描述可知,将每一页幻灯片对应的语音文件流、语音文件流对应的语音长度与每一页幻灯片对应的页面进行关联并存储,能够方便后续生成视频文件时快速准确的进行合成。
进一步的,所述步骤s3包括:
获取待视频演示的pptx文档的每一页幻灯片对应的图片;
根据所述图片所在的幻灯片对应的页码确定与其关联的语音文件流及所述语音文件流对应的语音长度;
将所述图片与所述语音文件流合并成对应的视频片段,并根据所述语音长度确定所述视频片段的时间长度。
由上述描述可知,根据pptx幻灯片对应的页码确定与该也幻灯片的图片关联的语音文件流及用于确定视频片段时长的语音长度,方便快捷,并且准确可靠。
进一步的,所述步骤s2还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则对其设置预设时长;
所述步骤s3还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则其对应的视频片段的时长为所述预设时长。
由上述描述可知,对于没有备注信息的幻灯片,则设置一预设时长,在进行视频合成时,对于没有备注信息的幻灯片,根据所述预设时长设置所述幻灯片对应的视频片段的时长,提高了视频生成的灵活性,可以兼容没有备注信息的pptx文档对应的视频文件的生成,通用性强。
实施例一
请参照图1,一种视频化演示pptx文档的方法,包括步骤:
s1、接收pptx文档转化成视频文件进行演示的请求;
s2、根据所述请求获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息,并将每一页幻灯片对应的备注信息转化为语音文件流;
其中,如图3所示,所述根据所述请求获取待演示的pptx文档中每一页幻灯片对应的备注信息包括:
利用zlib读取pptx压缩格式文件中的内容,并利用repidxml读取所述读取的pptx压缩格式文件中的xml节点;
遍历所述xml节点中的所有页码节点以获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息;
具体的,遍历在解压目录中ppt目录下notesslides目录中的所有的页码#(假设为7),其中notesslide#.xml(notesslide7.xml)和_rels目录下notesslide#.xml.rels(notesslide7.xml.rels)代表第#页(第7页)中的内容及其关联内容;
在某一页pptx幻灯片如果存在备注信息时,则p:sp节点中会存在p:txbody节点,查找其子节点a:p中存在的所有a:r节点,a:r节点下的a:t的内容即为备注的内容,将所有a:r节点的内容按节点顺序排序即为备注的全部内容;
若待视频化演示的pptx文档的幻灯片无备注信息,则对其设置预设时长;
所述步骤s2还包括:
确定每一页幻灯片对应的语音文件流的语音长度,将每一页幻灯片对应的语音文件流、语音文件流对应的语音长度与每一页幻灯片对应的页码进行关联并存储;
可选的,将备注信息与幻灯片的页数数进行绑定成为唯一标识,以json的数组的形式传递作为进行文本转换为语音的数据;
对于json数组形式的数据,将每一个幻灯片对应的备注信息文本通过peechsynthesizer库setoutputtowavefile进行转换成语音文件流;
对于没有备注信息的幻灯片,则将其对应的预设时长与其页码进行关联并存储;
s3、获取所述待演示的pptx文档的每一页幻灯片的图片,对每一页幻灯片的图片与其对应的语音文件流合成对应的视频片段,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;
所述步骤s3包括:
获取待视频演示的pptx文档的每一页幻灯片对应的图片;
根据所述图片所在的幻灯片对应的页码确定与其关联的语音文件流及所述语音文件流对应的语音长度;
将所述图片与所述语音文件流合并成对应的视频片段,并根据所述语音长度确定所述视频片段的时间长度;
具体的,利用java的poi库对每一页幻灯片的图片进行输出,利用ffmpeg库对每一页的图片与每一页对应的语音文件流进行合成视频;
其中,若待视频化演示的pptx文档的幻灯片无备注信息,则其对应的视频片段的时长为所述预设时长;
s4、将所述待演示的pptx文档的每一页幻灯片对应的视频片段依次合并形成所述待演示的pptx文档对应的视频文件。
实施例二
请参照图2,一种视频化演示pptx文档的终端1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一种的各个步骤。
综上所述,本发明提供的一种视频化演示pptx文档的方法及终端,获取待演示的pptx文档中每一页幻灯片对应的备注信息,将其转换为语音文件流,并将与每一页幻灯片对应的图片合成对应的视频片段,最后按照幻灯片的播放顺序将每一个幻灯片对应的视频片段合并成视频文件,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;借助zlib和repidxml能够快速准确地获取每一页幻灯片对应的备注信息;能够根据每一页幻灯片对应的语音文件流的语音长度自动确定每一页幻灯片的视频播放时长,并将每一页幻灯片对应的视频片段自动合并形成与待视频化演示的pptx文档对应的视频文件,相较于现有的通过录制的方式来生成视频化演示pptx文档需要的视频文件,能够更加方便灵活的生成pptx视频文件,实现视频化演示pptx文档;同时如果幻灯片没有备注信息,则设置预设时长;根据所述预设时长确定所述幻灯片对应的视频片段的时长,无论是否有备注信息,均能够自动生成对应的视频文件,灵活度高,适应性强。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
1.一种视频化演示pptx文档的方法,其特征在于,包括步骤:
s1、接收pptx文档转化成视频文件进行演示的请求;
s2、根据所述请求获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息,并将每一页幻灯片对应的备注信息转化为语音文件流;
s3、获取所述待演示的pptx文档的每一页幻灯片的图片,对每一页幻灯片的图片与其对应的语音文件流合成对应的视频片段,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;
s4、将所述待演示的pptx文档的每一页幻灯片对应的视频片段依次合并形成所述待演示的pptx文档对应的视频文件。
2.根据权利要求1所述的一种视频化演示pptx文档的方法,其特征在于,所述根据所述请求获取待演示的pptx文档中每一页幻灯片对应的备注信息包括:
利用zlib读取pptx压缩格式文件中的内容,并利用repidxml读取所述读取的pptx压缩格式文件中的xml节点;
遍历所述xml节点中的所有页码节点以获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息。
3.根据权利要求1所述的一种视频化演示pptx文档的方法,其特征在于,所述步骤s2还包括:
确定每一页幻灯片对应的语音文件流的语音长度,将每一页幻灯片对应的语音文件流、语音文件流对应的语音长度与每一页幻灯片对应的页码进行关联并存储。
4.根据权利要求3所述的一种视频化演示pptx文档的方法,其特征在于,所述步骤s3包括:
获取待视频演示的pptx文档的每一页幻灯片对应的图片;
根据所述图片所在的幻灯片对应的页码确定与其关联的语音文件流及所述语音文件流对应的语音长度;
将所述图片与所述语音文件流合并成对应的视频片段,并根据所述语音长度确定所述视频片段的时间长度。
5.根据权利要求1所述的一种视频化演示pptx文档的方法,其特征在于,所述步骤s2还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则对其设置预设时长;
所述步骤s3还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则其对应的视频片段的时长为所述预设时长。
6.一种视频化演示pptx文档的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
s1、接收pptx文档转化成视频文件进行演示的请求;
s2、根据所述请求获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息,并将每一页幻灯片对应的备注信息转化为语音文件流;
s3、获取所述待演示的pptx文档的每一页幻灯片的图片,对每一页幻灯片的图片与其对应的语音文件流合成对应的视频片段,每一页幻灯片对应的视频片段的时长根据其对应的语音文件流的语音长度确定;
s4、将所述待演示的pptx文档的每一页幻灯片对应的视频片段依次合并形成所述待演示的pptx文档对应的视频文件。
7.根据权利要求6所述的一种视频化演示pptx文档的终端,其特征在于,所述根据所述请求获取待演示的pptx文档中每一页幻灯片对应的备注信息包括:
利用zlib读取pptx压缩格式文件中的内容,并利用repidxml读取所述读取的pptx压缩格式文件中的xml节点;
遍历所述xml节点中的所有页码节点以获取待视频化演示的pptx文档中每一页幻灯片对应的备注信息。
8.根据权利要求6所述的一种视频化演示pptx文档的终端,其特征在于,所述步骤s2还包括:
确定每一页幻灯片对应的语音文件流的语音长度,将每一页幻灯片对应的语音文件流、语音文件流对应的语音长度与每一页幻灯片对应的页码进行关联并存储。
9.根据权利要求8所述的一种视频化演示pptx文档的终端,其特征在于,所述步骤s3包括:
获取待视频演示的pptx文档的每一页幻灯片对应的图片;
根据所述图片所在的幻灯片对应的页码确定与其关联的语音文件流及所述语音文件流对应的语音长度;
将所述图片与所述语音文件流合并成对应的视频片段,并根据所述语音长度确定所述视频片段的时间长度。
10.根据权利要求6所述的一种视频化演示pptx文档的终端,其特征在于,所述步骤s2还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则对其设置预设时长;
所述步骤s3还包括:
若待视频化演示的pptx文档的幻灯片无备注信息,则其对应的视频片段的时长为所述预设时长。
技术总结