基于B/S架构的视频内容转换为gif的方法及系统转让专利

申请号 : CN201911227970.4

文献号 : CN110839181A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴坚强喻佳林

申请人 : 湖南快乐阳光互动娱乐传媒有限公司

摘要 :

本申请提供了一种基于B/S架构的视频内容转换为gif的方法及系统,方法包括:浏览器播放视频,并获取用户针对视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率;浏览器按照裁剪区域的选择指令,确定裁剪区域的坐标,并将裁剪区域的坐标、视频截取时间点及视频截取帧率发送至服务器;服务器按照视频截取时间点及视频截取帧率,从视频中截取视频帧,并按照裁剪区域的坐标,将截取的视频帧转换为大小为裁剪区域的gif。在本申请中,通过以上方式可以高效的将视频转换为gif。

权利要求 :

1.一种基于B/S架构的视频内容转换为gif的方法,其特征在于,包括:浏览器播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率;

所述浏览器按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器;

所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。

2.根据权利要求1所述的方法,其特征在于,所述按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif,包括:按照设定gif帧率将截取的视频帧转换为gif,并按照所述裁剪区域的坐标,将所述gif裁剪为大小为所述裁剪区域的gif。

3.根据权利要求1所述的方法,其特征在于,所述按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif,包括:按照所述裁剪区域的坐标,将截取的视频帧裁剪为大小为所述裁剪区域的视频帧,并按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述服务器将所述gif上传至图片服务器,并返回所述gif在所述图片服务器中的url地址及状态至所述浏览器。

5.根据权利要求2所述的方法,其特征在于,所述按照设定gif帧率将截取的视频帧转换为gif,包括:利用ffmpeg工具按照设定gif帧率将截取的视频帧转换为gif。

6.根据权利要求3所述的方法,其特征在于,所述按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif,包括:利用ffmpeg工具按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。

7.一种基于B/S架构的视频内容转换为gif的系统,其特征在于,包括:浏览器,用于播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率,及按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器;

所述服务器,用于按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。

8.根据权利要求7所述的系统,其特征在于,所述服务器,具体用于:按照设定gif帧率将截取的视频帧转换为gif,并按照所述裁剪区域的坐标,将所述gif裁剪为大小为所述裁剪区域的gif。

9.根据权利要求7所述的系统,其特征在于,所述服务器,具体用于:按照所述裁剪区域的坐标,将截取的视频帧裁剪为大小为所述裁剪区域的视频帧,并按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。

10.根据权利要求7所述的系统,其特征在于,所述服务器,还用于:将所述gif上传至图片服务器,并返回所述gif在所述图片服务器中的url地址及状态至所述浏览器。

说明书 :

基于B/S架构的视频内容转换为gif的方法及系统

技术领域

[0001] 本申请涉及多媒体技术领域,特别涉及一种基于B/S架构的视频内容转换为gif的方法及系统。

背景技术

[0002] GIF(Graphics Interchange Format)可译为图形交换格式,用于以超文本标志语言(Hypertext Markup Language)方式显示索引彩色图像,在因特网和其他在线服务系统上得到广泛应用,如,在视频网站上常采用gif动图突出表现视频内容。
[0003] 但是,如何高效将视频内容制作成gif,成为问题。

发明内容

[0004] 为解决上述技术问题,本申请实施例提供一种基于B/S架构的视频内容转换为gif的方法及系统,以达到高效的将视频转换为gif的目的,技术方案如下:
[0005] 一种基于B/S架构的视频内容转换为gif的方法,包括:
[0006] 浏览器播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率;
[0007] 所述浏览器按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器;
[0008] 所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。
[0009] 优选的,所述按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif,包括:
[0010] 按照设定gif帧率将截取的视频帧转换为gif,并按照所述裁剪区域的坐标,将所述gif裁剪为大小为所述裁剪区域的gif。
[0011] 优选的,所述按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif,包括:
[0012] 按照所述裁剪区域的坐标,将截取的视频帧裁剪为大小为所述裁剪区域的视频帧,并按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0013] 优选的,所述方法还包括:
[0014] 所述服务器将所述gif上传至图片服务器,并返回所述gif在所述图片服务器中的url地址及状态至所述浏览器。
[0015] 优选的,所述按照设定gif帧率将截取的视频帧转换为gif,包括:
[0016] 利用ffmpeg工具按照设定gif帧率将截取的视频帧转换为gif。
[0017] 优选的,所述按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif,包括:
[0018] 利用ffmpeg工具按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0019] 一种基于B/S架构的视频内容转换为gif的系统,包括:
[0020] 浏览器,用于播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率,及按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器;
[0021] 所述服务器,用于按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。
[0022] 优选的,所述服务器,具体用于:
[0023] 按照设定gif帧率将截取的视频帧转换为gif,并按照所述裁剪区域的坐标,将所述gif裁剪为大小为所述裁剪区域的gif。
[0024] 优选的,所述服务器,具体用于:
[0025] 按照所述裁剪区域的坐标,将截取的视频帧裁剪为大小为所述裁剪区域的视频帧,并按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0026] 优选的,所述服务器,还用于:
[0027] 将所述gif上传至图片服务器,并返回所述gif在所述图片服务器中的url地址及状态至所述浏览器。
[0028] 优选的,所述服务器,具体用于:
[0029] 利用ffmpeg工具按照设定gif帧率将截取的视频帧转换为gif。
[0030] 优选的,所述服务器,具体用于:
[0031] 利用ffmpeg工具按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0032] 与现有技术相比,本申请的有益效果为:
[0033] 在本申请中,通过浏览器和服务器之间的交互,实现将视频转换为gif,整个过程不需要其他软件的参与,交互过程简单,效率较高。

