CN108737894A - 一种由图片合成视频的方法 - Google Patents

一种由图片合成视频的方法 Download PDF

Info

Publication number
CN108737894A
CN108737894A CN201810572222.9A CN201810572222A CN108737894A CN 108737894 A CN108737894 A CN 108737894A CN 201810572222 A CN201810572222 A CN 201810572222A CN 108737894 A CN108737894 A CN 108737894A
Authority
CN
China
Prior art keywords
picture
video
duration
generated
avassetwriterinput
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.)
Pending
Application number
CN201810572222.9A
Other languages
English (en)
Inventor
郭艳杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuwo Technology Co Ltd
Original Assignee
Beijing Kuwo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kuwo Technology Co Ltd filed Critical Beijing Kuwo Technology Co Ltd
Priority to CN201810572222.9A priority Critical patent/CN108737894A/zh
Publication of CN108737894A publication Critical patent/CN108737894A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种由图片合成视频的方法,包括如下步骤:图片预处理,获取图片持续时间和尺寸信息,视频数据准备,具体包括:生成AVAssetWriter,生成AVAssetWriterInput,当AVAssetWriterInput可接受图片数据时,在未达到总帧数前,继续获取当前帧图片,生成图片像素缓冲区PixelBuffer,如已达到总帧数,则生成视频,生成像素缓冲适配器PixelBufferAdaptor,添加PixelBuffer到适配器并设置显示时间,将WriterInput添加到Writer,开始写入startWriting。本发明,算法统一,流程清晰,兼容性好,可快捷的将GIF图片转换成所需视频,输出格式统一,易于后期调整,提升用户体验,提高开发App的效率。

Description

一种由图片合成视频的方法
技术领域
本发明涉及图像(图片)处理及视频制作技术领域,具体说是一种由图片合成视频的方法。所述图片尤指GIF图片。
背景技术
视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。
网络技术的发达也促使视频的纪录片段以串流媒体的形式存在于因特网之上并可被电脑接收与播放。
考虑到网络传输的带宽优先,不少在线视频实际上是GIF图片(指动画GIF而非静态GIF),GIF(Graphics Interchange Format)的原义是“图像互换格式”,是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。GIF格式可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。
其实GIF是将多幅图像保存为一个图像文件,从而形成动画,最常见的就是通过一帧帧的动画串联起来的搞笑GIF图,所以归根到底GIF仍然是图片文件格式。
但GIF图片只能显示256色,和jpg格式一样,因此,在网络传输的带宽不断提高的今天,有必要将GIF图片转换成更清晰、更利于传输的视频格式,以满意用户对视频清晰度的高要求。
现有的第三方转换算法,大都涉及版权,使用时需要支付高昂的费用,长期使用不利于成本的合理控制,且第三方转换算法各不相同,后期对视频的维护、解码等存在一些限制,不利于App使用感受的提升。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种由图片合成视频的方法,算法统一,流程清晰,兼容性好,可快捷的将GIF图片转换成所需视频,输出格式统一,易于后期调整,提升用户体验,提高开发App的效率。
为达到以上目的,本发明采取的技术方案是:
一种由图片合成视频的方法,其特征在于,包括如下步骤:
图片预处理,获取图片持续时间和尺寸信息,
视频数据准备,具体包括:
生成AVAssetWriter,用于将图像和音频写成一个完整的视频文件,
生成AVAssetWriterInput,用于接收数据,且被配置为可以处理指定的媒体类型,
当AVAssetWriterInput可接受图片数据时,在未达到总帧数前,继续获取当前帧图片,生成图片像素缓冲区PixelBuffer,如已达到总帧数,则生成视频,
生成像素缓冲适配器PixelBufferAdaptor,添加PixelBuffer到适配器并设置显示时间,
将WriterInput添加到Writer,
开始写入startWriting。
在上述技术方案的基础上,在图片预处理时,进一步生成UIImage图片对象,对图片尺寸和视频尺寸进行对比,并对超过视频尺寸的图片进行按比例缩放处理,
所述图片尺寸指图片宽或高。
在上述技术方案的基础上,在图片预处理时,具体步骤如下:
通过ALAssetRepresentation类获取GIF数据,
所述ALAssetRepresentation类,代表相册中每个资源文件的详细信息,可以通过它获取资源的大小,名字,路径等详细信息,与之相关联的为ALAsset类,代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,
生成CGImageSourceRef,用于通过CGImageSourceRef读取图像数据,
获取GIF内图片总数CGImageSourceGetCount,
遍历获取单张图片信息CGImageSourceCreateImageAtIndex,
最后获取图片持续时间和尺寸信息。
在上述技术方案的基础上,生成AVAssetWriterInput时,为写入文件的每个track创建一个AVAssetWriterInput对象。
在上述技术方案的基础上,在视频数据准备时,通过以下公式取最大值以设置单图片时长,
MAX(duration, 1.0/kVideoFPS),
duration为单图片时长,
kVideoFPS为视频帧率。
在上述技术方案的基础上,在视频制作时,根据以下公式计算总帧数:
kVideoFPS * duration,
根据以下公式计算单图片帧数:
imageDuration*kVideoFPS。
本发明所述的由图片合成视频的方法,算法统一,流程清晰,兼容性好,可快捷的将GIF图片转换成所需视频,输出格式统一,易于后期调整,提升用户体验,提高开发App的效率。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的由图片合成视频的方法,包括如下步骤:
图片预处理,获取图片持续时间和尺寸信息,
视频数据准备,具体包括:
生成AVAssetWriter,用于将图像和音频写成一个完整的视频文件,
生成AVAssetWriterInput,用于接收数据,且被配置为可以处理指定的媒体类型,
当AVAssetWriterInput可接受图片数据时,在未达到总帧数前,继续获取当前帧图片,生成图片像素缓冲区PixelBuffer,如已达到总帧数,则生成视频,
生成像素缓冲适配器PixelBufferAdaptor,添加PixelBuffer到适配器并设置显示时间,
将WriterInput添加到Writer,
开始写入startWriting。
在上述技术方案的基础上,在图片预处理时,进一步生成UIImage图片对象,对图片尺寸和视频尺寸进行对比,并对超过视频尺寸的图片进行按比例缩放处理,
所述图片尺寸指图片宽或高。
在上述技术方案的基础上,在图片预处理时,具体步骤如下:
通过ALAssetRepresentation类获取GIF数据,
所述ALAssetRepresentation类,代表相册中每个资源文件的详细信息,可以通过它获取资源的大小,名字,路径等详细信息,与之相关联的为ALAsset类,代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,
生成CGImageSourceRef,用于通过CGImageSourceRef读取图像数据,
获取GIF内图片总数CGImageSourceGetCount,
遍历获取单张图片信息CGImageSourceCreateImageAtIndex,
最后获取图片持续时间和尺寸信息。
在上述技术方案的基础上,生成AVAssetWriterInput时,为写入文件的每个track创建一个AVAssetWriterInput对象。
在上述技术方案的基础上,在视频数据准备时,通过以下公式取最大值以设置单图片时长,
MAX(duration, 1.0/kVideoFPS),
duration为单图片时长,
kVideoFPS为视频帧率。
在上述技术方案的基础上,在视频制作时,根据以下公式计算总帧数:
kVideoFPS * duration,
根据以下公式计算单图片帧数:
imageDuration*kVideoFPS。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (6)

