CN110248116B - 图片处理方法、装置、计算机设备及存储介质 - Google Patents
图片处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110248116B CN110248116B CN201910495571.XA CN201910495571A CN110248116B CN 110248116 B CN110248116 B CN 110248116B CN 201910495571 A CN201910495571 A CN 201910495571A CN 110248116 B CN110248116 B CN 110248116B
- Authority
- CN
- China
- Prior art keywords
- file
- picture
- video
- live
- video data
- 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
- 238000003672 processing method Methods 0.000 title abstract description 23
- 230000003068 static effect Effects 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 25
- 238000013500 data storage Methods 0.000 claims description 68
- 230000000007 visual effect Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 15
- 238000000926 separation method Methods 0.000 claims description 12
- 230000001174 ascending effect Effects 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000003786 synthesis reaction Methods 0.000 claims description 2
- 230000002829 reductive effect Effects 0.000 abstract description 9
- 230000000875 corresponding effect Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 34
- 102100039334 HAUS augmin-like complex subunit 1 Human genes 0.000 description 15
- 101100177185 Homo sapiens HAUS1 gene Proteins 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种图片处理方法、装置、计算机设备及存储介质,该方法包括:获取实况图片的信息;所述信息包括原始视频文件和静态图片文件;将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件;发送合成的所述图片文件;其中,在展示所述图片文件时,播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符。本申请的方案,能够降低传输实况图片的成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种图片处理方法、装置、计算机设备及存储介质。
背景技术
随着科学技术的飞速发展,大量先进技术不断涌现,给人们的生活和工作也带了非常重要的影响。实况图片,作为一个新的展现形式,出现在大众的视野中。实况图片(LivePhoto),是在拍摄普通照片的基础上,保留拍摄前后段时间内的视频后得到的文件。因此,实况图片一般包括视频文件和图片文件。
传统方法在发送实况图片时,需要将实况图片的视频文件和图片文件分别发送,然后,接收方需要根据接收的视频文件和图片文件,以实况图片的形式进行展示。这样一来,发送方和接收方就必须既具备视频文件传输能力又具备图片文件传输能力,从而对设备的要求比较高,导致成本比较高。
发明内容
基于此,有必要针对传统方法存在的成本比较高的问题,提供一种图片处理方法、装置、计算机设备及存储介质。
一种图片处理方法,所述方法包括:
获取实况图片的信息;所述信息包括原始视频文件和静态图片文件;
将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件;
发送合成的所述图片文件;
其中,在展示所述图片文件时,播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符。
在其中一个实施例中,所述发送合成的所述图片文件包括:
上传合成的所述图片文件;
其中,所述图片文件,用于被实况展示端下载后,指示所述实况展示端从所述图片文件中读取视频数据,根据读取的视频数据生成视频文件,并在展示所述图片文件时播放生成的所述视频文件。
在其中一个实施例中,所述方法还包括:
将已上传的所述图片文件的可视化标识,展示于已上传文件集合中;所述已上传文件集合,是已上传的文件的可视化标识的集合;
对应于所述图片文件的可视化标识,展示实况图片标记。
在其中一个实施例中,所述方法还包括:
当接收针对上传的图片文件的查看指令时,下载合成的所述图片文件;
从所述图片文件中读取视频数据,并根据所述视频数据生成视频文件;
在展示所述图片文件时播放生成的所述视频文件。
在其中一个实施例中,所述根据所述视频数据生成视频文件包括:
确定读取的各视频数据在所述原始视频文件中所对应的位置;
按照各视频数据所对应的位置由前到后的顺序,对各视频数据进行排序;
按照排序的升序,依次将各视频数据进行拼接,得到视频文件。
在其中一个实施例中,所述在展示所述图片文件时播放生成的所述视频文件包括:
通过集成的实况图片的展示库中的图像解码器,对所述图片文件进行解码;
通过所述展示库中的视频解码器,对生成的所述视频文件进行解码;
从所述展示库中提供的视图组件中,筛选与本地操作***适配的视图组件;
在通过筛选的视图组件展示所述图片文件时,播放生成的所述视频文件。
在其中一个实施例中,所述从所述图片文件中读取视频数据,并根据所述视频数据生成视频文件包括:
通过所述展示库中的分离工具,从下载的所述图片文件中分离出视频数据;
根据分离出的所述视频数据生成视频文件;
所述在通过筛选的视图组件展示所述图片文件时,播放生成的所述视频文件包括:
在通过筛选的视图组件展示分离出视频数据后的图片文件时,播放生成的所述视频文件。
在其中一个实施例中,上传后的图片文件,还用于被非实况展示端下载后,指示所述非实况展示端读取所述图片文件中包括的图片数据,并展示与所述图片数据对应的静态图片。
在其中一个实施例中,所述将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件包括:
确定所述静态图片文件中的自定义数据存储区;
在所述自定义数据存储区的视频存储对象中,存储所述原始视频文件的视频数据,得到包括视频数据的图片文件;
其中,视频存储对象中包括实况图片标识符;所述实况图片标识符,用于表示所述视频存储对象所存储的视频数据属于实况图片中包括的视频数据。
在其中一个实施例中,所述视频存储对象包括视频标记段;所述在所述自定义数据存储区的视频存储对象中,存储所述原始视频文件的视频数据包括:
当所述原始视频文件的大小超过单个视频标记段的数据存储容量时,则
按照所述数据存储容量,切分所述原始视频文件;切分得到的每份视频数据的大小小于或等于所述数据存储容量;
在各视频标记段的数据存储区中,添加所切分得到的所述视频数据。
在其中一个实施例中,所述视频存储对象包括数据块;所述在所述自定义数据存储区的视频存储对象中,存储所述原始视频文件的视频数据包括:
在所述自定义数据存储区中创建视频存储数据块;
在创建的所述数据块的数据存储区中,存储所述原始视频文件的视频数据。
一种图片处理装置,所述装置包括:
获取模块,用于获取实况图片的信息;所述信息包括原始视频文件和静态图片文件;
合成模块,用于将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件;
发送模块,用于发送合成的所述图片文件;其中,在展示所述图片文件时,播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取实况图片的信息;所述信息包括原始视频文件和静态图片文件;
将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件;
发送合成的所述图片文件;
其中,在展示所述图片文件时,播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取实况图片的信息;所述信息包括原始视频文件和静态图片文件;
将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件;
发送合成的所述图片文件;
其中,在展示所述图片文件时,播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符。
上述图片处理方法、装置、计算机设备及存储介质,将所述实况图片包括的原始视频文件中的视频数据,嵌入至所述静态图片文件中,合成包括视频数据的图片文件。然后,发送合成的所述图片文件,这个合成的图片文件为单文件,即,在发送时只需要发送单文件形式的图片即可,而不需要既具备视频传输能力。其中,所述图片文件在被展示时,则可以播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符。即,在保证实况图片在被成功传输的情况下,降低了传输要求,从而降低了成本。
一种图片处理方法,所述方法包括:
接收针对图片文件的查看指令;所述图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;所述静态图片文件和所述原始视频文件,属于实况图片的信息;
从所述图片文件中读取视频数据;
根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符;
在展示所述图片文件时播放生成的所述视频文件。
一种图片处理装置,所述装置包括:
接收模块,用于接收针对图片文件的查看指令;所述图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;所述静态图片文件和所述原始视频文件,属于实况图片的信息;
视频生成模块,用于从所述图片文件中读取视频数据;根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符;
展示模块,用于在展示所述图片文件时播放生成的所述视频文件。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
接收针对图片文件的查看指令;所述图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;所述静态图片文件和所述原始视频文件,属于实况图片的信息;
从所述图片文件中读取视频数据;
根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符;
在展示所述图片文件时播放生成的所述视频文件。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
接收针对图片文件的查看指令;所述图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;所述静态图片文件和所述原始视频文件,属于实况图片的信息;
从所述图片文件中读取视频数据;
根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符;
在展示所述图片文件时播放生成的所述视频文件。
上述图片处理方法、装置、计算机设备及存储介质,在查看通过实况图片的原始视频文件和静态图片文件合成的图片文件时,从所述图片文件中读取视频数据;根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符。即,通过查看单文件的图片文件,即可还原出实况图片的原始视频文件和静态图片文件,从而,在展示所述图片文件时播放生成的所述视频文件,以实现对实况图片的查看。通过仅接收单文件的图片文件,即可实现对实况图片的查看,降低了要求,从而节省了成本。
附图说明
图1A为一个实施例中图片处理方法的应用场景图;
图1B为另一个实施例中图片处理方法的应用场景图;
图2为一个实施例中图片处理方法的流程示意图;
图3为一个实施例中的上传界面示意图;
图4为一个实施例中在非实况展示端查看图片文件的示意图;
图5为另一个实施例中在非实况展示端查看图片文件的示意图;
图6为一个实施例中上传图片文件的示意图;
图7为一个实施例中在实况展示端查看图片文件的示意图;
图8为一个实施例中实况图片的展示库的架构示意图;
图9为一个实施例中静态图片文件的格式示意图;
图10为另一个实施例中静态图片文件的格式示意图;
图11为一个实施例中视频存储对象的示意图;
图12为一个实施例中合成的图片文件的结构示意图;
图13为一个实施例中图片处理方法的时序图;
图14为一个实施例中图片处理方法的流程示意图;
图15为一个实施例中图片处理装置的框图;
图16为另一个实施例中图片处理装置的框图;
图17为又一个实施例中图片处理装置的框图;
图18为一个实施例中计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1A为一个实施例中图片处理方法的应用场景图。参照图1A,该应用场景中包括第一终端110、服务器120和第二终端130。其中,服务器120分别通过网络与第一终端110和第二终端130建立连接。其中,第二终端130是指具备实况图片展示功能的设备。第一终端110和第二终端130皆可以是智能电视机、智能音箱、台式计算机或移动终端,移动终端可以包括手机、平板电脑、笔记本电脑、个人数字助理和穿戴式设备等中的至少一种。服务器120的功能可以由一个服务器或多个服务器集群来实现。
用户可以通过第一终端110选择待上传的实况图片,第一终端110可以获取实况图片的信息;该信息包括原始视频文件和静态图片文件。用户可以基于第一终端110对该实况图片进行上传操作,第一终端110可以将实况图片的信息中包括的原始视频文件中的视频数据,嵌入至静态图片文件中,从而将原始视频文件和静态图片文件合成为一个单文件形式的图片文件,即,该合成的图片文件包括视频数据。第一终端110可以向服务器120发送合成的该图片文件。第二终端130可以从服务器120中下载该合成的图片文件,并在展示该图片文件时,播放由图片文件中的视频数据生成的视频文件,从而以实况图片的形式进行展示,其中,生成的视频文件与原始视频文件相符。即,生成的视频文件跟原始视频文件一致。
图1B为另一个实施例中图片处理方法的应用场景图。参照图1B,该应用场景中可以包括直接进行网络连接的第一终端110和第二终端130。第一终端在将原始视频文件中的视频数据嵌入至静态图片文件中,合成包括视频数据的图片文件之后,可以直接发送该图片文件至第二终端130。第二终端130可以在展示该图片文件时,播放由图片文件中的视频数据生成的视频文件,从而以实况图片的形式进行展示。
需要说明的是,第一终端110和第二终端120的身份可以互换,即第一终端110也可以接收或下载合成的图片文件,并执行以实况图片的形式该图片文件的相关步骤。第二终端120也可以执行合成包括视频数据的图片文件。
图2为一个实施例中图片处理方法的流程示意图。本实施例主要以该图片处理方法应用于计算机设备为例进行说明,计算机设备可以是图1中的第一终端110。参照图2,该方法具体包括如下步骤:
S202,获取实况图片的信息;该信息包括原始视频文件和静态图片文件。
其中,实况图片(Live Photo),是由相机拍摄的一种特殊格式的文件。即,实况图片,是在拍摄普通照片的基础上,保留拍摄前后一段时间内的包括声音的视频所得到的文件。可以理解,如果在支持实况查看的计算机设备查看实况图片,则可以在展示图片的同时播放视频。
在一个实施例中,实况图片可以是由iOS***相机拍摄得到。即,在使用iOS***相机在拍摄普通照片的基础上,保留拍摄前后一段时间内的包括声音的视频,即可以得到实况图片。其中,iOS***,是由苹果公司开发的移动操作***。需要说明的是,这里并不限定于实况图片必须是由iOS***相机拍摄得到,只要是在拍摄普通照片的基础上,保留拍摄前后一段时间内的包括声音的视频的文件,皆可以称为实况图片。
因此,实况图片的信息,包括原始视频文件和静态图片文件。原始视频文件,即为实况图片的信息中所包括的最初始的视频文件。静态图片文件,即为实况图片的信息中所包括的最初始的图片文件。
原始视频文件中包括视频数据。静态图片文件中包括图片数据。可以理解,静态图片文件,属于普通拍摄的静态图片。视频文件,即为拍摄该静态图片的前后一段时间内的包括声音的视频。
在一个实施例中,静态图片文件的格式可以包括JPG格式(即,JPEG,JointPhotographic Experts Group,是一种图像格式,它由联合照片专家组开发并命名为"ISO10918-1",JPG仅仅是一种俗称而已)和HEIC格式中的至少一种。其中,JPG,即,JPEG(JointPhotographic Experts Group),是一种图像格式,它由联合照片专家组开发并命名为"ISO10918-1",JPG仅仅是一种俗称而已。HEIC,基于HEIF(High Efficiency Image FileFormat)标准的图片存储格式。
在其他实施例中,静态图片文件还可以是其他的格式,对此并不限定。
具体地,用户可以通过计算机设备的界面,选择待发送的实况图片,计算机设备进而获取所选择的实况图片的信息。
在一个实施例中,计算机设备可以展示上传界面,用户可以通过上传界面选择需要上传的实况图片,计算机设备则可以获取所选择的实况图片的信息。
可以理解,实况图片可以为至少一个。即,用户可以同时选择多个实况图片,从而实现对多个实况图片的批量上传。用户也可以对单个实况图片进行上传,对此不做限定。
S204,将原始视频文件中的视频数据嵌入至静态图片文件中,合成包括视频数据的图片文件。
在一个实施例中,当接收到针对实况图片的发送指令时,执行步骤S204。
其中,发送指令,是用于触发发送实况图片的指令。在一个实施例中,发送指令,包括针对实况图片的上传指令。可以理解,发送指令,还可以是其他形式的能够触发发送实况图片的指令,而并不限定于上传指令,比如,端对端进行发送的指令。
在一个实施例中,计算机设备可以在上传界面中,展示路径选择入口,用户可以对该路径选择入口进行触发操作,以指定实况图片上传后的存储路径。之后,用户可以通过计算机设备输入针对该实况图片的上传指令。其中,路径选择入口,用于输入实况图片上传后的存储路径。
在一个实施例中,上传界面可以是云服务应用中所展示的用于上传文件的界面。云服务应用,是用于实现云服务功能的应用程序。云服务,即通过云端所提供的服务。可以理解,云服务应用可以用于实现云计算和云存储等功能。云计算,是将我们传统的计算工作转为以网络为依托的云端运行。云存储,是指将数据在云端进行存储。在一个实施例中,云服务应用,可以是云网盘应用。云网盘,是在云端实现的在线存储服务。
可以理解,本实施例中,计算机设备中可以安装云服务应用,用户可以打开云服务应用的上传界面,通过该上传界面中的路径选择入口,输入实况图片上传后的存储路径。在一个实施例中,云服务应用中可以展示上传控件,当检测到针对该上传控件的触发操作时,则生成针对该实况图片的上传指令。
图3为一个实施例中的上传界面示意图。图3所展示的即为云服务应用所提供的上传界面。参照图3,是以云服务应用为微云来举例说明。在云服务应用所提供的上传界面中,用户可以选择实况图片302作为待上传的实况图片,上传界面中提供有路径选择入口304,“微云/wylp”在路径选择入口304中输入的实况图片上传后的存储路径。用户可以对上传控件306进行触发,以输入针对该实况图片的上传指令。
具体地,计算机设备可以从原始视频文件中获取视频数据,并将视频数据嵌入至静态图片文件中,从而将视频数据和静态图片文件合成为一个整体的、单文件的图片文件。可以理解,合成的图片文件中包括所嵌入的视频数据。
可以理解,可以将原始视频文件中的视频数据作为一整份嵌入静态图片文件中,也可以将原始视频文件进行切分,得到多份视频数据,然后将各份视频数据嵌入至静态图片文件中。
需要说明的是,合成的包括视频数据的图片文件,与将两份文件压缩得到的压缩文件的性质并不相同。因为,对于压缩文件的来说,实质上被压缩的两个文件仍是独立的、分离的两种不同的文件,而并非合成一个整体的单文件,而且,压缩文件的格式是独有的格式,与被压缩的文件格式完全不相关。然而,本申请实施例中,相当于将原始视频文件和静态图片文件合成为一个单文件,而这个单文件的格式保留了原始的静态图片文件的格式,所以合成后实质上得到的仍是一个图片文件。
在一个实施例中,计算机设备可以在静态图片文件的结尾处,直接添加原始视频文件的视频数据,从而合成得到包括视频数据的图片文件。在另一个实施例中,计算机设备也可以在静态图片文件中的自定义数据存储区中,添加原始视频文件的视频数据,从而合成得到包括视频数据的图片文件。
其中,自定义数据存储区,是静态图片文件的格式中自带的、且专门用于存储应用的自定义数据的区域。可以理解,在自定义数据存储区中添加视频数据,能够符合图片文件格式的标准,从而具备很好的兼容性,使得该视频数据在图片文件的处理过程中,不容易被丢失。
可以理解,可以通过在自定义数据存储区中创建视频标记段或视频存储数据块,将视频数据添加至视频标记段或视频存储数据块中,合成得到图片文件。其中,视频标记段,是用于存储视频数据的标记段。视频存储数据块,是用于存储视频数据的数据块。
S206,发送合成的图片文件;在展示图片文件时,播放由该图片文件中的视频数据生成的视频文件。
可以理解,图片文件被展示时,用于指示播放由该图片文件中的视频数据生成的视频文件。图片文件可以被对端(即接收方一端)展示,也可以被本端(即发送图片文件的计算机设备这一端)展示。
需要说明的是,由于图片文件中视频数据,是由原始视频文件中的视频数据嵌入的,所以由图片文件中的视频数据生成的视频文件,与原始视频文件相符。
图片文件被展示,可以是指该图片文件本身被展示,也可以是指图片文件中分离出视频数据后的图片文件被展示。因此,图片文件还可以用于指示,从图片文件中分离出视频数据,并在展示被分离出视频数据后的图片文件时,播放由该分离出的视频数据生成的视频文件。
可以理解,根据图片文件中的视频数据生成的视频文件,可以在展示图片文件时生成,也可以在展示图片文件之前就生成。
在一个实施例中,图片文件在被展示时,用于指示接收方根据该图片文件中的视频数据生成视频文件,并播放该生成的视频文件。相当于,在展示图片文件时,触发根据图片文件中的视频数据生成视频文件,并在展示图片文件的同时,播放生成的视频文件。
在另一个实施例中,图片文件,用于指示接收方根据图片文件中的视频数据生成视频文件,并在展示图片文件的同时,播放所生成的视频文件。相当于,接收方在接收到图片文件后,根据图片文件中的视频数据先生成视频文件,然后在展示图片文件时,直接播放已生成的视频文件。
需要说明的是,当视频数据为多份时,接收方可以将多份视频数据按序拼接,合成得到与原始视频文件相符的视频文件。可以理解,将多份视频数据按序拼接,即为将各份视频数据按照其在原始视频文件中所处的位置顺序进行拼接,生成与原始视频文件相符的视频文件。
可以理解,合成的图片文件的接收方不做限定,可以是接收终端(比如图1B中的第二终端),也可以是服务器。因此,计算机设备可以直接将合成的图片文件,端对端地发送至接收终端。计算机设备也可以将合成的图片文件上传至服务器。
在一个实施例中,当接收方为接收终端时,图片文件在被接收终端展示时,用于指示接收终端播放生成的视频文件,合成的视频文件由图片文件中的视频数据合成得到。具体地,接收终端可以在接收到合成的图片文件之后,展示该图片文件,并且在展示该图片文件时,播放生成的视频文件。
在一个实施例中,接收终端可以包括实况展示端和非实况展示端。其中,实况展示端是指具备实况图片展示功能的设备。即,实况展示端,能够用于展示实况图片。非实况展示端,是指不具备实况图片展示功能的设备。即,非实况展示端,无法展示实况图片。那么,当接收终端为实况展示端时,可以在展示该图片文件时,播放生成的视频文件。当接收终端为非实况展示端时,则根据图片文件中的图片数据展示静态图片,而不是以实况图片的形式进行展示。
在一个实施例中,当接收方为服务器时(即,上传合成的图片文件至服务器),实况展示终端可以从服务器中下载该图片文件,并在展示图片文件的同时,播放生成的视频文件。其中,生成的该视频文件由图片文件中所嵌入的视频数据生成。在一个实施例中,非实况展示终端也可以从服务器中下载该图片文件,并根据图片文件中的图片数据展示静态图片。
上述图片处理方法,在查看通过实况图片的原始视频文件和静态图片文件合成的图片文件时,从所述图片文件中读取视频数据;根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符。即,通过查看单文件的图片文件,即可还原出实况图片的原始视频文件和静态图片文件,从而,在展示所述图片文件时播放生成的所述视频文件,以实现对实况图片的查看。通过仅接收单文件的图片文件,即可实现对实况图片的查看,降低了要求,从而节省了成本。
在一个实施例中,步骤S206发送合成的图片文件包括:上传合成的图片文件。其中,图片文件,用于被实况展示端下载后,指示实况展示端从图片文件中读取视频数据,根据读取的视频数据生成视频文件,并在展示图片文件时播放生成的视频文件。
具体地,计算机设备可以上传图片文件至服务器。实况展示端可以从服务器中下载该图片文件,并从图片文件中读取视频数据,根据读取的视频数据生成视频文件。实况展示端可以展示图片文件,并在展示图片文件时播放生成的视频文件。
实况展示端用于泛指具备实况图片展示功能的设备,即能够以实况图片的形式进行展示的设备,而并非限定为除计算机设备以外的其他设备。实际上,实况展示端可以是计算机设备本身,即用户在通过计算机设备上传合成的图片文件后,也可以通过计算机设备下载查看该合成的图片文件。
在一个实施例中,上传后的图片文件,还用于被非实况展示端下载后,指示非实况展示端读取图片文件中包括的图片数据,并展示与图片数据对应的静态图片。
在一个实施例中,非实况展示端可以包括网页(Web)、个人计算机(PC,personalcomputer)和不支持实况图片展示功能的应用程序等中的至少一种。
在一个实施例中,不支持实况图片展示功能的应用程序,可以是使用非iOS***的应用程序。比如,使用安卓***的应用程序,由于目前安卓***尚不具备实况图片展示功能,所以,使用安卓***的应用程序可以为非实况展示端,但是,随着后续安卓***功能的改进,待其具备实况图片展示功能时,其就不属于非实况展示端。
可以理解,非实况展示端也可以从服务器中下载图片文件。由于,非实况展示端不具备实况图片展示功能,所以,非实况展示端可以读取图片文件中包括的图片数据,并展示与图片数据对应的静态图片。
需要说明的是,非实况展示端,虽然不能以实况图片的形式进行展示,但是非实况展示端下载的也是包括视频数据的图片文件,所以,非实况展示端虽然仅展示的是普通的静态图片,但是,图片文件中的视频数据并未丢失。这样一来,当通过非实况展示端再次上传该图片文件,该再次上传的图片文件若被实况展示端下载,仍然能够以实况图片的形式进行展示。或者,当非实况展示端发送该图片文件至实况展示端时,实况展示端仍然可以对该包括视频数据的图片文件进行展示。
图4和图5分别为不同实施例中在非实况展示端查看图片文件的示意图。参照图4,显示的则是网页(web)上的界面图,在网页上该合成的图片文件的缩略图,仅显示为静态图片,如果查看大图,则也会显示该静态图片的大图,实质上仍然是静态图片。参照图5,即为将合成的图片文件下载到个人计算机(PC)上的界面,该界面中502即为合成的图片文件的缩略图,504为展示的静态图片的一部分内容,即,下载到个人计算机上展示的是普通的静态图片。可以理解,虽然在网页和个人计算机上展示的是静态图片,但是,图片文件中的视频数据并未丢失。需要说明的是,图4和图5中示出的是,合成的图片文件在不具备实况图片展示功能的网页和个人计算机上,仅展示静态图片,而并不适用于通过集成展示库以具备实况图片展示功能的网页和个人计算机。
上述实施例中,将合成的图片文件上传,实况展示端下载该图片文件后,能够通过查看单文件的图片文件,即可还原出实况图片的原始视频文件和静态图片文件,从而,在展示所述图片文件时播放生成的所述视频文件,以实现对实况图片的查看。通过仅接收单文件的图片文件,即可实现对实况图片的查看,降低了要求,从而节省了成本。
在一个实施例中,该方法还包括:将已上传的图片文件的可视化标识,展示于已上传文件集合中;已上传文件集合,是已上传的文件的可视化标识的集合;对应于图片文件的可视化标识,展示实况图片标记。
其中,图片文件的可视化标识,用于对图片文件的可视化的简化展示。
在一个实施例中,图片文件的可视化标识,可以是图片文件的缩略图。
已上传文件集合,是通过计算机设备上传的文件的可视化标识的集合。即,已上传文件集合中包括至少一个已上传的文件的可视化标识。
在一个实施例中,已上传文件集合,可以是已上传文件列表。
在一个实施例中,实况图片标记,用于标识出实况图片。可以理解,携带实况图片标记的图片,即为实况图片。
具体地,计算机设备可以上传合成的图片文件之后,在已上传文件集合中,展示该图片文件的可视化标识。计算机设备可以对应于图片文件的可视化标识,展示实况图片标记。
在一个实施例中,计算机设备可以在图片文件的可视化标识中的预设位置处,展示实况图片标记。在另一个实施例中,计算机设备也可以不在图片文件的可视化标识中直接展示实况图片标记,而是通过关联展示的方式,对应于图片文件的可视化标识,展示实况图片标记(比如,在图片文件的可视化标识所位于的行区域,展示实况图片标记,或者,在邻近于图片文件的可视化标识的预设区域范围内,展示实况图片标记)。
图6为一个实施例中上传图片文件的示意图。参照图6,602为图片文件的缩略图(即为图片文件的可视化标识),602中的“Live”字样,即为实况图片标记。
上述实施例中,对应于图片文件的可视化标识,展示实况图片标记,这样一来,用户在不下载图片文件的情况下,即可以知道哪些是实况图片,从而避免不需要的下载所造成的***资源的浪费。
在一个实施例中,该方法还包括:当接收针对上传的图片文件的查看指令时,下载合成的图片文件;从图片文件中读取视频数据,并根据视频数据生成视频文件;在展示图片文件时播放生成的视频文件。
具体地,计算机设备在上传合成的图片文件之后,用户可以通过计算机设备进行查看该上传的图片文件的操作,以输入针对上传的图片文件的查看指令。
在一个实施例中,用户可以对已上传文件集合中展示的该图片文件的可视化标识进行触发,以输入针对上传的图片文件的查看指令。可以理解,用户也可以通过计算机设备的界面所提供的查看入口进行触发操作,以输入对该上传的图片文件的查看指令。
计算机设备当接收针对上传的图片文件的查看指令时,可以从服务器下载合成的图片文件。进一步地,计算机设备可以从图片文件中读取视频数据,并根据视频数据生成视频文件。计算机设备可以展示图片文件,并在展示图片文件时播放生成的视频文件。
在一个实施例中,计算机设备可以直接从图片文件中分离出视频数据,并根据分离出的视频数据生成视频文件。计算机设备可以展示分离出视频数据后的图片文件,并在展示该分离后的图片文件时,播放生成的视频文件。可以理解,分离出视频数据后的图片文件,即为实况图片中包括的静态图片文件,生成的视频文件,即为实况图片中包括的原始视频文件。这样一来,分离出视频数据后的图片文件与实况图片中包括的静态图片文件的哈希值就一致,生成的视频文件,与实况图片中包括的原始视频文件的哈希值也一致,那么,在将分离出视频数据后的图片文件或生成的视频文件进行备份时,可以直接使用其哈希值来判断是否重复,如果不重复,则可以对其进行备份。
在一个实施例中,当通过视频标记段的形式将视频数据嵌入至静态图片文件时,则可以通过删除视频标记段的方式,得到分离出视频数据后的图片文件。当通过视频存储数据块的形式将视频数据嵌入至静态图片文件时,则可以通过删除视频存储数据块的方式,得到分离出视频数据后的图片文件。
在另一个实施例中,计算机设备也可以仅从图片文件中读取视频数据,来生成视频文件,而并不删除图片文件中的视频数据。这样一来,在展示图片文件时,可以通过图片文件中的图片数据展示静态图片,并播放生成的视频文件。这种情况,虽然没有删除图片文件中的视频数据,但同样能够达到展示实况图片的效果。
图7为一个实施例中在实况展示端查看图片文件的示意图。实况展示端可以是具备实况图片展示功能的云服务应用(比如,网盘APP)。从图7可知,该下载的图片文件具备实况图片标记的“Live”字样,所以,云服务应用能够在展示图片文件时播放视频文件。
上述实施例中,通过查看单文件的图片文件,即可还原出实况图片的原始视频文件和静态图片文件,从而,在展示所述图片文件时播放生成的所述视频文件,以实现对实况图片的查看。通过仅接收单文件的图片文件,即可实现对实况图片的查看,降低了要求,从而节省了成本。此外,上传实况图片的一方,也具备通过查看单文件的图片文件来查看实况图片的功能,提高了可用性,且,不需要额外开发另一个能够支持实况图片查看功能的应用,同样节省了成本。
在一个实施例中,根据视频数据生成视频文件包括:确定读取的各视频数据在原始视频文件中所对应的位置;按照各视频数据所对应的位置由前到后的顺序,对各视频数据进行排序;按照排序的升序,依次将各视频数据进行拼接,得到视频文件。
可以理解,当图片文件中所嵌入的视频数据为多份时,计算机设备可以确定各视频数据在原始视频文件中所对应的位置,并按照各视频数据所对应的位置由前到后的顺序,对各视频数据进行排序。进一步地,计算机设备可以按照排序的升序,依次将各视频数据进行拼接,得到视频文件。
比如,将原始视频文件按序切分为8份视频数据P1~P8,那么,在拼接时,仍然是按照P1~P8的顺序,进行拼接,生成视频文件。这样一来,生成的视频文件,与原始视频文件相符。
上述实施例中,将视频数据按序拼接,能够生成与原始视频文件相符的视频文件,从而保证实况图片展示的准确性。此外,相当于将原始视频文件切分为多份视频数据进行存储,相较于必须存储整份视频数据而言,降低了难度,从而也节省了成本。
在一个实施例中,在展示图片文件时播放生成的视频文件包括:通过集成的实况图片的展示库中的图像解码器,对图片文件进行解码;通过展示库中的视频解码器,对生成的视频文件进行解码;从展示库中提供的视图组件中,筛选与本地操作***适配的视图组件;在通过筛选的视图组件展示图片文件时,播放生成的视频文件。
可以理解,当计算机设备自身具备实况图片展示功能时,则计算机设备自身就可以直接实现在展示图片文件时播放生成的视频文件,而不需要集成实况图片的展示库。因此,本实施例中,主要是针对原生自带的功能中不具备实况图片展示功能的计算机设备,提供查看实况图片的方法。
在一个实施例中,使用无法支持实况图片展示功能的操作***的计算机设备表,可以为不具备实况图片展示功能的计算机设备。
其中,实况图片的展示库,是实现以实况图片的形式进行展示的库。可以理解,集成了实况图片的展示库的计算机设备,则可以具备实况图片展示功能。
实况图片的展示库中可以包括图像解码器、视频解码器、以及与操作***适配的视图组件。
其中,图像解码器,是能够对实况图片中的静态图片文件的图片格式进行解码的解码器。可以理解,由于合成的图片文件,保留了实况图片中的静态图片文件的格式,所以,图像解码器能够对该合成的图片文件进行解码。
在一个实施例中,实况图片中的静态图片文件的图片格式可以包括HEIC格式。那么,对于不具备实况图片展示功能的计算机设备来说,其自身功能无法对HEIC格式的图片文件进行解码,所以,可以通过集成展示库中的图像解码器来进行相关图片解码处理。
视频解码器,是能够对实况图片中的视频文件的视频格式进行解码的解码器。可以理解,如果实况图片中的视频文件是通用的、标准的视频格式,那么,视频解码器,是具有通用的视频解码能力的解码器。如果实况图片中的视频文件是特殊格式,那么,视频解码器,则是具有解码该特殊格式的视频文件的能力的解码器。
可以理解,展示库中包括的视图组件,是与无法支持实况图片展示功能的操作***适配的视图组件,因为,对于能够支持实况图片展示功能的操作***(比如,iOS***)而言,该操作***本身就能够支持实况图片的展示,所以,不需要集成展示库中的视图组件。
在一个实施例中,实况图片的展示库中可以包括至少一个操作***所适配的视图组件。操作***可以包括安卓操作***和微软视窗操作***(windows操作***)等。因此,实况图片的展示库中可以包括与安卓操作***适配的视图组件和与微软视窗操作***适配的视图组件。展示库中还可以包括与其他操作***适配的视图组件,对此不做限定。
具体地,计算机设备中可以预先集成实况图片的展示库。计算机设备可以通过展示库从图片文件中读取视频数据,并根据视频数据生成视频文件。
在一个实施例中,计算机设备可以通过展示库,直接从图片文件中分离出视频数据,这样一来,图片文件中的视频数据由于被分离而被删除,仅保留了原始的图片数据。计算机设备也可以通过展示库仅读取视频数据,而并不从图片文件中删除出该读取的视频数据。
进一步地,计算机设备可以根据展示库中的图像解码器,对所下载的图片文件进行解码,以及通过展示库中的视频解码器,对生成的视频文件进行解码。
可以理解,当从图片文件中分离出视频数据时,计算机设备根据展示库中的图像解码器解码的是分离出视频数据后的图片文件。
计算机设备可以确定本地操作***。其中,本地操作***,即为计算机设备自身所使用的操作***。计算机设备可以从展示库中提供的视图组件中,筛选与本地操作***适配的视图组件。计算机设备可以通过筛选的视图组件展示该图片文件,并在展示该图片文件的同时,通过该视图组件播放生成的视频文件。
在一个实施例中,视图组件包括图像视图组件和视频播放组件。计算机设备可以通过图像视图组件展示图片文件,并在展示图片文件的同时,通过视频播放组件播放生成的视频文件。
在一个实施例中,从图片文件中读取视频数据,并根据视频数据生成视频文件包括:通过展示库中的分离工具,从下载的图片文件中分离出视频数据;根据分离出的视频数据生成视频文件。本实施例中,在通过筛选的视图组件展示图片文件时,播放生成的视频文件包括:在通过筛选的视图组件展示分离出视频数据后的图片文件时,播放生成的视频文件。
本实施例中,展示库中还可以包括分离工具。该分离工具,用于分离视频数据并生成视频文件。即,该分离工具,用于从图片文件中分离出视频数据,并根据分离出的视频数据生成视频文件。
在一个实施例中,当分离出的视频数据为多份时,计算机设备可以通过分离工具分别确定各视频数据在原始视频文件中所对应的位置;按照各视频数据所对应的位置由前到后的顺序,对各视频数据进行排序;按照排序的升序,依次将各视频数据进行拼接,得到视频文件。
计算机设备可以通过筛选的视图组件展示分离出视频数据后的图片文件,并在展示该图片文件时,播放生成的视频文件。可以理解,分离出视频数据后的图片文件不再包括视频数据,所以,与实况图片中包括的静态图片文件相符。
在一个实施例中,计算机设备可以通过图像视图组件展示分离出视频数据后的图片文件,并在展示该图片文件的同时,通过视频播放组件播放生成的视频文件。
可以理解,由于展示库中可以包括与不同操作***适配的视图组件,以及统一的能够解码实况图片的图片文件和视频文件的解码器,所以,展示库能够实现跨平台展示实况图片的目的。跨平台,即指可以适用于不同操作***平台。
图8为一个实施例中实况图片的展示库的架构示意图。参照图8,底层是编写的跨平台库。需要说明的是,图8是以安卓***平台和windows***平台能够使用的编程语言编写展示库为例进行说明,所以,图8中在上层仅示出了与安卓***和Windows***匹配的视图组件。参照图8,分离工具,包含了将合成的图片文件分离为视频文件和图片文件的能力,其中,分离得到的视频文件与实况图片的原始视频文件相符,分离得到的图片文件与原始的静态图片文件相符。通用的视频解码器,用于解码通用的、标准格式的视频文件。图像解码器,是能够对实况图片的静态图片文件进行解码的解码器。图像解码器可以是HEIC图像解码器。HEIC图像解码器是一个轻量的HEIC格式图片的解码库,用于解码HTIC格式的图片文件。因为,因为HEIC是比较新的图片格式,部分非iOS平台的操作***还不能支持HEIC图片的展示,所以,需要图8所提供的图像解码器来提供解码能力。上层是分别为不同的操作***平台编写的视图组件,比如,安卓***平台编写的视图组件和Windows***平台编写的视图组件。各平台的视图组件中包括的交互逻辑和视觉效果,可以与实况图片所对应的原生操作***所提供的一致。比如,实况图片的原生操作***为iOS***,那么,各平台的视图组件中包括的交互逻辑和视觉效果,则与iOS***的原生体验一致(比如,长按播放视频时的淡入淡出效果)。
可以理解,分离工具可以为WYLivePhotoKit。WYLivePhotoKit即为微云所提供的、用于从图片文件中分离出原始视频文件和图片文件的工具。
现结合图8描述实况图片展示的原理。计算机设备下载该图片文件后,可以通过所集成的图8中的分离工具从图片文件中分离出视频数据,并根据视频数据生成视频文件,然后将生成的视频文件输入视频解码器中进行解码,将分离出视频数据后的图片文件输入图像解码器中进行解码,并将解码后的视频文件和图片文件传递至与本地操作***适配的视图组件,通过视图组件中的图像视图组件展示该解码后的图片文件,并在展示图片文件的同时,通过视频播放组件播放解码后的视频文件,从而实现对实况图片的展示处理。
需要说明的是,图8仅是以举例示意,而并不做限定。比如,web上由于只能使用Javascript编写的代码,故不适用于图8中所示的跨平台的展示库。但是,可以将图8中的展示库的逻辑使用Javascript语言编写,从而生成一套适用于web的实况图片的展示库。这样一来,在web中集成该实况图片的展示库,同样能够实现对实况图片的展示。需要说明的是,由于web浏览器自带视频解码能力,所以,可以在使用Javascript语言编写实况图片的展示库时,可以不编写一套专门的视频解码器,而是使用web浏览器自带的视频解码能力即可。
可以理解,也可以使用一套既能够使用web、又能够适用安卓和Windows等平台的语言,按照图8中示出的逻辑和架构,编写出一套通用的实况图片的展示库,对此不做限定。
需要说明的是,图8主要是用来说明,可以通过集成实况图片的展示库,来实现跨平台展示实况图片,其中,该展示库只要具备视频数据分离能力、合成视频文件的能力、对实况图片的视频文件和图片文件的编解码能力、以及适配于不同平台的展示视图组件即可,而并不限定于图8所示的结构。可以在图8的基础上,根据实际情况对展示库的架构进行相应的变动比如,功能合并和拆分、组成部分的替换等处理。
上述实施例中,通过集成实况图片的展示库,能够使原本不具备实况图片查看功能的设备也能够以实况图片的形式进行展示,实现了实况图片的跨平台展示。
在一个实施例中,步骤S204包括:确定静态图片文件中的自定义数据存储区;在自定义数据存储区的视频存储对象中,存储原始视频文件的视频数据,得到包括视频数据的图片文件;其中,视频存储对象中包括实况图片标识符;实况图片标识符,用于表示视频存储对象所存储的视频数据属于实况图片中包括的视频数据。
其中,自定义数据存储区,是静态图片文件的格式中自带的、且专门用于存储应用的自定义数据的区域。视频存储对象,是用于存储视频数据的对象。
可以理解,针对不同格式的静态图片文件,自定义数据存储区,所位于的位置可以不同,视频存储对象的类型也可以不同。
在一个实施例中,当静态图片文件的格式为JPG时,那么,自定义数据存储区,可以位于压缩的图像数据之前。
图9为一个实施例中静态图片文件的格式示意图。图9是JPG格式的示意图。参照图9,自定义数据存储区位于额外标记段区域,即可以位于压缩的图像数据的存储区域之前。可以理解,额外标记段区域,即为定义的APPn标记段,用于存储应用的自定义数据。
在一个实施例中,当静态图片文件的格式为HEIC时,自定义数据存储区,可以位于结尾处。
图10为另一个实施例中静态图片文件的格式示意图。图10是HEIC格式的示意图。参照图10,自定义数据存储区位于mdat之后。图10中每个方块即代表一个数据块(box),比如,包括“ftyp”、“moov”、“meta”以及“mdat”等类型的数据块。“ftyp”是作为HEIC的标志,并且包含一些文件信息。“moov”用于保存图像序列,具体通过子数据块trak来保存单帧图像。“meta”的数据块中包括元数据,比如,“Item info”基本描述、“Item location”位置以及“other Item-specific metadata”其他特殊的元数据。“mdat”的数据块中包括媒体数据,比如,“Item’Encoded bitstream”即为编码的比特流。
具体地,计算机设备可以根据静态图片文件的格式,从静态图片文件中确定出自定义数据存储区。计算机设备可以在自定义数据存储区中创建视频存储对象,并在视频存储对象中,存储原始视频文件的视频数据,得到包括视频数据的图片文件。
在一个实施例中,当静态图片文件的格式为JPG时,视频存储对象可以为视频标记段。
其中,视频标记段,是用于存储视频数据的标记段。视频标记段,可以包括默认的头部信息、长度、实况图片标识符、序号和视频数据。实况图片标识符,用于表示视频存储对象所存储的视频数据属于实况图片中包括的视频数据。
在一个实施例中,当静态图片文件的格式为HEIC时,视频存储对象可以为视频存储数据块。本实施例中,在自定义数据存储区的视频存储对象中,存储原始视频文件的视频数据包括:在自定义数据存储区中创建数据块;在创建的数据块的数据存储区中,存储原始视频文件的视频数据。
其中,视频存储数据块,是用于存储视频数据的数据块。视频存储数据块可以包括充当头部信息的实况图片标识符、元数据信息和视频数据。其中,元数据信息包括元数据字符串的个数和具体的表示元数据的字符串。
关于数据块(Box)的描述如下:
该描述可以理解为,size字段表示数据块的大小,type字段表示数据块的类型,数据块(box)开头的4个字符(32位)为数据块的大小(box size),该大小包括数据块的头部(box header)和数据块的主体(box body)整个的大小,这样我们就可以在文件中定位各个数据块。如果size为1,则表示这个数据块的大小为large size,真正的size值要在largesize域上得到。如果size为0,表示该数据块为文件的最后一个数据块,文件结尾即为该数据块结尾。数据块的大小(size)后面紧跟的32位为数据块的类型(box type),一般是4个字符,通常情况下,这些数据块的类型(box type)都是已经预定义好的,分别表示固定的意义。如果数据块的类型(box type)是“uuid”,表示该数据块(box)为用户扩展类型。
图11为一个实施例中视频存储对象的示意图。其中,图11的(a)图为一个视频标记段的结构,是以APP4标记段为例进行说明的。其中,视频标记段由代码FFE4开头(即,图中的0xFF,0xE4),后接两字节表示长度,后接实况图片标识符,即零结字符串“Weiyun LivePhoto\0”,用来标示这个标记段是微云平台用来存储实况图片中的视频数据。其中,零结字符串,是指以零结尾的字符串。后面再接一个字节用于记录视频标记段的序号,剩余的为承载的视频数据。图11的(b)图为一个视频存储数据块的示意图。其中,头部信息“wylp”,即为实况图片标识符,用于表示这个数据块用来存储实况图片中的视频数据。“Meta DataCount 0x02”表示元数据字符串的个数,“version\0”和“1.0\0”等零结字符串,分别用于表示具体的元数据,“version”即为版本,剩余内容“Video File Data”即为视频数据。
图12为一个实施例中合成的图片文件的结构示意图。图12的(a)图,示出的是JPG格式的静态图片文件的视频标记段中存储视频数据后,所合成的图片文件的结构。其中,将实况图片Live photo的原始视频文件1202切分为N份视频数据(part1~partN),然后按照各视频数据在原始视频文件中所处位置的顺序,依次添加至idx1~idxn的视频标记段中,合成图片文件。idx0用于记录元数据(即,Meta Data)。可以理解,用idx0的视频标记段来记录元数据,可以方便后续的升级,即可以用于更新后续升级后的元数据(比如,元数据的更新版本信息等),元数据可以以多个零结字符串组成Key-Value(键值对)的形式进行存储。idx1~idxn用于记录实质的视频数据。比如,part1就添加至indx1所对应的视频标记段中,partN添加至idxN对应的视频标记段中。可以理解,图12中的1204即为合成的图片文件的格式结构。需要说明的是,每个idx所对应的视频标记段的详细结构,即如图11的(a)图中所示。需要说明的是,图11的(a)图中的从开头到“序号”这部分,统称为图12的(a)中的片段头部信息(即,Live Photo Segment:Header)。相当于,在图9所示的JPG格式的结构的基础上,在静态图片文件中记录的压缩的图像数据的区域之前,创建如图11的(a)图所示的多个视频标记段,然后依次将切分的视频数据添加至相应的视频标记段中,其中一个视频标记段用于记录元数据,从而合成得到图片文件。
图12的(b)图示出的是HEIC格式的静态图片文件的视频存储数据块中存储视频数据后,所合成的图片文件的结构。其中,由于单个的数据块的数据存储容量比较大,故,可以将原始视频文件中的全部视频数据统一存储至一个视频存储数据块中。相当于,在图10所示的HEIC格式的结构的基础上,在静态图片文件的结尾处,创建了一个如图11的(b)图所示的自定义的视频存储数据块,然后在视频存储数据块的数据存储区中存储视频数据,即得到合成的图片文件。需要说明的是,为了简示,图12的(b)图中未示出图11的(b)图中的“moov”数据块的内容,实际上,合成的图片文件的结构中是包含“moov”数据块的内容,只是未示出而已。
上述实施例中,将视频数据存储在静态图片文件中的自定义数据存储区的视频存储对象中,合成图片文件,能够使得合成的图片文件符合图片标准,从而视频数据不易丢失。此外,视频存储对象中包括实况图片标识符,能够与其他的存储数据区分开来,不易与其他软件添加的数据产生冲突,因而不易导致其他软件产生异常的行为。
在一个实施例中,视频存储对象包括视频标记段。在自定义数据存储区的视频存储对象中,存储原始视频文件的视频数据包括:当原始视频文件的大小超过单个视频标记段的数据存储容量时,则按照数据存储容量,切分原始视频文件;切分得到的每份视频数据的大小小于或等于数据存储容量;在各视频标记段的数据存储区中,添加所切分得到的视频数据。
其中,单个视频标记段的数据存储容量,是指单个视频标记段能够存储的数据量。数据存储区,是指视频标记段中用于存储实质的数据的区域。
具体地,计算机设备可以将原始视频文件的大小与单个视频标记段的数据存储容量进行比对,当小于或等于数据存储容量时,表明单个视频标记段可以存储该原始视频文件的视频数据,则可以直接将原始视频文件的视频数据存储至该单个的视频标记段中。
但是,通常情况下,由于视频标记段能够存储的数据有限,而不能存储原始视频文件的全部视频数据,这个时候就需要使用多个视频标记段来存储。因此,当原始视频文件的大小超过(即大于)单个视频标记段的数据存储容量时,计算机设备按照数据存储容量,切分原始视频文件;切分得到的每份视频数据的大小小于或等于数据存储容量;在各视频标记段的数据存储区中,添加所切分得到的视频数据。
在一个实施例中,计算机设备可以按照数据存储容量,将原始视频文件进行等分。在其他实施例中,也可以不等分,只要满足单份视频数据能够被单个的视频标记段存储即可。
在一个实施例中,计算机设备可以在各视频标记段的数据存储区中分别添加相应的视频数据,并按照各视频数据在原始视频文件中所处位置的先后顺序,在视频标记段中添加相应的序号。其中,各视频数据在视频标记段中对应的序号之间的大小关系,与视频数据在原始视频文件中所处位置之间的先后顺序相一致。
在另一个实施例中,计算机设备可以在创建视频标记段时,就为各视频标记段添加相应的序号,那么,在将视频数据添加至视频标记段时,就可以按照视频标记段中所添加的序号,将各视频数据依次添加至相应的视频标记段。其中,视频数据所添加至的视频标记段的序号之间的大小关系,与视频数据在原始视频文件中所处位置之间的先后顺序相一致。
上述实施例中,将视频标记段作为视频存储对象,能够符合图片标准。此外,将原始视频文件切分为多份视频数据,存储在各视频标记段中,能够降低存储要求,节省成本。
图13为一个实施例中图片处理方法的时序图。参照图13,该时序图中包括:第一终端、服务器、第二终端和第三终端,其中:
1)用户选择待上传的实况图片;
2)第一终端获取用户选择的实况图片的信息;信息包括原始视频文件和静态图片文件;
3)第一终端接收用户针对实况图片的上传指令;
4)第一终端确定静态图片文件中的自定义数据存储区,按照自定义数据存储区中的单个视频标记段的数据存储容量,切分原始视频文件;其中,视频标记段包括实况图片标识符。
5)第一终端在各视频标记段的数据存储区中,添加所切分得到的视频数据,得到包括视频数据的图片文件;
6)第一终端上传合成的图片文件至服务器。
7)第一终端将已上传的图片文件的可视化标识,展示于已上传文件集合中;已上传文件集合,是已上传的文件的可视化标识的集合;对应于图片文件的可视化标识,展示实况图片标记。
可以理解,第二终端和第三终端皆可以从服务器中下载该合成的图片文件。为了说明不同的场景,这里将第二终端视为具有实况图片展示功能的设备,将第三终端视为不具备实况图片展示功能的设备。
8)第二终端和第三终端分别可以从服务器下载该合成的图片文件。
9)第二终端可以通过集成的实况图片的展示库中的分离工具,从图片文件中读取包括实况图片标识符的视频标记段,从视频标记段的数据存储区中读取视频数据和相应的序号。
10)第二终端可以按照序号升序,对所读取的视频数据进行拼接,生成视频文件,并删除图片文件中的视频标记段。
11)第二终端可以通过展示库中的图像解码器,对图片文件进行解码,并通过展示库中的视频解码器,对生成的视频文件进行解码。
12)第二终端可以从展示库中提供的视图组件中,筛选与本地操作***适配的视图组件;在通过筛选的视图组件展示删除视频标记段后的图片文件时,播放生成的视频文件。
13)第三终端读取合成的图片文件中包括的图片数据,并展示与图片数据对应的静态图片。
需要说明的是,第一终端也可以充当第二终端或第三终端的角色,当第一终端具有实况图片展示功能,则也可以执行第二终端所执行的步骤,当第一终端不具备实况图片展示功能,则可以执行第三终端所执行的步骤。
此外,图13仅以图片为JPG格式来进行举例说明,当图片为HEIC格式时,则可以将上述步骤3)替换为:第一终端确定静态图片文件中的自定义数据存储区,在自定义数据存储区中创建视频存储数据块,将步骤4)替换为:在创建的数据块的数据存储区中,存储原始视频文件的视频数据。以及,将步骤8)替换为第二终端可以通过集成的实况图片的展示库中的分离工具,从图片文件中确定包括实况图片标识符的视频存储数据块,将步骤9)替换为,第二终端可以从视频存储数据块中读取视频数据,根据读取的视频数据生成视频文件,并删除该视频存储数据块。以及,将步骤11)中的“视频标记段”替换为“视频存储数据块”。
如图14所示,在一个实施例中,提供了另一种图片处理方法,该方法可以应用于计算机设备,该计算机设备可以是图1A或1B所示的第二终端,该方法具体包括以下步骤:
S1402,接收针对图片文件的查看指令;图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;静态图片文件和原始视频文件,属于实况图片的信息。
其中,查看指令,是用于查看图片文件的指令。
可以理解,可以是在计算机设备获取图片文件之后,再接收针对已获取的图片文件的查看指令,也可以是通过查看指令获取(比如,下载)图片文件并执行查看处理。对此不做限定。
在一个实施例中,计算机设备可以接收针对图片文件的查看指令,下载该查看指令所针对的图片文件。
S1404,从图片文件中读取视频数据。
在一个实施例中,步骤S1404包括:从图片文件的自定义数据存储区中,筛选包括实况图片标识符的视频存储对象,从筛选的视频存储对象的数据存储区中读取视频数据。
在一个实施例中,视频存储对象包括视频标记段和视频存储数据块中的至少一种。
在一个实施例中,计算机设备可以通过展示库中的分离工具,从筛选的视频存储对象的数据存储区中分离出视频数据。
S1406,根据视频数据生成视频文件。
其中,生成的视频文件与原始视频文件相符。
在一个实施例中,当有多份视频数据时,步骤S1406根据视频数据生成视频文件包括:确定读取的各视频数据在原始视频文件中所对应的位置;按照各视频数据所对应的位置由前到后的顺序,对各视频数据进行排序;按照排序的升序,依次将各视频数据进行拼接,得到视频文件。
在一个实施例中,多份视频数据存储在相应视频存储对象的数据存储区中,视频存储对象可以为视频标记段。这种情况下,计算机设备可以根据各视频标记段中的序号进行升序排序,并将排序后的各视频标记段的数据存储区中存储的视频数据按照排序升序,进行拼接,得到视频文件。
在一个实施例中,步骤S1406中的视频数据可以是从图片文件中分离出来的。则计算机设备可以在根据分离出的视频数据生成视频文件之后,从图片文件中删除视频存储对象。
S1408,在展示图片文件时播放生成的视频文件。
在一个实施例中,步骤S1408包括:通过集成的实况图片的展示库中的图像解码器,对图片文件进行解码;通过展示库中的视频解码器,对生成的视频文件进行解码;从展示库中提供的视图组件中,筛选与本地操作***适配的视图组件;在通过筛选的视图组件展示图片文件时,播放生成的视频文件。
在一个实施例中,步骤S1408中展示的图片文件,可以是分离出视频数据后的图片文件,那么,计算机设备可以在通过筛选的视图组件展示分离出视频数据后的图片文件时,播放生成的视频文件。在一个实施例中,分离出视频数据后的图片文件可以是删除视频存储对象后的图片文件。
上述图片处理方法,在查看通过实况图片的原始视频文件和静态图片文件合成的图片文件时,从所述图片文件中读取视频数据;根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符。即,通过查看单文件的图片文件,即可还原出实况图片的原始视频文件和静态图片文件,从而,在展示所述图片文件时播放生成的所述视频文件,以实现对实况图片的查看。通过仅接收单文件的图片文件,即可实现对实况图片的查看,降低了要求,从而节省了成本。
如图15所示,在一个实施例中,提供了一种图片处理装置1500,该装置1500包括:获取模块1502、合成模块1504以及发送模块1506,其中:
获取模块1502,用于获取实况图片的信息;信息包括原始视频文件和静态图片文件。
合成模块1504,用于将原始视频文件中的视频数据嵌入至静态图片文件中,合成包括视频数据的图片文件。
发送模块1506,用于发送合成的图片文件;其中,在展示图片文件时,播放由图片文件中的视频数据生成的视频文件;生成的视频文件与原始视频文件相符。
在一个实施例中,发送模块1506还用于上传合成的图片文件;其中,图片文件,用于被实况展示端下载后,指示实况展示端从图片文件中读取视频数据,根据读取的视频数据生成视频文件,并在展示图片文件时播放生成的视频文件。
在一个实施例中,该装置还包括:
展示模块1508,用于将已上传的图片文件的可视化标识,展示于已上传文件集合中;已上传文件集合,是已上传的文件的可视化标识的集合;对应于图片文件的可视化标识,展示实况图片标记。
如图16所示,在一个实施例中,该装置包括:获取模块1502、合成模块1504、发送模块1506、展示模块1508、下载模块1510以及视频生成模块1512,其中:
下载模块1510,用于当接收针对上传的图片文件的查看指令时,下载合成的图片文件。
视频生成模块1512,用于从图片文件中读取视频数据,并根据视频数据生成视频文件。
展示模块1508还用于在展示图片文件时播放生成的视频文件。
在一个实施例中,视频生成模块1512还用于确定读取的各视频数据在原始视频文件中所对应的位置;按照各视频数据所对应的位置由前到后的顺序,对各视频数据进行排序;按照排序的升序,依次将各视频数据进行拼接,得到视频文件。
在一个实施例中,展示模块1508还用于通过集成的实况图片的展示库中的图像解码器,对图片文件进行解码;通过展示库中的视频解码器,对生成的视频文件进行解码;从展示库中提供的视图组件中,筛选与本地操作***适配的视图组件;在通过筛选的视图组件展示图片文件时,播放生成的视频文件。
在一个实施例中,视频生成模块1512还用于通过展示库中的分离工具,从下载的图片文件中分离出视频数据;根据分离出的视频数据生成视频文件。本实施例中,展示模块1508还用于在通过筛选的视图组件展示分离出视频数据后的图片文件时,播放生成的视频文件。
在一个实施例中,上传后的图片文件,还用于被非实况展示端下载后,指示非实况展示端读取图片文件中包括的图片数据,并展示与图片数据对应的静态图片。
在一个实施例中,合成模块1504还用于确定静态图片文件中的自定义数据存储区;在自定义数据存储区的视频存储对象中,存储原始视频文件的视频数据,得到包括视频数据的图片文件;其中,视频存储对象中包括实况图片标识符;实况图片标识符,用于表示视频存储对象所存储的视频数据属于实况图片中包括的视频数据。
在一个实施例中,视频存储对象包括视频标记段。合成模块1504还用于当原始视频文件的大小超过单个视频标记段的数据存储容量时,则按照数据存储容量,切分原始视频文件;切分得到的每份视频数据的大小小于或等于数据存储容量;在各视频标记段的数据存储区中,添加所切分得到的视频数据。
在一个实施例中,视频存储对象包括数据块。合成模块1504还用于在自定义数据存储区中创建视频存储数据块;在创建的数据块的数据存储区中,存储原始视频文件的视频数据。
如图17所示,在一个实施例中,提供了另一种图片处理装置1700,该装置1700包括:接收模块1702、视频生成模块1704以及展示模块1706,其中:
接收模块1702,用于接收针对图片文件的查看指令;所述图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;所述静态图片文件和所述原始视频文件,属于实况图片的信息。
视频生成模块1704,用于从所述图片文件中读取视频数据;根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符。
展示模块1706,用于在展示所述图片文件时播放生成的所述视频文件。
图18为一个实施例中计算机设备的内部结构示意图。参照图18,该计算机设备可以是图1A或图1B中的第一终端或第二终端。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作***和计算机程序。该计算机程序被执行时,可使得处理器执行一种图片处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种图片处理方法。计算机设备的网络接口用于进行网络通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏等。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该计算机设备可以是个人计算机、智能音箱、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。
本领域技术人员可以理解,图18中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的图片处理装置可以实现为一种计算机程序的形式,计算机程序可在如图18所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该图片处理装置的各个程序模块,比如,图15所示的获取模块1502、合成模块1504以及发送模块1506,或者图17所示的接收模块1702、视频生成模块1704以及展示模块1706。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的图片处理方法中的步骤,现以图15中的图片处理装置1500为例进行说明,例如,计算机设备可以通过如图15所示的图片处理装置1500中的获取模块1502获取实况图片的信息;信息包括原始视频文件和静态图片文件。计算机设备可以通过合成模块1504将原始视频文件中的视频数据嵌入至静态图片文件中,合成包括视频数据的图片文件。计算机设备可以通过发送模块1506发送合成的图片文件;其中,图片文件在被展示时,用于指示播放由图片文件中的视频数据生成的视频文件;生成的视频文件与原始视频文件相符。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述图片处理方法的步骤。此处图片处理方法的步骤可以是上述各个实施例的图片处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述图片处理方法的步骤。此处图片处理方法的步骤可以是上述各个实施例的图片处理方法中的步骤。
需要说明的是,本申请各实施例中的“第一”、“第二”和“第三”等仅用作区分,而并不用于大小、先后、从属等方面的限定。
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种图片处理方法,所述方法包括:
获取实况图片的信息;所述信息包括原始视频文件和静态图片文件;所述实况图片,是指拍摄照片时,在拍摄普通照片的基础上,保留拍摄照片时的前后一段时间内的包括声音的视频所得到的文件;
当接收到针对实况图片的上传指令时,触发将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件;
上传合成的所述图片文件;
其中,在展示所述图片文件时,播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符;
当接收针对上传的图片文件的查看指令时,下载合成的所述图片文件;
从所述图片文件中读取视频数据,并根据所述视频数据生成视频文件;
通过集成的实况图片的展示库中的图像解码器,对所述图片文件进行解码;
通过所述展示库中的视频解码器,对生成的所述视频文件进行解码;
从所述展示库中提供的与不同操作***适配的视图组件中,筛选与本地操作***适配的视图组件;
在通过筛选的视图组件展示所述图片文件时,播放生成的所述视频文件。
2.根据权利要求1所述的方法,其特征在于,所述图片文件,用于被实况展示端下载后,指示所述实况展示端从所述图片文件中读取视频数据,根据读取的视频数据生成视频文件,并在展示所述图片文件时播放生成的所述视频文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将已上传的所述图片文件的可视化标识,展示于已上传文件集合中;所述已上传文件集合,是已上传的文件的可视化标识的集合;
对应于所述图片文件的可视化标识,展示实况图片标记。
4.根据权利要求1所述的方法,其特征在于,所述根据所述视频数据生成视频文件包括:
确定读取的各视频数据在所述原始视频文件中所对应的位置;
按照各视频数据所对应的位置由前到后的顺序,对各视频数据进行排序;
按照排序的升序,依次将各视频数据进行拼接,得到视频文件。
5.根据权利要求1所述的方法,其特征在于,所述从所述图片文件中读取视频数据,并根据所述视频数据生成视频文件包括:
通过所述展示库中的分离工具,从下载的所述图片文件中分离出视频数据;
根据分离出的所述视频数据生成视频文件;
所述在通过筛选的视图组件展示所述图片文件时,播放生成的所述视频文件包括:
在通过筛选的视图组件展示分离出视频数据后的图片文件时,播放生成的所述视频文件。
6.根据权利要求1所述的方法,其特征在于,上传后的图片文件,还用于被非实况展示端下载后,指示所述非实况展示端读取所述图片文件中包括的图片数据,并展示与所述图片数据对应的静态图片。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件包括:
确定所述静态图片文件中的自定义数据存储区;
在所述自定义数据存储区的视频存储对象中,存储所述原始视频文件的视频数据,得到包括视频数据的图片文件;
其中,视频存储对象中包括实况图片标识符;所述实况图片标识符,用于表示所述视频存储对象所存储的视频数据属于实况图片中包括的视频数据。
8.根据权利要求7所述的方法,其特征在于,所述视频存储对象包括视频标记段;所述在所述自定义数据存储区的视频存储对象中,存储所述原始视频文件的视频数据包括:
当所述原始视频文件的大小超过单个视频标记段的数据存储容量时,则
按照所述数据存储容量,切分所述原始视频文件;切分得到的每份视频数据的大小小于或等于所述数据存储容量;
在各视频标记段的数据存储区中,添加所切分得到的所述视频数据。
9.一种图片处理方法,所述方法包括:
接收针对图片文件的查看指令;所述图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;所述静态图片文件和所述原始视频文件,属于实况图片的信息;所述实况图片,是指拍摄照片时,在拍摄普通照片的基础上,保留拍摄照片时的前后一段时间内的包括声音的视频所得到的文件;
从所述图片文件中读取视频数据;
根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符;
通过集成的实况图片的展示库中的图像解码器,对所述图片文件进行解码;
通过所述展示库中的视频解码器,对生成的所述视频文件进行解码;
从所述展示库中提供的与不同操作***适配的视图组件中,筛选与本地操作***适配的视图组件;
在通过筛选的视图组件展示所述图片文件时播放生成的所述视频文件。
10.一种图片处理装置,其特征在于,所述装置包括:
获取模块,用于获取实况图片的信息;所述信息包括原始视频文件和静态图片文件;所述实况图片,是指拍摄照片时,在拍摄普通照片的基础上,保留拍摄照片时的前后一段时间内的包括声音的视频所得到的文件;
合成模块,用于当接收到针对实况图片的上传指令时,触发将所述原始视频文件中的视频数据嵌入至所述静态图片文件中,合成包括视频数据的图片文件;
发送模块,用于上传合成的所述图片文件;其中,在展示所述图片文件时,播放由所述图片文件中的视频数据生成的视频文件;生成的视频文件与所述原始视频文件相符;
下载模块,用于当接收针对上传的图片文件的查看指令时,下载合成的所述图片文件;
视频生成模块,用于从所述图片文件中读取视频数据,并根据所述视频数据生成视频文件;
展示模块,用于通过集成的实况图片的展示库中的图像解码器,对所述图片文件进行解码;通过所述展示库中的视频解码器,对生成的所述视频文件进行解码;从所述展示库中提供的与不同操作***适配的视图组件中,筛选与本地操作***适配的视图组件;在通过筛选的视图组件展示所述图片文件时,播放生成的所述视频文件。
11.一种图片处理装置,其特征在于,所述装置包括:
接收模块,用于接收针对图片文件的查看指令;所述图片文件,由静态图片文件中嵌入原始视频文件的视频数据后所合成得到;所述静态图片文件和所述原始视频文件,属于实况图片的信息;所述实况图片,是指拍摄照片时,在拍摄普通照片的基础上,保留拍摄照片时的前后一段时间内的包括声音的视频所得到的文件;
视频生成模块,用于从所述图片文件中读取视频数据;根据所述视频数据生成视频文件;生成的所述视频文件与所述原始视频文件相符;
展示模块,用于通过集成的实况图片的展示库中的图像解码器,对图片文件进行解码;通过展示库中的视频解码器,对生成的视频文件进行解码;从展示库中提供的视图组件中,筛选与本地操作***适配的视图组件;在通过筛选的视图组件展示图片文件时,播放生成的视频文件。
12.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至9中任一项所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495571.XA CN110248116B (zh) | 2019-06-10 | 2019-06-10 | 图片处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495571.XA CN110248116B (zh) | 2019-06-10 | 2019-06-10 | 图片处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110248116A CN110248116A (zh) | 2019-09-17 |
CN110248116B true CN110248116B (zh) | 2021-10-26 |
Family
ID=67886278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910495571.XA Active CN110248116B (zh) | 2019-06-10 | 2019-06-10 | 图片处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110248116B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7442302B2 (ja) * | 2019-11-22 | 2024-03-04 | キヤノン株式会社 | データ処理装置およびその制御方法、プログラム |
CN110990626A (zh) * | 2019-12-09 | 2020-04-10 | 深圳市迅雷网络技术有限公司 | 一种图片处理方法、装置、***及存储介质 |
CN111189460B (zh) * | 2019-12-31 | 2022-08-23 | 广州展讯信息科技有限公司 | 一种含高精度地图轨迹的视频合成转换方法及装置 |
CN112995536A (zh) * | 2021-02-04 | 2021-06-18 | 上海哔哩哔哩科技有限公司 | 视频合成方法及*** |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523410A (zh) * | 2011-12-28 | 2012-06-27 | 创新科存储技术(深圳)有限公司 | 一种写入视频数据的方法及视频数据存储设备 |
CN103646048A (zh) * | 2013-11-25 | 2014-03-19 | 宇龙计算机通信科技(深圳)有限公司 | 实现多媒体图片的方法和装置 |
JP2014123855A (ja) * | 2012-12-20 | 2014-07-03 | Panasonic Corp | 合成画像生成装置、合成画像生成方法、および放送受信装置 |
CN104125388A (zh) * | 2013-04-25 | 2014-10-29 | 广州华多网络科技有限公司 | 一种拍摄并存储相片的方法和装置 |
CN105187911A (zh) * | 2015-09-28 | 2015-12-23 | 努比亚技术有限公司 | 一种视频图片显示方法、装置及一种图片显示方法 |
CN105245777A (zh) * | 2015-09-28 | 2016-01-13 | 努比亚技术有限公司 | 生成视频图片的方法及装置 |
CN105354219A (zh) * | 2015-09-28 | 2016-02-24 | 努比亚技术有限公司 | 一种文件编码方法及装置 |
CN106686298A (zh) * | 2016-11-29 | 2017-05-17 | 努比亚技术有限公司 | 拍摄后处理方法、拍摄后处理装置及移动终端 |
CN106791361A (zh) * | 2016-11-22 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 基于压感触控屏幕的动态照片显示方法及*** |
CN107644056A (zh) * | 2017-08-04 | 2018-01-30 | 武汉烽火众智数字技术有限责任公司 | 一种文件存储方法、装置及*** |
CN107742296A (zh) * | 2017-09-11 | 2018-02-27 | 广东欧珀移动通信有限公司 | 动态图像生成方法和电子装置 |
CN109361880A (zh) * | 2018-11-30 | 2019-02-19 | 三星电子(中国)研发中心 | 一种展示静态图片对应的动态图片或视频的方法及*** |
CN109587196A (zh) * | 2017-09-29 | 2019-04-05 | 南京云照乐摄影有限公司 | 一种快速影像处理与方便上传下载的管理*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7697040B2 (en) * | 2005-10-31 | 2010-04-13 | Lightbox Network, Inc. | Method for digital photo management and distribution |
US8681234B2 (en) * | 2010-09-28 | 2014-03-25 | Sony Computer Entertainment America Llc | System and methdod for capturing and displaying still photo and video content |
US20150348587A1 (en) * | 2014-05-27 | 2015-12-03 | Thomson Licensing | Method and apparatus for weighted media content reduction |
CN105407282A (zh) * | 2015-11-16 | 2016-03-16 | 中科创达软件股份有限公司 | 一种照相和回放的实现方法 |
-
2019
- 2019-06-10 CN CN201910495571.XA patent/CN110248116B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523410A (zh) * | 2011-12-28 | 2012-06-27 | 创新科存储技术(深圳)有限公司 | 一种写入视频数据的方法及视频数据存储设备 |
JP2014123855A (ja) * | 2012-12-20 | 2014-07-03 | Panasonic Corp | 合成画像生成装置、合成画像生成方法、および放送受信装置 |
CN104125388A (zh) * | 2013-04-25 | 2014-10-29 | 广州华多网络科技有限公司 | 一种拍摄并存储相片的方法和装置 |
CN103646048A (zh) * | 2013-11-25 | 2014-03-19 | 宇龙计算机通信科技(深圳)有限公司 | 实现多媒体图片的方法和装置 |
CN105354219A (zh) * | 2015-09-28 | 2016-02-24 | 努比亚技术有限公司 | 一种文件编码方法及装置 |
CN105245777A (zh) * | 2015-09-28 | 2016-01-13 | 努比亚技术有限公司 | 生成视频图片的方法及装置 |
CN105187911A (zh) * | 2015-09-28 | 2015-12-23 | 努比亚技术有限公司 | 一种视频图片显示方法、装置及一种图片显示方法 |
CN106791361A (zh) * | 2016-11-22 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 基于压感触控屏幕的动态照片显示方法及*** |
CN106686298A (zh) * | 2016-11-29 | 2017-05-17 | 努比亚技术有限公司 | 拍摄后处理方法、拍摄后处理装置及移动终端 |
CN107644056A (zh) * | 2017-08-04 | 2018-01-30 | 武汉烽火众智数字技术有限责任公司 | 一种文件存储方法、装置及*** |
CN107742296A (zh) * | 2017-09-11 | 2018-02-27 | 广东欧珀移动通信有限公司 | 动态图像生成方法和电子装置 |
CN109587196A (zh) * | 2017-09-29 | 2019-04-05 | 南京云照乐摄影有限公司 | 一种快速影像处理与方便上传下载的管理*** |
CN109361880A (zh) * | 2018-11-30 | 2019-02-19 | 三星电子(中国)研发中心 | 一种展示静态图片对应的动态图片或视频的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN110248116A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110248116B (zh) | 图片处理方法、装置、计算机设备及存储介质 | |
US8271544B2 (en) | Data file having more than one mode of operation | |
USRE48430E1 (en) | Two-dimensional code processing method and terminal | |
CN101193075B (zh) | 管理博客信息的方法和设备 | |
US20040148453A1 (en) | Data file storage device with automatic filename creation function, data file storage program and data file storage method | |
JP5371489B2 (ja) | 画像管理装置およびその制御方法、ならびに、プログラムおよび記憶媒体 | |
KR20050083715A (ko) | 텍스트 자료를 갖는 디지털 화상을 전송하는 방법 및 장치 | |
US9530453B2 (en) | Apparatus, method, and computer-readable recording medium for creating and reproducing live picture file | |
JP2002204381A (ja) | デジタルカメラ装置 | |
KR100828479B1 (ko) | 전자기기에서 이미지 파일에 추가 정보 삽입 장치 및 방법 | |
CN111209727A (zh) | 一种图片处理的方法及装置、电子设备、存储介质 | |
US20070043792A1 (en) | Image processing system | |
US20120251081A1 (en) | Image editing device, image editing method, and program | |
KR20040042612A (ko) | MPV(MultiPhotoVideo) 환경하에서자산이 위치하는 경로와 파일 이름을 나타내는 라스트유알엘 복구 방법 | |
JP6145748B2 (ja) | 映像再生装置および映像記録装置 | |
US7610554B2 (en) | Template-based multimedia capturing | |
US20140072223A1 (en) | Embedding Media Content Within Image Files And Presenting Embedded Media In Conjunction With An Associated Image | |
US10972746B2 (en) | Method of combining image files and other files | |
CN101482863A (zh) | 兴趣点信息存储方法 | |
CN116088829A (zh) | 数据处理方法、装置、存储介质及设备 | |
CN105893012A (zh) | 用于在安卓***中生成视频截图的方法和装置 | |
CN107851448B (zh) | 对数据进行管理 | |
JP2010537493A (ja) | スキャンされたプリントから得られる補助情報の記憶および呈示 | |
KR20150106472A (ko) | 컨텐츠 제공 방법 및 장치 | |
CN117692707A (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 |