CN111241041B - 一种pptx文件中视频资源保存方法及*** - Google Patents
一种pptx文件中视频资源保存方法及*** Download PDFInfo
- Publication number
- CN111241041B CN111241041B CN202010074827.2A CN202010074827A CN111241041B CN 111241041 B CN111241041 B CN 111241041B CN 202010074827 A CN202010074827 A CN 202010074827A CN 111241041 B CN111241041 B CN 111241041B
- Authority
- CN
- China
- Prior art keywords
- file
- video
- path
- thumbnail
- original
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
本发明公开了一种PPTX文件中视频资源保存方法及***,第一终端将原始视频路径下的视频资源压缩成已压缩视频文件,将已压缩视频文件写入对应的缩略图路径下的缩略图资源中,将原始视频路径修改为终端设备的统一缓存路径,之后重新压缩原始PPTX文件,以得到最终PPTX文件;第二终端读取最终PPTX文件的最终文件内容,获取每一个ocx控件的缩略图资源中的已压缩视频文件,将已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开最终PPTX文件时能通过统一缓存路径进行视频播放。本发明实现了在其他电脑上也能正常播放通过Windows Media Player的ocx控件***的视频,避免出现ocx控件丢失视频的现象。
Description
技术领域
本发明涉及技术领域,特别涉及一种PPTX文件中视频资源保存方法及***。
背景技术
PPTX是office PowerPoint保存文件的一种压缩格式,对于PPTX格式的文件,其解压之后是一个具有文档结构的文件夹,其包含了构成PPTX文件的所有文件。在PPTX文件***Windows Media Player的ocx控件的视频播放器以及设置播放原始视频路径之后进行保存,得到包括使用ocx控件的PPTX文件,该PPTX文件只能在当前电脑进行演示并播放视频资源,若将此PPTX文件放置在其他电脑演示,则会由于其他电脑上无设置路径中的视频资源而无法进行播放。
发明内容
本发明所要解决的技术问题是:提供一种PPTX文件中视频资源保存方法及***,可以在其他电脑上也能正常播放通过Windows Media Player的ocx控件***的视频。
为了解决上述技术问题,本发明采用的技术方案为:
一种PPTX文件中视频资源保存方法,包括步骤:
S1:第一终端读取原始PPTX文件的原始文件内容,得到每一个ocx控件的原始视频路径和缩略图路径,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源,所述ocx控件为Windows Media Player控件;
S2、第一终端将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,将所述原始视频路径修改为终端设备的统一缓存路径,之后重新压缩所述原始PPTX文件,以得到最终PPTX文件;
S3、第二终端读取所述最终PPTX文件的最终文件内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种PPTX文件中视频资源保存***,包括第一终端以及第二终端,所述第一终端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述第二终端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1:读取原始PPTX文件的原始文件内容,得到每一个ocx控件的原始视频路径和缩略图路径,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源,所述ocx控件为Windows Media Player控件;
S2、将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,将所述原始视频路径修改为终端设备的统一缓存路径,之后重新压缩所述原始PPTX文件,以得到最终PPTX文件;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S3、读取所述最终PPTX文件的最终文件内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
本发明的有益效果在于:一种PPTX文件中视频资源保存方法及***,通过解析由Windows Media Player的ocx控件***的视频资源的路径信息,在保存PPTX文件时,将视频资源隐藏在缩略图资源中,并修改为终端设备的统一缓存路径,在其他终端上打开该PPTX文件时,从对应ocx控件的缩略图资源中获取到对应ocx控件的视频资源,解压到终端设备的统一缓存路径,之后便可以正常播放视频,从而实现了在其他电脑上也能正常播放通过Windows Media Player的ocx控件***的视频;同时,将视频资源隐藏在缩略图资源中,在对PPTX文件做修改或者另存为等操作时,即使不删除对应的ocx控件也可以将对应的视频资源一并保存的效果,实现了视频资源和ocx控件的相互绑定,达到了删除时一同删除,保存时一同保存的效果,避免出现ocx控件丢失视频的现象。
附图说明
图1为本发明实施例的一种PPTX文件中视频资源保存方法的流程示意图;
图2为本发明实施例的一种PPTX文件中视频资源保存***的结构示意图。
标号说明:
1、一种PPTX文件中视频资源保存***;2、第一终端;3、第一处理器;4、第一存储器;5、第二终端;6、第二处理器;7、第二存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种PPTX文件中视频资源保存方法,包括步骤:
S1:第一终端读取原始PPTX文件的原始文件内容,得到每一个ocx控件的原始视频路径和缩略图路径,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源,所述ocx控件为Windows Media Player控件;
S2、第一终端将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,将所述原始视频路径修改为终端设备的统一缓存路径,之后重新压缩所述原始PPTX文件,以得到最终PPTX文件;
S3、第二终端读取所述最终PPTX文件的最终文件内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
从上述描述可知,本发明的有益效果在于:通过解析由Windows Media Player的ocx控件***的视频资源的路径信息,在保存PPTX文件时,将视频资源隐藏在缩略图资源中,并修改为终端设备的统一缓存路径,在其他终端上打开该PPTX文件时,从对应ocx控件的缩略图资源中获取到对应ocx控件的视频资源,解压到终端设备的统一缓存路径,之后便可以正常播放视频,从而实现了在其他电脑上也能正常播放通过Windows Media Player的ocx控件***的视频;同时,将视频资源隐藏在缩略图资源中,在对PPTX文件做修改或者另存为等操作时,即使不删除对应的ocx控件也可以将对应的视频资源一并保存的效果,实现了视频资源和ocx控件的相互绑定,达到了删除时一同删除,保存时一同保存的效果,避免出现ocx控件丢失视频的现象。
进一步地,所述步骤S1具体为:
第一终端通过zlib读取原始PPTX文件的原始文件内容,通过repidxml读取所述原始文件内容中为xml文件的原始节点内容,遍历所述原始文件内容和原始节点内容,得到并将每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径保存为json数组,所述文件唯一标识所对应的XML文件内存储ocx控件的自身信息,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源;
所述步骤S2具体为:
第一终端通过zlib接收所述json数组并读取原始PPTX文件的原始文件内容,将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,通过repidxml将所述原始视频路径修改为终端设备的统一缓存路径,之后通过zlib重新压缩所述原始PPTX文件,以得到最终PPTX文件;
所述步骤S3具体为:
第二终端通过zlib读取最终PPTX文件的最终文件内容,通过repidxml读取所述最终文件内容中为xml文件的最终节点内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,通过zlib将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
从上述描述可知,通过zlib可以直接以解压的方式打开PPTX文件,以得到PPTX文件的内容,再通过repidxml来读取XML文件且修改XML文件里的内容,从而实现对视频资源的压缩隐藏以及对视频路径的修改。
进一步地,所述步骤S2中“将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中”具体为:
将所述已压缩视频文件以追加的方式写入对应的所述缩略图路径下的缩略图资源的数据流的末尾;
所述步骤S3中“获取每一个ocx控件的所述缩略图资源中的已压缩视频文件”具体为:
获取每一个ocx控件对应的缩略图资源,读取所述缩略图资源的数据流的头部信息以得到缩略图的图片流大小,按照所述图片流大小截取所述缩略图资源的数据流以得到缩略图,则截取之后剩余的数据流即为所述已压缩视频文件。
从上述描述可知,通过写入到缩略图资源的数据流的末尾,在读取时,根据缩略图资源的数据流的头部信息就可以知道原本缩略图的图片流大小,则剩余的部分变为已压缩视频文件,从而快速得到已压缩视频文件。
进一步地,所述步骤S1中“得到每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径”具体为:
判断所述原始文件内容下的slide#.xml文件中是否存在p:controls节点,若是,获取mc:AlternateContent节点下的mc:Choice节点下的所述p:controls节点下的name属性值,以得到ocx控件的控件名称,获取所述p:controls节点下的r:id属性值,以得到ocx控件的文件唯一标识,所述#为幻灯片页码;
在所述原始文件内容下的slide#.xml.rels文件中,通过Relationship节点的Target属性找到与所述r:id属性值对应的activeX#文件;
在所述activeX#文件中的ax:ocxPr节点下找到ax:name属性值为URL的视频节点,获取所述视频节点上的ax:value属性值,以得到ocx控件的原始视频路径;
获取与所述mc:Choice节点为同级的mc:Fallback节点的子节点p:control的子节点p:pic的子节点p:blipFill的子节点a:blip的r:embed属性值,以得到ocx控件的缩略图路径。
从上述描述可知,通过每一个控件在PPTX文件中的节点关系和节点的属性值,从而依次得到每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径,以便于后续的资源隐藏和路径修改。
进一步地,所述终端设备的统一缓存路径为电脑的temp路径。
从上述描述可知,电脑的temp路径均为一致,因此在某一电脑上设置的ocx控件的视频读取路径与解压到不同电脑下的视频资源的缓存路径能保持一致,以在不同的电脑上对ocx控件***的视频进行正常播放。
请参照图2,一种PPTX文件中视频资源保存***,包括第一终端以及第二终端,所述第一终端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述第二终端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1:读取原始PPTX文件的原始文件内容,得到每一个ocx控件的原始视频路径和缩略图路径,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源,所述ocx控件为Windows Media Player控件;
S2、将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,将所述原始视频路径修改为终端设备的统一缓存路径,之后重新压缩所述原始PPTX文件,以得到最终PPTX文件;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S3、读取所述最终PPTX文件的最终文件内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
从上述描述可知,本发明的有益效果在于:通过解析由Windows Media Player的ocx控件***的视频资源的路径信息,在保存PPTX文件时,将视频资源隐藏在缩略图资源中,并修改为终端设备的统一缓存路径,在其他终端上打开该PPTX文件时,从对应ocx控件的缩略图资源中获取到对应ocx控件的视频资源,解压到终端设备的统一缓存路径,之后便可以正常播放视频,从而实现了在其他电脑上也能正常播放通过Windows Media Player的ocx控件***的视频;同时,将视频资源隐藏在缩略图资源中,在对PPTX文件做修改或者另存为等操作时,即使不删除对应的ocx控件也可以将对应的视频资源一并保存的效果,实现了视频资源和ocx控件的相互绑定,达到了删除时一同删除,保存时一同保存的效果,避免出现ocx控件丢失视频的现象。
进一步地,所述第一处理器执行所述第一计算机程序的所述步骤S1时具体实现以下步骤:
通过zlib读取原始PPTX文件的原始文件内容,通过repidxml读取所述原始文件内容中为xml文件的原始节点内容,遍历所述原始文件内容和原始节点内容,得到并将每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径保存为json数组,所述文件唯一标识所对应的XML文件内存储ocx控件的自身信息,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源;
所述第一处理器执行所述第一计算机程序的所述步骤S2时具体实现以下步骤:
通过zlib接收所述json数组并读取原始PPTX文件的原始文件内容,将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,通过repidxml将所述原始视频路径修改为终端设备的统一缓存路径,之后通过zlib重新压缩所述原始PPTX文件,以得到最终PPTX文件;
所述第二处理器执行所述第二计算机程序的所述步骤S3时具体实现以下步骤:
通过zlib读取最终PPTX文件的最终文件内容,通过repidxml读取所述最终文件内容中为xml文件的最终节点内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,通过zlib将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
从上述描述可知,通过zlib可以直接以解压的方式打开PPTX文件,以得到PPTX文件的内容,再通过repidxml来读取XML文件且修改XML文件里的内容,从而实现对视频资源的压缩隐藏以及对视频路径的修改。
进一步地,所述第一处理器执行所述第一计算机程序的所述步骤S2中“将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中”时具体实现以下步骤:
将所述已压缩视频文件以追加的方式写入对应的所述缩略图路径下的缩略图资源的数据流的末尾;
所述第二处理器执行所述第二计算机程序的所述步骤S3中“获取每一个ocx控件的所述缩略图资源中的已压缩视频文件”时具体实现以下步骤:
获取每一个ocx控件对应的缩略图资源,读取所述缩略图资源的数据流的头部信息以得到缩略图的图片流大小,按照所述图片流大小截取所述缩略图资源的数据流以得到缩略图,则截取之后剩余的数据流即为所述已压缩视频文件。
从上述描述可知,通过写入到缩略图资源的数据流的末尾,在读取时,根据缩略图资源的数据流的头部信息就可以知道原本缩略图的图片流大小,则剩余的部分变为已压缩视频文件,从而快速得到已压缩视频文件。
进一步地,所述第一处理器执行所述第一计算机程序的所述步骤S1中“得到每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径”时具体实现以下步骤:
判断所述原始文件内容下的slide#.xml文件中是否存在p:controls节点,若是,获取mc:AlternateContent节点下的mc:Choice节点下的所述p:controls节点下的name属性值,以得到ocx控件的控件名称,获取所述p:controls节点下的r:id属性值,以得到ocx控件的文件唯一标识,所述#为幻灯片页码;
在所述原始文件内容下的slide#.xml.rels文件中,通过Relationship节点的Target属性找到与所述r:id属性值对应的activeX#文件;
在所述activeX#文件中的ax:ocxPr节点下找到ax:name属性值为URL的视频节点,获取所述视频节点上的ax:value属性值,以得到ocx控件的原始视频路径;
获取与所述mc:Choice节点为同级的mc:Fallback节点的子节点p:control的子节点p:pic的子节点p:blipFill的子节点a:blip的r:embed属性值,以得到ocx控件的缩略图路径。
从上述描述可知,通过每一个控件在PPTX文件中的节点关系和节点的属性值,从而依次得到每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径,以便于后续的资源隐藏和路径修改。
进一步地,所述终端设备的统一缓存路径为电脑的temp路径。
从上述描述可知,电脑的temp路径均为一致,因此在某一电脑上设置的ocx控件的视频读取路径与解压到不同电脑下的视频资源的缓存路径能保持一致,以在不同的电脑上对ocx控件***的视频进行正常播放。
请参照图1,本发明的实施例一为:
一种PPTX文件中视频资源保存方法,包括步骤:
S1:第一终端读取原始PPTX文件的原始文件内容,得到每一个ocx控件的原始视频路径和缩略图路径,原始视频路径存储通过ocx控件所***的视频资源,缩略图路径存储ocx控件的缩略图资源,ocx控件为Windows Media Player控件;
在本实施例中,步骤S1具体为:
第一终端通过zlib读取原始PPTX文件的原始文件内容,通过repidxml读取原始文件内容中为xml文件的原始节点内容,遍历原始文件内容和原始节点内容,得到并将每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径保存为json数组,文件唯一标识所对应的XML文件内存储ocx控件的自身信息,原始视频路径存储通过ocx控件所***的视频资源,缩略图路径存储ocx控件的缩略图资源;
在本实施例中,得到每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径具体为:
判断原始文件内容下的slide#.xml文件中是否存在p:controls节点,若是,获取mc:AlternateContent节点下的mc:Choice节点下的p:controls节点下的name属性值,以得到ocx控件的控件名称,获取p:controls节点下的r:id属性值,以得到ocx控件的文件唯一标识,#为幻灯片页码,其中,name属性值为Windows Media Player#,则表示第#个WindowsMedia Player控件,比如slide#.xml中的#为7,则slide#.xml为第7页中的内容,MediaPlayer#的#为2,则表示第2个Windows Media Player控件;
在原始文件内容下的slide#.xml.rels文件中,通过Relationship节点的Target属性找到与r:id属性值对应的activeX#文件;
在activeX#文件中的ax:ocxPr节点下找到ax:name属性值为URL的视频节点,获取视频节点上的ax:value属性值,以得到ocx控件的原始视频路径;
获取与mc:Choice节点为同级的mc:Fallback节点的子节点p:control的子节点p:pic的子节点p:blipFill的子节点a:blip的r:embed属性值,以得到ocx控件的缩略图路径。
S2、第一终端将原始视频路径下的视频资源压缩成已压缩视频文件,将已压缩视频文件写入对应的缩略图路径下的缩略图资源中,将原始视频路径修改为终端设备的统一缓存路径,之后重新压缩原始PPTX文件,以得到最终PPTX文件,其中,终端设备的统一缓存路径为电脑的temp路径;
在本实施例中,步骤S2具体为:
第一终端通过zlib接收json数组并读取原始PPTX文件的原始文件内容,将原始视频路径下的视频资源压缩成已压缩视频文件,将已压缩视频文件以追加的方式写入对应的缩略图路径下的缩略图资源的数据流的末尾,通过repidxml将原始视频路径修改为终端设备的统一缓存路径,之后通过zlib重新压缩原始PPTX文件,以得到最终PPTX文件;
S3、第二终端读取最终PPTX文件的最终文件内容,获取每一个ocx控件的缩略图资源中的已压缩视频文件,将已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开最终PPTX文件时能通过统一缓存路径进行视频播放。
在本实施例中,步骤S3具体为:
第二终端通过zlib读取最终PPTX文件的最终文件内容,通过repidxml读取最终文件内容中为xml文件的最终节点内容,获取每一个ocx控件对应的缩略图资源,读取缩略图资源的数据流的头部信息以得到缩略图的图片流大小,按照图片流大小截取缩略图资源的数据流以得到缩略图,则截取之后剩余的数据流即为已压缩视频文件,通过zlib将已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开最终PPTX文件时能通过统一缓存路径进行视频播放。
其中,zlib是一种提供数据解压缩用的函式库,repidxml是一种XML DOM解析工具包。
请参照图2,本发明的实施例二为:
一种PPTX文件中视频资源保存***1,包括第一终端2以及第二终端5,第一终端2包括第一存储器4、第一处理器3及存储在第一存储器4上并可在第一处理器3上运行的第一计算机程序,第二终端5包括第二存储器7、第二处理器6及存储在第二存储器7上并可在第二处理器6上运行的第二计算机程序,第一处理器3执行第一计算机程序时实现以下步骤,第二处理器6执行第二计算机程序时实现以下步骤。
综上所述,本发明提供的一种PPTX文件中视频资源保存方法及***,通过zlib可以直接以解压的方式打开PPTX文件,以得到PPTX文件的内容,再通过repidxml来读取XML文件且修改XML文件里的内容,通过每一个控件在PPTX文件中的节点关系和节点的属性值以获取视频路径和缩略图路径,在保存PPTX文件时,将视频资源隐藏在缩略图资源中,并修改为电脑的temp路径,在其他终端上打开该PPTX文件时,从对应ocx控件的缩略图资源中获取到对应ocx控件的视频资源,解压到电脑的temp路径,之后便可以正常播放视频,从而实现了在其他电脑上也能正常播放通过Windows Media Player的ocx控件***的视频;同时,将视频资源隐藏在缩略图资源中,在对PPTX文件做修改或者另存为等操作时,即使不删除对应的ocx控件也可以将对应的视频资源一并保存的效果,实现了视频资源和ocx控件的相互绑定,达到了删除时一同删除,保存时一同保存的效果,避免出现ocx控件丢失视频的现象。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种PPTX文件中视频资源保存方法,其特征在于,包括步骤:
S1:第一终端读取原始PPTX文件的原始文件内容,得到每一个ocx控件的原始视频路径和缩略图路径,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源,所述ocx控件为Windows Media Player控件;
S2、第一终端将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,将所述原始视频路径修改为终端设备的统一缓存路径,之后重新压缩所述原始PPTX文件,以得到最终PPTX文件;
S3、第二终端读取所述最终PPTX文件的最终文件内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放;
所述步骤S1具体为:
第一终端通过zlib读取原始PPTX文件的原始文件内容,通过repidxml读取所述原始文件内容中为xml文件的原始节点内容,遍历所述原始文件内容和原始节点内容,得到并将每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径保存为json数组,所述文件唯一标识所对应的XML文件内存储ocx控件的自身信息,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源;
所述步骤S2具体为:
第一终端通过zlib接收所述json数组并读取原始PPTX文件的原始文件内容,将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,通过repidxml将所述原始视频路径修改为终端设备的统一缓存路径,之后通过zlib重新压缩所述原始PPTX文件,以得到最终PPTX文件;
所述步骤S3具体为:
第二终端通过zlib读取最终PPTX文件的最终文件内容,通过repidxml读取所述最终文件内容中为xml文件的最终节点内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,通过zlib将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
2.根据权利要求1所述的一种PPTX文件中视频资源保存方法,其特征在于,所述步骤S2中“将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中”具体为:
将所述已压缩视频文件以追加的方式写入对应的所述缩略图路径下的缩略图资源的数据流的末尾;
所述步骤S3中“获取每一个ocx控件的所述缩略图资源中的已压缩视频文件” 具体为:
获取每一个ocx控件对应的缩略图资源,读取所述缩略图资源的数据流的头部信息以得到缩略图的图片流大小,按照所述图片流大小截取所述缩略图资源的数据流以得到缩略图,则截取之后剩余的数据流即为所述已压缩视频文件。
3.根据权利要求1所述的一种PPTX文件中视频资源保存方法,其特征在于,所述步骤S1中“得到每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径”具体为:
判断所述原始文件内容下的slide#.xml文件中是否存在p:controls节点,若是,获取mc:AlternateContent节点下的mc:Choice节点下的所述p:controls节点下的name属性值,以得到ocx控件的控件名称,获取所述p:controls节点下的r:id属性值,以得到ocx控件的文件唯一标识,所述#为幻灯片页码;
在所述原始文件内容下的slide#.xml.rels文件中,通过Relationship节点的Target属性找到与所述r:id属性值对应的activeX#文件;
在所述activeX#文件中的ax:ocxPr节点下找到ax:name属性值为URL的视频节点,获取所述视频节点上的ax:value属性值,以得到ocx控件的原始视频路径;
获取与所述mc:Choice节点为同级的mc:Fallback节点的子节点p:control的子节点p:pic的子节点p:blipFill的子节点a:blip的r:embed属性值,以得到ocx控件的缩略图路径。
4.根据权利要求1至3任一所述的一种PPTX文件中视频资源保存方法,其特征在于:所述终端设备的统一缓存路径为电脑的temp路径。
5.一种PPTX文件中视频资源保存***,包括第一终端以及第二终端,所述第一终端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述第二终端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1:读取原始PPTX文件的原始文件内容,得到每一个ocx控件的原始视频路径和缩略图路径,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源,所述ocx控件为Windows Media Player控件;
S2、将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,将所述原始视频路径修改为终端设备的统一缓存路径,之后重新压缩所述原始PPTX文件,以得到最终PPTX文件;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S3、读取所述最终PPTX文件的最终文件内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放;
所述第一处理器执行所述第一计算机程序的所述步骤S1时具体实现以下步骤:
通过zlib读取原始PPTX文件的原始文件内容,通过repidxml读取所述原始文件内容中为xml文件的原始节点内容,遍历所述原始文件内容和原始节点内容,得到并将每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径保存为json数组,所述文件唯一标识所对应的XML文件内存储ocx控件的自身信息,所述原始视频路径存储通过ocx控件所***的视频资源,所述缩略图路径存储ocx控件的缩略图资源;
所述第一处理器执行所述第一计算机程序的所述步骤S2时具体实现以下步骤:
通过zlib接收所述json数组并读取原始PPTX文件的原始文件内容,将所述原始视频路径下的视频资源压缩成已压缩视频文件,将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中,通过repidxml将所述原始视频路径修改为终端设备的统一缓存路径,之后通过zlib重新压缩所述原始PPTX文件,以得到最终PPTX文件;
所述第二处理器执行所述第二计算机程序的所述步骤S3时具体实现以下步骤:
通过zlib读取最终PPTX文件的最终文件内容,通过repidxml读取所述最终文件内容中为xml文件的最终节点内容,获取每一个ocx控件的所述缩略图资源中的已压缩视频文件,通过zlib将所述已压缩视频文件解压至终端设备的统一缓存路径,以使得在打开所述最终PPTX文件时能通过所述统一缓存路径进行视频播放。
6.根据权利要求5所述的一种PPTX文件中视频资源保存***,其特征在于,所述第一处理器执行所述第一计算机程序的所述步骤S2中“将所述已压缩视频文件写入对应的所述缩略图路径下的缩略图资源中”时具体实现以下步骤:
将所述已压缩视频文件以追加的方式写入对应的所述缩略图路径下的缩略图资源的数据流的末尾;
所述第二处理器执行所述第二计算机程序的所述步骤S3中“获取每一个ocx控件的所述缩略图资源中的已压缩视频文件”时 具体实现以下步骤:
获取每一个ocx控件对应的缩略图资源,读取所述缩略图资源的数据流的头部信息以得到缩略图的图片流大小,按照所述图片流大小截取所述缩略图资源的数据流以得到缩略图,则截取之后剩余的数据流即为所述已压缩视频文件。
7.根据权利要求5所述的一种PPTX文件中视频资源保存***,其特征在于,所述第一处理器执行所述第一计算机程序的所述步骤S1中“得到每一个ocx控件所对应的幻灯片页码、文件唯一标识、原始视频路径和缩略图路径”时具体实现以下步骤:
判断所述原始文件内容下的slide#.xml文件中是否存在p:controls节点,若是,获取mc:AlternateContent节点下的mc:Choice节点下的所述p:controls节点下的name属性值,以得到ocx控件的控件名称,获取所述p:controls节点下的r:id属性值,以得到ocx控件的文件唯一标识,所述#为幻灯片页码;
在所述原始文件内容下的slide#.xml.rels文件中,通过Relationship节点的Target属性找到与所述r:id属性值对应的activeX#文件;
在所述activeX#文件中的ax:ocxPr节点下找到ax:name属性值为URL的视频节点,获取所述视频节点上的ax:value属性值,以得到ocx控件的原始视频路径;
获取与所述mc:Choice节点为同级的mc:Fallback节点的子节点p:control的子节点p:pic的子节点p:blipFill的子节点a:blip的r:embed属性值,以得到ocx控件的缩略图路径。
8.根据权利要求5至7任一所述的一种PPTX文件中视频资源保存***,其特征在于:所述终端设备的统一缓存路径为电脑的temp路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074827.2A CN111241041B (zh) | 2020-01-22 | 2020-01-22 | 一种pptx文件中视频资源保存方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074827.2A CN111241041B (zh) | 2020-01-22 | 2020-01-22 | 一种pptx文件中视频资源保存方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241041A CN111241041A (zh) | 2020-06-05 |
CN111241041B true CN111241041B (zh) | 2022-07-05 |
Family
ID=70866371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010074827.2A Active CN111241041B (zh) | 2020-01-22 | 2020-01-22 | 一种pptx文件中视频资源保存方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111241041B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127838A (zh) * | 2016-06-23 | 2016-11-16 | 福建天泉教育科技有限公司 | 基于Powerpoint的多媒体资源存储方法及其*** |
CN106959869A (zh) * | 2017-02-16 | 2017-07-18 | 福建天泉教育科技有限公司 | 一种加载ocx控件的方法及*** |
CN107562887A (zh) * | 2017-09-05 | 2018-01-09 | 北京华乐思教育科技有限公司 | 一种用于辅助ppt备课的资源引用***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262044B2 (en) * | 2013-05-15 | 2016-02-16 | Facebook, Inc. | Methods, systems, and user interfaces for prompting social video content interaction |
-
2020
- 2020-01-22 CN CN202010074827.2A patent/CN111241041B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127838A (zh) * | 2016-06-23 | 2016-11-16 | 福建天泉教育科技有限公司 | 基于Powerpoint的多媒体资源存储方法及其*** |
CN106959869A (zh) * | 2017-02-16 | 2017-07-18 | 福建天泉教育科技有限公司 | 一种加载ocx控件的方法及*** |
CN107562887A (zh) * | 2017-09-05 | 2018-01-09 | 北京华乐思教育科技有限公司 | 一种用于辅助ppt备课的资源引用***及方法 |
Non-Patent Citations (1)
Title |
---|
郑荣.一种在PPT中嵌入视频文件的方法.《青海师范大学学报(自然科学版)》.2013,(第01期), * |
Also Published As
Publication number | Publication date |
---|---|
CN111241041A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101278767B1 (ko) | 미디어 전송 통신의 직렬화 | |
KR20040031658A (ko) | 멀티미디어 오브젝트에 대한 시간 기준 | |
CN109840879B (zh) | 图像渲染方法、装置、计算机存储介质及终端 | |
CN110362547B (zh) | 日志文件的编码、解析、存储方法和装置 | |
CN109299352B (zh) | 搜索引擎中网站数据的更新方法、装置和搜索引擎 | |
US20060184576A1 (en) | System and method for extensible metadata architecture for digital images | |
US7603387B2 (en) | Techniques to manage media files | |
US20120063749A1 (en) | Video file creation device and video file creation method | |
CN106959869B (zh) | 一种加载ocx控件的方法及*** | |
CN114924845A (zh) | 适用于边缘ai场景的镜像延迟加载方法及*** | |
CN111241041B (zh) | 一种pptx文件中视频资源保存方法及*** | |
CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
CN102169706B (zh) | Yuv文件的存储、播放方法及其装置 | |
CN108959527B (zh) | 基于Windows文件映射技术读取显示联锁日志的方法 | |
CN112000589A (zh) | 一种数据写入方法、数据读取方法、装置及电子设备 | |
CN108073709B (zh) | 一种数据记录的操作方法、装置、设备和存储介质 | |
US9070403B2 (en) | Processing of scalable compressed video data formats for nonlinear video editing systems | |
CN114390319B (zh) | Mp4文件的读取下载方法、装置、电子设备及存储介质 | |
CN116415032A (zh) | 一种视频文件读取、存储方法及装置 | |
CN113641643A (zh) | 文件写入方法及装置 | |
CN113505153A (zh) | 一种基于iOS***的备忘录备份方法和相关设备 | |
CN112866409B (zh) | 基于对象存储分片上传的对象传送及收集方法、终端设备 | |
US20120089611A1 (en) | Method of updating an inverted index, and a server implementing the method | |
CN1364249A (zh) | 呈现一个场景的装置和方法 | |
CN112131193B (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 |