1.一种由图片合成视频的方法,其特征在于,包括如下步骤:
图片预处理,获取图片持续时间和尺寸信息,
视频数据准备,具体包括:
生成AVAssetWriter,用于将图像和音频写成一个完整的视频文件,
生成AVAssetWriterInput,用于接收数据,且被配置为可以处理指定的媒体类型,
当AVAssetWriterInput可接受图片数据时,在未达到总帧数前,继续获取当前帧图片,生成图片像素缓冲区PixelBuffer,如已达到总帧数,则生成视频,
生成像素缓冲适配器PixelBufferAdaptor,添加PixelBuffer到适配器并设置显示时间,
将WriterInput添加到Writer,
开始写入startWriting。
2.如权利要求1所述的由图片合成视频的方法,其特征在于:在图片预处理时,进一步生成UIImage图片对象,对图片尺寸和视频尺寸进行对比,并对超过视频尺寸的图片进行按比例缩放处理,
所述图片尺寸指图片宽或高。
3.如权利要求1所述的由图片合成视频的方法,其特征在于:在图片预处理时,具体步骤如下:
通过ALAssetRepresentation类获取GIF数据,
所述ALAssetRepresentation类,代表相册中每个资源文件的详细信息,可以通过它获取资源的大小,名字,路径等详细信息,与之相关联的为ALAsset类,代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,
生成CGImageSourceRef,用于通过CGImageSourceRef读取图像数据,
获取GIF内图片总数CGImageSourceGetCount,
遍历获取单张图片信息CGImageSourceCreateImageAtIndex,
最后获取图片持续时间和尺寸信息。
4.如权利要求1所述的由图片合成视频的方法,其特征在于:生成AVAssetWriterInput时,为写入文件的每个track创建一个AVAssetWriterInput对象。
5.如权利要求1所述的由图片合成视频的方法,其特征在于:在视频数据准备时,通过以下公式取最大值以设置单图片时长,
MAX(duration, 1.0/kVideoFPS),
duration为单图片时长,
kVideoFPS为视频帧率。
6.如权利要求5所述的由图片合成视频的方法,其特征在于:在视频制作时,根据以下公式计算总帧数:
kVideoFPS * duration,
根据以下公式计算单图片帧数:
imageDuration*kVideoFPS。
CN201810572222.9A 2018-06-06 2018-06-06 一种由图片合成视频的方法 Pending CN108737894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810572222.9A CN108737894A (zh) 2018-06-06 2018-06-06 一种由图片合成视频的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810572222.9A CN108737894A (zh) 2018-06-06 2018-06-06 一种由图片合成视频的方法