附图说明

[0034] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1是本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例1的流程图;
[0036] 图2是本申请提供的一种浏览器的播放视频界面的示意图;
[0037] 图3是本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例2的流程图;
[0038] 图4是本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例3的流程图;
[0039] 图5是本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例4的流程图;
[0040] 图6是本申请提供的一种基于B/S架构的视频内容转换为gif的系统的逻辑结构示意图。

具体实施方式

[0041] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042] 本申请实施例公开了一种基于B/S架构的视频内容转换为gif的方法,包括:浏览器播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率;所述浏览器按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器;所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。在本申请中,可以高效的将视频转换为gif。
[0043] 接下来对本申请实施例公开的基于B/S架构的视频内容转换为gif的方法进行介绍,如图1所示的,为本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例1的流程图,可以包括以下步骤:
[0044] 步骤S11、浏览器播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率。
[0045] 本实施例中,由浏览器播放视频,用户可以在浏览器的播放视频界面选择裁剪区域,浏览器则会获取用户针对所述视频输入的裁剪区域的选择指令。
[0046] 用户在浏览器的播放视频界面选择裁剪区域的实现方式可以为:利用鼠标在播放视频界面上框选区域,框选出的区域作为裁剪区域。如图2所示,视频预览中虚线框选中的区域为裁剪区域。
[0047] 用户也可以在浏览器的播放视频界面输入视频截取时间点及视频截取帧率。视频截取时间点可以包括:起始时间点和结束时间点。起始时间点和结束时间点之间的视频为需要截取的视频。视频截取帧率可以理解为:每秒需要截取的视频帧的数量。
[0048] 步骤S12、所述浏览器按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器。
[0049] 用户在浏览器的播放视频界面选择裁剪区域后,浏览器可以确定裁剪区域的坐标,如,浏览器可以确定如图2所示中的裁剪区域的左上角、右上角、左下角和右下角四个点的坐标。
[0050] 当然,用户也可以在浏览器的播放视频界面输入gif的分辨率。
[0051] 步骤S13、所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。
[0052] 所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧的过程,可以包括:所述服务器按照所述视频截取时间点,从所述视频中截取视频,作为目标视频;
[0053] 按照所述视频截取帧率从所述目标视频中截取视频帧。
[0054] 在本申请中,通过浏览器和服务器之间的交互,实现将视频转换为gif,整个过程不需要其他软件的参与,交互过程简单,效率较高。
[0055] 并且,本申请提供的支持跨平台,可在Windows/Mac/Linux系统上通过web浏览器实施;以及,在客户端无需安装任何插件或软件,绿色安全。
[0056] 作为本申请另一可选实施例,参照图3,为本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例2的流程图,本实施例主要是对上述实施例1描述的基于B/S架构的视频内容转换为gif的方法的细化方案,如图3所示,该方法可以包括但并不局限于以下步骤:
[0057] 步骤S21、浏览器播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率。
[0058] 步骤S22、所述浏览器按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器。
[0059] 步骤S21-S22的详细过程可以参见实施例1中步骤S11-S12的相关介绍,在此不再赘述。
[0060] 步骤S23、所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照设定gif帧率将截取的视频帧转换为gif,并按照所述裁剪区域的坐标,将所述gif裁剪为大小为所述裁剪区域的gif。
[0061] 所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧的详细过程,可以参见实施例1中步骤S13中所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧的相关介绍,在此不再赘述。
[0062] 设定gif帧率可以理解为:gif中相邻两幅图片之间的时间间隔。
[0063] 按照设定gif帧率将截取的视频帧转换为gif,可以包括:
[0064] 利用ffmpeg工具按照设定gif帧率将截取的视频帧转换为gif。ffmpeg工具可以理解为:以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
[0065] 按照设定gif帧率将截取的视频帧转换为gif,并按照所述裁剪区域的坐标,将所述gif裁剪为大小为所述裁剪区域的gif为实施例1中步骤S13中按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif的一种具体实施方式。
[0066] 作为本申请另一可选实施例,参照图4,为本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例3的流程图,本实施例主要是对上述实施例1描述的基于B/S架构的视频内容转换为gif的方法的细化方案,如图4所示,该方法可以包括但并不局限于以下步骤:
[0067] 步骤S31、浏览器播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率。
[0068] 步骤S32、所述浏览器按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器。
[0069] 步骤S31-S32的详细过程可以参见实施例1中步骤S11-S12的相关介绍,在此不再赘述。
[0070] 步骤S33、所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧裁剪为大小为所述裁剪区域的视频帧,并按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0071] 所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧的详细过程,可以参见实施例1中步骤S13中所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧的相关介绍,在此不再赘述。
[0072] 本实施例中,按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif,可以包括:
[0073] 利用ffmpeg工具按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0074] 按照所述裁剪区域的坐标,将截取的视频帧裁剪为大小为所述裁剪区域的视频帧,并按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif为实施例1中步骤S13中按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif的一种具体实施方式。
[0075] 作为本申请另一可选实施例,参照图5,为本申请提供的一种基于B/S架构的视频内容转换为gif的方法实施例4的流程图,本实施例主要是对上述实施例1描述的基于B/S架构的视频内容转换为gif的方法的扩展方案,如图5所示,该方法可以包括但并不局限于以下步骤:
[0076] 步骤S41、浏览器播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率。
[0077] 步骤S42、所述浏览器按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器。
[0078] 步骤S43、所述服务器按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。
[0079] 步骤S41-S43的详细过程可以参见实施例1中步骤S11-S13的相关介绍,在此不再赘述。
[0080] 步骤S44、所述服务器将所述gif上传至图片服务器,并返回所述gif在所述图片服务器中的url地址及状态至所述浏览器。
[0081] 所述服务器将所述gif上传至图片服务器,并返回所述gif在所述图片服务器中的url地址及状态至所述浏览器,以供浏览器所属客户端访问所述gif。
[0082] 接下来对本申请提供的基于B/S架构的视频内容转换为gif的系统进行介绍,下文介绍的基于B/S架构的视频内容转换为gif的系统与上文介绍的基于B/S架构的视频内容转换为gif的方法可相互对应参照。
[0083] 请参见图6,基于B/S架构的视频内容转换为gif的系统包括:浏览器11和服务器12。
[0084] 浏览器11,用于播放视频,并获取用户针对所述视频输入的裁剪区域的选择指令、视频截取时间点及视频截取帧率,及按照所述裁剪区域的选择指令,确定所述裁剪区域的坐标,并将所述裁剪区域的坐标、所述视频截取时间点及所述视频截取帧率发送至服务器12;
[0085] 所述服务器12,用于按照所述视频截取时间点及所述视频截取帧率,从所述视频中截取视频帧,并按照所述裁剪区域的坐标,将截取的视频帧转换为大小为所述裁剪区域的gif。
[0086] 本实施例中,所述服务器12,具体可以用于:
[0087] 按照设定gif帧率将截取的视频帧转换为gif,并按照所述裁剪区域的坐标,将所述gif裁剪为大小为所述裁剪区域的gif。
[0088] 本实施例中,所述服务器12,具体可以用于:
[0089] 按照所述裁剪区域的坐标,将截取的视频帧裁剪为大小为所述裁剪区域的视频帧,并按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0090] 本实施例中,所述服务器12,还可以用于:
[0091] 将所述gif上传至图片服务器,并返回所述gif在所述图片服务器中的url地址及状态至所述浏览器。
[0092] 本实施例中,所述服务器12,具体可以用于:
[0093] 利用ffmpeg工具按照设定gif帧率将截取的视频帧转换为gif。
[0094] 本实施例中,所述服务器12,具体可以用于:
[0095] 利用ffmpeg工具按照设定gif帧率将所述大小为所述裁剪区域的视频帧转换为gif。
[0096] 需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0097] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0098] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0099] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0100] 以上对本申请所提供的一种基于B/S架构的视频内容转换为gif的方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。