Publications (1)

Publication Number Publication Date
CN108737894A true CN108737894A (zh) 2018-11-02

Family

ID=63932089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810572222.9A Pending CN108737894A (zh) 2018-06-06 2018-06-06 一种由图片合成视频的方法

Country Status (1)

Country Link
CN (1) CN108737894A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140094304A1 (en) * 2012-09-28 2014-04-03 Red Robot Labs, Inc. Apparatus and Method for In-Game Video Capture
CN104540000A (zh) * 2014-12-04 2015-04-22 广东欧珀移动通信有限公司 一种动态缩略图的生成方法及终端
CN105072354A (zh) * 2015-07-17 2015-11-18 Tcl集团股份有限公司 一种利用多张照片合成视频流的方法及系统
CN106572229A (zh) * 2015-10-09 2017-04-19 中兴通讯股份有限公司 一种保存录音、显示和播放图片形式录音的方法、终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140094304A1 (en) * 2012-09-28 2014-04-03 Red Robot Labs, Inc. Apparatus and Method for In-Game Video Capture
CN104540000A (zh) * 2014-12-04 2015-04-22 广东欧珀移动通信有限公司 一种动态缩略图的生成方法及终端
CN105072354A (zh) * 2015-07-17 2015-11-18 Tcl集团股份有限公司 一种利用多张照片合成视频流的方法及系统
CN106572229A (zh) * 2015-10-09 2017-04-19 中兴通讯股份有限公司 一种保存录音、显示和播放图片形式录音的方法、终端

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CODING-LOVER: "ios ALAsset和ALAssetRepresentation详解", 《HTTP://BLOG.CSDN.NET/COSLAY/ARTICLE/DETAILS/40827765》 *
JEMMYCHEN: "通过CGImageSourceRef播放GIF图", 《HTTPS://WWW.JIANSHU.COM/P/16860958B63D》 *
LANSEKJ: "iOS 简单实现gif动画播放", 《HTTPS://BLOG.CSDN.NET/LANSEKJ/ARTICLE/DETAILS/7836175》 *
比沉默寡言话多: "AVFoundation-根据图像生成视频", 《HTTPS://WWW.JIANSHU.COM/P/3B8A9A62794F》 *
简书,REALLYCHAO: "视频合成中CMTime的理解,以及利用CMTime实现过渡效果", 《HTTP://WWW.JIANSHU.COM/P/BE3282FCEBE1》 *
简书,WWWBBAT: "iOS相册中的GIF图片的读取与保存", 《HTTPS://WWW.JIANSHU.COM/P/C63343516F32》 *
简书,爱德华炼金术师: "IOS 关于GIF图片那点事", 《HTTPS://WWW.JIANSHU.COM/P/5C870860C187》 *
腾讯云,且行且珍惜_IOS: "iOS 获取gif图片循环次数和时长", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1133103》 *

Similar Documents

Publication Publication Date Title
CN108010037B (zh) 图像处理方法、装置及存储介质
US8745657B2 (en) Inserting interactive objects into video content
US10575067B2 (en) Context based augmented advertisement
CN105376547A (zh) 一种基于3d虚拟合成技术的微课录制系统及方法
JP2016528800A5 (zh)
JP2000324437A (ja) 映像データベースシステム
TW200915217A (en) Method for detecting and replaying an image region of computer picture
CN104396234B (zh) 视频传输和重构
JP2006148875A (ja) ステップ画像を用いた画像ベースビデオの生成
WO2022218042A1 (zh) 视频处理方法、装置、视频播放器、电子设备及可读介质
US9165605B1 (en) System and method for personal floating video
CN108737894A (zh) 一种由图片合成视频的方法
TWI304545B (en) Transformation method and system of computer system for transforming a series of video signals
WO2021213017A1 (zh) 一种视频叠加方法、装置及系统
CN114938461A (zh) 视频处理方法、装置、设备及可读存储介质
CN108737895A (zh) 一种静态图片合成防伪视频的方法
CN106210798A (zh) 基于视频广告的观看人数统计方法及系统
CN108777814A (zh) 一种静态图片合成视频的方法
Hussain MULTIMEDIA COMPUTING
CN114554232B (zh) 基于裸眼3d的混合现实直播方法及系统
CN106254905A (zh) 观看时间的自动统计方法及系统
CN2600991Y (zh) 公共场所网络电子视屏
WO2024032331A9 (zh) 图像处理方法及装置、电子设备、存储介质
WO2018023342A1 (zh) 观看次数在视频广告中的统计方法及系统
WO2022134962A1 (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181102

RJ01 Rejection of invention patent application after publication