CN106803992A - 视频剪辑方法及装置 - Google Patents

视频剪辑方法及装置 Download PDF

Info

Publication number
CN106803992A
CN106803992A CN201710079305.XA CN201710079305A CN106803992A CN 106803992 A CN106803992 A CN 106803992A CN 201710079305 A CN201710079305 A CN 201710079305A CN 106803992 A CN106803992 A CN 106803992A
Authority
CN
China
Prior art keywords
video
editing
frame
file
gop file
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.)
Granted
Application number
CN201710079305.XA
Other languages
English (en)
Other versions
CN106803992B (zh
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 time Ltd.
Original Assignee
Beijing Time Ltd By Share 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 Time Ltd By Share Ltd filed Critical Beijing Time Ltd By Share Ltd
Priority to CN201710079305.XA priority Critical patent/CN106803992B/zh
Publication of CN106803992A publication Critical patent/CN106803992A/zh
Application granted granted Critical
Publication of CN106803992B publication Critical patent/CN106803992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • H04N21/440218Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种视频剪辑方法及装置。该方法包括:接收包含剪辑起点和剪辑终点的视频剪辑请求;在待剪辑视频对应的多个画面组GOP文件中,确定剪辑起点与剪辑终点间的备选GOP文件;判断剪辑起点对应的起始视频帧是否为关键帧;若否,则在备选GOP文件中确定剪辑起点所在的起始GOP文件,并对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;将备选GOP文件中的起始GOP文件替换为编码后的GOP文件,得到剪辑视频码流。本发明实施例对于剪辑起点和剪辑终点没有限制,可以是待剪辑视频上的任意时间点,无需选择特定的时间点或视频关键帧,能够实现灵活、快速地进行视频剪辑的目的。

Description

视频剪辑方法及装置
技术领域
本发明涉及数据处理技术领域,特别是一种视频剪辑方法及装置。
背景技术
随着多媒体编码、计算机多媒体处理和网络传输技术的飞速发展,互联网正逐渐成为一个巨大的视频仓库,人们越来越多地青睐于通过互联网实时查询、欣赏丰富多彩的视频信息。此外,人们也经常通过其他能够存储和播放视频的设备(如智能手机、平板电脑、车载设备等)欣赏相关视频。
在欣赏互联网视频的同时,人们也越来越多地开始搜索与自己的学习、工作、兴趣等相关的视频资源,并将相关资源存储到本地设备保存下来。但是,用户保存的某个视频中,往往只有某一部分或几个片段是其所关心的,而其余部分对用户而言往往是无用的。
因此,用户需要从已有的视频中截取需要的片段,即需要对视频进行剪辑处理,分离出用户需要的视频片段。然而,目前的视频剪辑工作在很大程度上还依赖于人工处理,需要剪辑人员手动操作选择视频片段进行剪切,显然工作量大且很繁琐。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频剪辑方法及相应的装置。
依据本发明的一方面,提供了一种视频剪辑方法,包括:
接收包含剪辑起点和剪辑终点的视频剪辑请求;
在待剪辑视频对应的多个画面组GOP文件中,确定所述剪辑起点与所述剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧;
判断所述剪辑起点对应的起始视频帧是否为关键帧;
若否,则在所述备选GOP文件中确定所述剪辑起点所在的起始GOP文件,并对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;
将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件,得到剪辑视频码流。
可选地,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,包括:
对所述起始GOP文件进行解码得到图像文件;
基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码。
可选地,基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,包括:
将解码得到的所述图像文件中所述起始视频帧的图像编码成关键帧;
基于编码成的所述关键帧,对所述起始视频帧之后的所有视频帧的图像进行编码。
可选地,将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件之后,所述方法还包括:
在所述备选GOP文件中确定所述剪辑终点所在的结束GOP文件;
判断所述剪辑终点对应的结束视频帧是否为关键帧;
若是,则将所述备选GOP文件中的所述结束GOP文件替换为所述结束视频帧,得到所述剪辑视频码流。
可选地,在判断出所述剪辑终点对应的结束视频帧不是关键帧时,所述方法还包括:
对所述结束GOP文件中所述结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件;
将所述备选GOP文件中的所述结束GOP文件替换为所述处理后的GOP文件,得到所述剪辑视频码流。
可选地,通过以下方式生成所述视频剪辑请求,包括:
进入待剪辑视频的播放器界面;
获取用户在所述播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含所述剪辑起点和剪辑终点的视频剪辑请求。
可选地,所述进入待剪辑视频的播放器界面,包括:
获取用户在剪辑操作页面的输入框中输入的所述待剪辑视频的播放地址;
在检测到用户点击所述剪辑操作页面中的剪辑按钮时,根据所述播放地址从所述剪辑操作页面跳转到所述待剪辑视频的播放器界面。
可选地,在得到剪辑视频码流之后,所述方法还包括:
获取转码信息,根据所述转码信息对所述剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。
可选地,根据所述转码信息对所述剪辑视频码流进行转码处理,包括:
将所述转码信息以及所述剪辑视频码流分配给至少一个转码服务器,由所述至少一个转码服务器根据所述转码信息对所述剪辑视频码流进行转码处理。
可选地,在得到转码处理后的剪辑视频码流之后,所述方法还包括:
对所述转码处理后的剪辑视频码流进行封装,得到剪辑视频文件。
可选地,在判断出所述剪辑起点对应的起始视频帧为关键帧时,所述方法还包括:
将所述备选GOP文件中的所述起始GOP文件替换为所述起始视频帧,得到所述剪辑视频码流。
依据本发明的另一方面,还提供了一种视频剪辑装置,包括:
请求接收模块,适于接收包含剪辑起点和剪辑终点的视频剪辑请求;
确定模块,适于在待剪辑视频对应的多个画面组GOP文件中,确定所述剪辑起点与所述剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧;
判断模块,适于判断所述剪辑起点对应的起始视频帧是否为关键帧;
编码模块,适于若所述判断模块判断所述剪辑起点对应的起始视频帧不是关键帧,则在所述备选GOP文件中确定所述剪辑起点所在的起始GOP文件,并对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;
处理模块,适于将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件,得到剪辑视频码流。
可选地,所述编码模块还适于:
对所述起始GOP文件进行解码得到图像文件;
基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码。
可选地,所述编码模块还适于:
将解码得到的所述图像文件中所述起始视频帧的图像编码成关键帧;
基于编码成的所述关键帧,对所述起始视频帧之后的所有视频帧的图像进行编码。
可选地,所述处理模块还适于:
在将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件之后,在所述备选GOP文件中确定所述剪辑终点所在的结束GOP文件;
判断所述剪辑终点对应的结束视频帧是否为关键帧;
若是,则将所述备选GOP文件中的所述结束GOP文件替换为所述结束视频帧,得到所述剪辑视频码流。
可选地,所述处理模块还适于:
在判断出所述剪辑终点对应的结束视频帧不是关键帧时,对所述结束GOP文件中所述结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件;
将所述备选GOP文件中的所述结束GOP文件替换为所述处理后的GOP文件,得到所述剪辑视频码流。
可选地,所述装置还包括:
请求生成模块,适于进入待剪辑视频的播放器界面;获取用户在所述播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含所述剪辑起点和剪辑终点的视频剪辑请求。
可选地,所述请求生成模块还适于:
获取用户在剪辑操作页面的输入框中输入的所述待剪辑视频的播放地址;
在检测到用户点击所述剪辑操作页面中的剪辑按钮时,根据所述播放地址从所述剪辑操作页面跳转到所述待剪辑视频的播放器界面。
可选地,所述装置还包括:
转码模块,适于在所述处理模块得到剪辑视频码流之后,获取转码信息,根据所述转码信息对所述剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。
可选地,所述转码模块还适于:
将所述转码信息以及所述剪辑视频码流分配给至少一个转码服务器,由所述至少一个转码服务器根据所述转码信息对所述剪辑视频码流进行转码处理。
可选地,所述装置还包括:
封装模块,适于在所述转码模块得到转码处理后的剪辑视频码流之后,对所述转码处理后的剪辑视频码流进行封装,得到剪辑视频文件。
可选地,所述处理模块还适于:
在所述判断模块判断出所述剪辑起点对应的起始视频帧为关键帧时,将所述备选GOP文件中的所述起始GOP文件替换为所述起始视频帧,得到所述剪辑视频码流。
在本发明实施例中,当接收到包含剪辑起点和剪辑终点的视频剪辑请求时,在待剪辑视频对应的多个GOP文件中,确定剪辑起点与剪辑终点间的备选GOP文件,这里的各个GOP文件包含多个视频帧,并且剪辑起点和剪辑终点可以是待剪辑视频上的任意时间点。进一步,判断剪辑起点对应的起始视频帧是否为关键帧,若判断出起始视频帧不是关键帧,则在备选GOP文件中确定剪辑起点所在的起始GOP文件,并对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;之后将备选GOP文件中的起始GOP文件替换为编码后的GOP文件,得到剪辑视频码流。由于编码后的GOP文件的起始帧为关键帧,这样就保证后续能够对剪辑视频码流进行正常解码并播放。由此可见,本发明实施例在进行视频剪辑时,对于剪辑起点和剪辑终点没有限制,可以是待剪辑视频上的任意时间点,无需人工手动操作去选择特定的时间点或视频关键帧,能够实现灵活、快速地进行视频剪辑的目的。并且,本发明实施例可以精确到剪辑起点对应的起始视频帧,从而实现高精度的视频剪辑。进一步地,本发明实施例只需要将备选GOP文件中的起始GOP文件替换为编码后的GOP文件就可以得到剪辑视频码流,对于备选GOP文件中的其他GOP文件无需进行解码和编码,只需要进行简单高效的拷贝操作就可以。由于视频的编码过程一般是有损的,这样就可以实现无损,保证了视频的质量;由于视频的解码编码过程是计算复杂的操作,而拷贝只需简单操作即可快速完成,这样保证了高效性,节省时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了一种由I、P、B三种帧组成的GOP的示意图;
图2示出了根据本发明一实施例的视频剪辑方法的流程图;
图3示出了根据本发明一实施例的剪辑起点和剪辑终点的示意图;
图4示出了根据本发明另一实施例的视频剪辑方法的流程图;
图5示出了根据本发明一实施例的剪辑视频码流的示意图;
图6示出了根据本发明一实施例的视频剪辑装置的结构示意图;以及
图7示出了根据本发明另一实施例的视频剪辑装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在介绍本发明实施例之前,首先介绍以下几个技术术语。
帧,是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头,一帧就是一副静止的画面,连续的帧就形成动画。
关键帧,指角色或者物体运动或变化中的关键动作所处的那一帧。关键帧与关键帧之间的动画可以由软件来创建,叫做过渡帧或者中间帧。
视频编码按照GOP(Group of Pictures,画面组)进行编码,一个GOP文件就是一组连续的画面(即帧),每一个GOP文件以关键帧开始,GOP之间是没有联系的。
在压缩编码中,将画面可以分为I、P、B三种帧,I是内部编码帧(即关键帧),P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,没有I帧,P帧和B帧就无法解码。图1示意了一种由I、P、B三种帧组成的GOP,多个GOP文件组成了视频帧序列或视频码流。
其中,I帧的特点为:
1)它是一个全帧压缩编码帧,它将全帧图像信息进行压缩编码及传输;
2)解码时仅用I帧的数据就可以重构完整图像;
3)I帧描述了图像背景和运动主体的详情;
4)I帧不需要参考其他画面而生成;
5)I帧是P帧和B帧的参考帧,其质量会直接影响到同组中以后各帧的质量;
6)I帧是画面组GOP的基础帧(第一帧),在一组中只有一个I帧;
7)I帧不需要考虑运动矢量;
8)I帧所占数据的信息量比较大。
P帧的预测与重构
P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而可以得到完整的P帧。
P帧的特点:
1)P帧是I帧后面相隔1或2帧的编码帧;
2)P帧采用运行补偿的方法传送它与前面的I帧或P帧的差值及运动矢量(预测误差);
3)解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;
4)P帧属于前向预测的帧间编码,它只参考前面最靠近它的I帧或P帧;
5)P帧可以是其后面的P帧的参考帧,也可以是其后面的B帧的参考帧;
6)由于P帧是参考帧,它可能造成解码错误的扩散;
7)由于是差值传送的,P帧的压缩比较高。
B帧的预测与重构
B帧以前面的I帧或P帧和后面的P帧为参考帧,找出B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量在两个参考帧中找出(算出)预测值并与差值求和,得到B帧“某点”的样值,从而可以得到完整的B帧。
B帧的特点:
1)B帧是由前面的I帧或P帧和后面的P帧来进行预测的;
2)B帧传送的是它与前面的I帧或P帧和后面的P帧之间的预测误差及运动矢量;
3)B帧是双向预测编码帧;
4)B帧压缩比最高,因为它只反映参考帧间运动主体的变化情况,预测比较准确;
5)B帧不是参考帧,不会造成解码错误的扩散。
解封装,从mp4、mkv或flv等文件解出视频码流叫做解封装,其相反的过程叫做封装,其中,mp4、mkv或flv这一类叫做封装容器,H263、H264、H265这一类叫做视频码流。
解码,从视频码流解出可以播放的视频图像数据叫做解码,其相反的过程叫做编码。
视频转码,是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。
上文提及,目前的视频剪辑工作在很大程度上还依赖于人工处理,需要剪辑人员手动操作选择视频片段进行剪切,显然工作量大且很繁琐。
为解决上述技术问题,本发明实施例提供了一种视频剪辑方法。图2示出了根据本发明一实施例的视频剪辑方法的流程图。如图2所示,该方法至少可以包括以下步骤S202至步骤S210。
步骤S202,接收包含剪辑起点和剪辑终点的视频剪辑请求。
步骤S204,在待剪辑视频对应的多个GOP文件中,确定剪辑起点与剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧。
步骤S206,判断剪辑起点对应的起始视频帧是否为关键帧,若否,则继续执行步骤S208。
步骤S208,在备选GOP文件中确定剪辑起点所在的起始GOP文件,并对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件。
步骤S210,将备选GOP文件中的起始GOP文件替换为编码后的GOP文件,得到剪辑视频码流。
在本发明实施例中,当接收到包含剪辑起点和剪辑终点的视频剪辑请求时,在待剪辑视频对应的多个GOP文件中,确定剪辑起点与剪辑终点间的备选GOP文件,这里的各个GOP文件包含多个视频帧,并且剪辑起点和剪辑终点可以是待剪辑视频上的任意时间点。进一步,判断剪辑起点对应的起始视频帧是否为关键帧,若判断出起始视频帧不是关键帧,则在备选GOP文件中确定剪辑起点所在的起始GOP文件,并对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;之后将备选GOP文件中的起始GOP文件替换为编码后的GOP文件,得到剪辑视频码流。由于编码后的GOP文件的起始帧为关键帧,这样就保证后续能够对剪辑视频码流进行正常解码并播放。由此可见,本发明实施例在进行视频剪辑时,对于剪辑起点和剪辑终点没有限制,可以是待剪辑视频上的任意时间点,无需人工手动操作去选择特定的时间点或视频关键帧,能够实现灵活、快速地进行视频剪辑的目的。并且,本发明实施例可以精确到剪辑起点对应的起始视频帧,从而实现高精度的视频剪辑。进一步地,本发明实施例只需要将备选GOP文件中的起始GOP文件替换为编码后的GOP文件就可以得到剪辑视频码流,对于备选GOP文件中的其他GOP文件无需进行解码和编码,只需要进行简单高效的拷贝操作就可以。由于视频的编码过程一般是有损的,这样就可以实现无损,保证了视频的质量;由于视频的解码编码过程是计算复杂的操作,而拷贝只需简单操作即可快速完成,这样保证了高效性,节省时间。
相关技术中,需要在本地设备上进行视频剪辑,如果待剪辑的视频文件在云端服务器,则需要首先将待剪辑的视频文件从云端服务器下载到本地,然后再进行视频剪辑,这样一方面需要本地存储空间,另一方面剪辑效率不高。在本发明的可选实施例中,可以采用线上视频剪辑的方式来解决上述问题。具体地,可以首先进入用于剪辑视频的剪辑操作页面,用户可以在剪辑操作页面的输入框中输入的待剪辑视频的播放地址,如URL(UniformResource Locator,统一资源定位符)地址,该URL地址可以是360影视的视频播放地址,也可以是其它网站的视频播放地址,本发明不限于此。之后,用户可以点击剪辑操作页面中的剪辑按钮,即,在检测到用户点击剪辑操作页面中的剪辑按钮时,则会根据播放地址从剪辑操作页面跳转到待剪辑视频的播放器界面,在这个播放器界面可以播放并操作该待剪辑视频。
基于上述内容,可以通过以下方式来生成步骤S202中提及的视频剪辑请求,即,进入待剪辑视频的播放器界面,然后获取用户在播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含剪辑起点和剪辑终点的视频剪辑请求。这里,可以通过下述方式来进入待剪辑视频的播放器界面,即,获取用户在剪辑操作页面的输入框中输入的待剪辑视频的播放地址,从而在检测到用户点击剪辑操作页面中的剪辑按钮时,根据播放地址从剪辑操作页面跳转到待剪辑视频的播放器界面。
在本实施例中,用户是在待剪辑视频的播放器界面上剪辑视频,剪辑视频的主要操作就是在待剪辑视频的播放时间轴上设置至少一对剪辑起点和剪辑终点,其目的是获取每对剪辑起点和剪辑终点间的视频段。并且,本发明实施例对于剪辑起点和剪辑终点没有限制,可以是待剪辑视频上的任意时间点。以图1为例,图1所示的多个GOP文件为待剪辑视频对应的多个GOP文件,剪辑时间点t1为剪辑起点,剪辑时间点t2为剪辑终点,如图3所示,它们可以是待剪辑视频上的任意时间点或任意帧,不用限制到关键帧的时间位置。
上文步骤S204中,在待剪辑视频对应的多个GOP文件中确定的备选GOP文件可以包括剪辑起点所在的起始GOP文件,剪辑终点所在的结束GOP文件,以及剪辑起点与剪辑终点两者之间的中间GOP文件,这里的中间GOP文件可以包括一个或多个,具体根据实际情况而定。
上文步骤S206中判断剪辑起点对应的起始视频帧是否为关键帧,可以根据帧的标识来判断,也可以依据上文提及的关键帧I帧的特点来判断。
在步骤S206判断剪辑起点对应的起始视频帧不是关键帧时,步骤S208在备选GOP文件中确定剪辑起点所在的起始GOP文件,并对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码,这里,本发明实施提供了一种可选的重新编码的方案,在该方案中,可以对起始GOP文件进行解码得到图像文件,进而基于解码得到的图像文件对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码。
进一步地,在基于解码得到的图像文件对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码时,可以将解码得到的图像文件中起始视频帧的图像编码成关键帧,进而基于编码成的关键帧,对起始视频帧之后的所有视频帧的图像进行编码,这样重新编码得到的编码后的GOP文件中包含关键帧,那么就保证了后续能够对剪辑视频码流进行正常解码并播放。
在另一可选的实施例中,如果对图像画面的运动状态不做严格要求,那么在基于解码得到的图像文件对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码时,还可以将解码得到的图像文件中起始GOP文件的关键帧的图像编码成关键帧,进而基于编码成的关键帧,对起始视频帧之后的所有视频帧的图像进行编码。
上文步骤S210中将备选GOP文件中的起始GOP文件替换为编码后的GOP文件得到剪辑视频码流,本发明实施例提供了截取或拷贝等方案,下面将进行详细介绍。
方式一,从待剪辑视频对应的多个GOP文件中截取备选GOP文件,进而将备选GOP文件中的起始GOP文件替换为编码后的GOP文件,得到剪辑视频码流。
方式二,从待剪辑视频对应的多个GOP文件中截取备选GOP文件,进而从备选GOP文件中拷贝除起始GOP文件外的其它GOP文件,之后将编码后的GOP文件与拷贝的其它GOP文件进行组合,得到剪辑视频码流。
在本发明的可选实施例中,还可以对剪辑终点所在的结束GOP文件进行处理,使得视频剪辑精确到任意一帧,实现高精度的视频剪辑的目的。具体地,在步骤S210将备选GOP文件中的起始GOP文件替换为编码后的GOP文件之后,还可以在备选GOP文件中确定剪辑终点所在的结束GOP文件,进而判断剪辑终点对应的结束视频帧是否为关键帧,若判断出剪辑终点对应的结束视频帧为关键帧,则可以将备选GOP文件中的结束GOP文件替换为结束视频帧,得到剪辑视频码流。相反地,若判断出剪辑终点对应的结束视频帧不是关键帧,则对结束GOP文件中结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件,进而将备选GOP文件中的结束GOP文件替换为处理后的GOP文件,得到剪辑视频码流。
进一步地,在对结束GOP文件中结束视频帧及之前的所有视频帧进行编码处理时,可以对结束GOP文件进行解码得到图像文件,进而基于解码得到的图像文件对结束GOP文件中结束视频帧及之前的所有视频帧进行编码处理。
在本发明的可选实施例中,在步骤S206判断出剪辑起点对应的起始视频帧为关键帧时,则无需对起始GOP文件进行解码和编码,可以直接将备选GOP文件中的起始GOP文件替换为起始视频帧,得到剪辑视频码流。
在本发明的可选实施例中,还可以结合用户的需求剪辑得到相应码率的视频码流。具体地,在得到剪辑视频码流之后,还可以获取转码信息,根据转码信息对剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。
为了对多段视频进行转码,在进行转码操作之前,首先从视频存储服务器上获取到待剪辑视频的视频源并下载到转码服务器中,然后将下载的视频源文件进行相应版本的转码,待转码完成后,将转码后的文件存储到视频存储服务器中进行存储,这样一段新的剪辑视频便完成了。需要说明的是,系统可以采用服务器集群,服务器集群中的每台转码服务器采用的又是多线程的转码处理机制,即可以根据转码压力来调整转码服务器的数量,通过相应规则动态地将转码工作分配到指定的转码服务器进行转码,以便由多台转码服务器分别分担一部分转码工作,这样可以提供高并发的转码能力,提高转码速度,并减少用户的等待时间。进一步地,可以对转码处理后的剪辑视频码流进行封装,得到剪辑视频文件。可见,由于转码工作是在转码服务器端完成,服务器端是由多台机器组成的集群,性能很好,用户只需要在自己的机器上使用浏览器即可,除去用户编辑时间,一段视频从选取到生成新的线上地址不会超过5分钟,视频剪辑长度的大小对时间影响很小。
以上介绍了图1所示的实施例中各个环节的多种实现方式,下面通过具体的实施例对本发明实施例提供的视频剪辑方法做进一步说明。该实施例采用线上剪辑的方式,对于剪辑起点和剪辑终点没有限制,可以是待剪辑视频上的任意时间点。并且,为了实现高精度的视频剪辑的目的,分别对剪辑起点所在的起始GOP文件和剪辑终点所在的结束GOP文件进行处理,使得视频剪辑精确到任意一帧。
图4示出了根据本发明另一实施例的视频剪辑方法的流程图。如图4所示,该方法至少可以包括以下步骤S402至步骤S426。
步骤S402,获取用户在剪辑操作页面的输入框中输入的待剪辑视频的播放地址。
在该步骤中,播放地址可以如URL地址,该URL地址可以是360影视的视频播放地址,也可以是其它网站的视频播放地址,本发明不限于此。
步骤S404,在检测到用户点击剪辑操作页面中的剪辑按钮时,根据播放地址从剪辑操作页面跳转到待剪辑视频的播放器界面。
步骤S406,获取用户在播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含剪辑起点和剪辑终点的视频剪辑请求。
步骤S408,在待剪辑视频对应的多个GOP文件中,确定剪辑起点所在的起始GOP文件、剪辑终点所在的结束GOP文件以及剪辑起点与剪辑终点两者之间的中间GOP文件,其中,各个GOP文件中包含多个视频帧。
步骤S410,判断剪辑起点对应的起始视频帧是否为关键帧,若否,则继续执行步骤S412,若是,则继续执行步骤S420。
步骤S412,对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件,继续执行步骤S414。
在该步骤中,可以对起始GOP文件进行解码得到图像文件,进而基于解码得到的图像文件对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码。
进一步地,在基于解码得到的图像文件对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码时,可以将解码得到的图像文件中起始视频帧的图像编码成关键帧,进而基于编码成的关键帧,对起始视频帧之后的所有视频帧的图像进行编码,这样重新编码得到的编码后的GOP文件中包含关键帧,那么就保证了后续能够对剪辑视频码流进行正常解码并播放。如图5所示,基于图3所示的剪辑起点,对剪辑起点对应的起始视频帧(P帧)及之后的所有视频帧(BBP帧)进行重新编码,得到编码后的GOP文件为ibbp帧,其中i帧为关键帧。
在另一可选的实施例中,如果对图像画面的运动状态不做严格要求,那么在基于解码得到的图像文件对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码时,还可以将解码得到的图像文件中起始GOP文件的关键帧的图像编码成关键帧,进而基于编码成的关键帧,对起始视频帧之后的所有视频帧的图像进行编码。
步骤S414,判断剪辑终点对应的结束视频帧是否为关键帧,若是,则继续执行步骤S416,若否,则继续执行步骤S418。
步骤S416,从结束GOP文件中提取出结束视频帧以及拷贝中间GOP文件,将编码后的GOP文件、中间GOP文件以及结束视频帧组合得到剪辑视频码流。
步骤S418,对结束GOP文件中结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件,进而将编码后的GOP文件、中间GOP文件以及处理后的GOP文件组合得到剪辑视频码流。
如图5所示,基于图3所示的剪辑终点,对剪辑终点对应的结束视频帧(B帧)及之前的所有视频帧(IBBP帧)进行重新编码,得到处理后的GOP文件为Ibbpp帧,其中,I帧为关键帧。
步骤S420,从起始GOP文件中提取出起始视频帧,继续执行步骤S422。
步骤S422,判断剪辑终点对应的结束视频帧是否为关键帧,若是,则继续执行步骤S424,若否,则继续执行步骤S426。
步骤S424,从结束GOP文件中提取出结束视频帧以及拷贝中间GOP文件,将起始视频帧、中间GOP文件以及结束视频帧组合得到剪辑视频码流。
步骤S426,对结束GOP文件中结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件,进而将起始视频帧、中间GOP文件以及处理后的GOP文件组合得到剪辑视频码流。
在本发明的可选实施例中,还可以结合用户的需求剪辑得到相应码率的视频码流。具体地,在得到剪辑视频码流之后,还可以获取转码信息,根据转码信息对剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。具体地,还可以将转码信息以及剪辑视频码流分配给至少一个转码服务器,由至少一个转码服务器根据转码信息对剪辑视频码流进行转码处理。之后,在得到转码处理后的剪辑视频码流之后,还可以对转码处理后的剪辑视频码流进行封装,得到剪辑视频文件,并提供给用户。
此外,用户在剪辑完视频后还可以预览剪辑的效果,这是通过播放器flash技术实现,也就是说,如果用户在预览剪辑段后觉得剪辑效果不错,再点击保存按钮生成剪辑后的视频文件。点击保存按钮后系统会保存视频描述信息、剪辑时间点集合。基于此,本发明实施例可以在检测到用户点击播放器界面中的保存按钮之前,还可以在检测到用户点击播放器界面中的剪辑预览按钮时,播放当前在播放器界面设置的剪辑起点和剪辑终点间的视频段。
需要说明的是,实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。
基于上文各个实施例提供的视频剪辑方法,基于同一发明构思,本发明实施例还提供了一种视频剪辑装置。
图6示出了根据本发明一实施例的视频剪辑装置的结构示意图。如图6所示,该装置至少可以包括请求接收模块610、确定模块620、判断模块630、编码模块640以及处理模块650。
现介绍本发明实施例的视频剪辑装置的各组成或器件的功能以及各部分间的连接关系:
请求接收模块610,适于接收包含剪辑起点和剪辑终点的视频剪辑请求;
确定模块620,与请求接收模块610相耦合,适于在待剪辑视频对应的多个画面组GOP文件中,确定所述剪辑起点与所述剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧;
判断模块630,与确定模块620相耦合,适于判断所述剪辑起点对应的起始视频帧是否为关键帧;
编码模块640,与判断模块630相耦合,适于若所述判断模块判断所述剪辑起点对应的起始视频帧不是关键帧,则在所述备选GOP文件中确定所述剪辑起点所在的起始GOP文件,并对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;
处理模块650,与编码模块640相耦合,适于将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件,得到剪辑视频码流。
在本发明一实施例中,所述编码模块640还适于:
对所述起始GOP文件进行解码得到图像文件;
基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码。
在本发明一实施例中,所述编码模块640还适于:
将解码得到的所述图像文件中所述起始视频帧的图像编码成关键帧;
基于编码成的所述关键帧,对所述起始视频帧之后的所有视频帧的图像进行编码。
在本发明一实施例中,所述处理模块650还适于:
在将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件之后,在所述备选GOP文件中确定所述剪辑终点所在的结束GOP文件;
判断所述剪辑终点对应的结束视频帧是否为关键帧;
若是,则将所述备选GOP文件中的所述结束GOP文件替换为所述结束视频帧,得到所述剪辑视频码流。
在本发明一实施例中,所述处理模块650还适于:
在判断出所述剪辑终点对应的结束视频帧不是关键帧时,对所述结束GOP文件中所述结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件;
将所述备选GOP文件中的所述结束GOP文件替换为所述处理后的GOP文件,得到所述剪辑视频码流。
在本发明一实施例中,如图7所示,上文图6展示的装置还可以包括:
请求生成模块710,与请求接收模块610相耦合,适于进入待剪辑视频的播放器界面;获取用户在所述播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含所述剪辑起点和剪辑终点的视频剪辑请求。
在本发明一实施例中,所述请求生成模块710还适于:
获取用户在剪辑操作页面的输入框中输入的所述待剪辑视频的播放地址;
在检测到用户点击所述剪辑操作页面中的剪辑按钮时,根据所述播放地址从所述剪辑操作页面跳转到所述待剪辑视频的播放器界面。
在本发明一实施例中,如图7所示,上文图6展示的装置还可以包括:
转码模块720,与处理模块650相耦合,适于在所述处理模块650得到剪辑视频码流之后,获取转码信息,根据所述转码信息对所述剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。
在本发明一实施例中,所述转码模块720还适于:
将所述转码信息以及所述剪辑视频码流分配给至少一个转码服务器,由所述至少一个转码服务器根据所述转码信息对所述剪辑视频码流进行转码处理。
在本发明一实施例中,如图7所示,上文图6展示的装置还可以包括:
封装模块730,与转码模块720相耦合,适于在所述转码模块720得到转码处理后的剪辑视频码流之后,对所述转码处理后的剪辑视频码流进行封装,得到剪辑视频文件。
在本发明一实施例中,所述处理模块650还适于:
在所述判断模块判断出所述剪辑起点对应的起始视频帧为关键帧时,将所述备选GOP文件中的所述起始GOP文件替换为所述起始视频帧,得到所述剪辑视频码流。
根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:
在本发明实施例中,当接收到包含剪辑起点和剪辑终点的视频剪辑请求时,在待剪辑视频对应的多个GOP文件中,确定剪辑起点与剪辑终点间的备选GOP文件,这里的各个GOP文件包含多个视频帧,并且剪辑起点和剪辑终点可以是待剪辑视频上的任意时间点。进一步,判断剪辑起点对应的起始视频帧是否为关键帧,若判断出起始视频帧不是关键帧,则在备选GOP文件中确定剪辑起点所在的起始GOP文件,并对起始GOP文件中起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;之后将备选GOP文件中的起始GOP文件替换为编码后的GOP文件,得到剪辑视频码流。由于编码后的GOP文件的起始帧为关键帧,这样就保证后续能够对剪辑视频码流进行正常解码并播放。由此可见,本发明实施例在进行视频剪辑时,对于剪辑起点和剪辑终点没有限制,可以是待剪辑视频上的任意时间点,无需人工手动操作去选择特定的时间点或视频关键帧,能够实现灵活、快速地进行视频剪辑的目的。并且,本发明实施例可以精确到剪辑起点对应的起始视频帧,从而实现高精度的视频剪辑。进一步地,本发明实施例只需要将备选GOP文件中的起始GOP文件替换为编码后的GOP文件就可以得到剪辑视频码流,对于备选GOP文件中的其他GOP文件无需进行解码和编码,只需要进行简单高效的拷贝操作就可以。由于视频的编码过程一般是有损的,这样就可以实现无损,保证了视频的质量;由于视频的解码编码过程是计算复杂的操作,而拷贝只需简单操作即可快速完成,这样保证了高效性,节省时间。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的视频剪辑装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例的一方面,提供了A1、一种视频剪辑方法,包括:
接收包含剪辑起点和剪辑终点的视频剪辑请求;
在待剪辑视频对应的多个画面组GOP文件中,确定所述剪辑起点与所述剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧;
判断所述剪辑起点对应的起始视频帧是否为关键帧;
若否,则在所述备选GOP文件中确定所述剪辑起点所在的起始GOP文件,并对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;
将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件,得到剪辑视频码流。
A2、根据A1所述的方法,其中,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,包括:
对所述起始GOP文件进行解码得到图像文件;
基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码。
A3、根据A2所述的方法,其中,基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,包括:
将解码得到的所述图像文件中所述起始视频帧的图像编码成关键帧;
基于编码成的所述关键帧,对所述起始视频帧之后的所有视频帧的图像进行编码。
A4、根据A1-A3中任一项所述的方法,其中,将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件之后,所述方法还包括:
在所述备选GOP文件中确定所述剪辑终点所在的结束GOP文件;
判断所述剪辑终点对应的结束视频帧是否为关键帧;
若是,则将所述备选GOP文件中的所述结束GOP文件替换为所述结束视频帧,得到所述剪辑视频码流。
A5、根据A4所述的方法,其中,在判断出所述剪辑终点对应的结束视频帧不是关键帧时,所述方法还包括:
对所述结束GOP文件中所述结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件;
将所述备选GOP文件中的所述结束GOP文件替换为所述处理后的GOP文件,得到所述剪辑视频码流。
A6、根据A1-A5中任一项所述的方法,其中,通过以下方式生成所述视频剪辑请求,包括:
进入待剪辑视频的播放器界面;
获取用户在所述播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含所述剪辑起点和剪辑终点的视频剪辑请求。
A7、根据A6所述的方法,其中,所述进入待剪辑视频的播放器界面,包括:
获取用户在剪辑操作页面的输入框中输入的所述待剪辑视频的播放地址;
在检测到用户点击所述剪辑操作页面中的剪辑按钮时,根据所述播放地址从所述剪辑操作页面跳转到所述待剪辑视频的播放器界面。
A8、根据A1-A7中任一项所述的方法,其中,在得到剪辑视频码流之后,所述方法还包括:
获取转码信息,根据所述转码信息对所述剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。
A9、根据A8所述的方法,其中,根据所述转码信息对所述剪辑视频码流进行转码处理,包括:
将所述转码信息以及所述剪辑视频码流分配给至少一个转码服务器,由所述至少一个转码服务器根据所述转码信息对所述剪辑视频码流进行转码处理。
A10、根据A8或A9所述的方法,其中,在得到转码处理后的剪辑视频码流之后,所述方法还包括:
对所述转码处理后的剪辑视频码流进行封装,得到剪辑视频文件。
A11、根据A1-A10中任一项所述的方法,其中,在判断出所述剪辑起点对应的起始视频帧为关键帧时,所述方法还包括:
将所述备选GOP文件中的所述起始GOP文件替换为所述起始视频帧,得到所述剪辑视频码流。
本发明实施例的另一方面,还提供了B12、一种视频剪辑装置,包括:
请求接收模块,适于接收包含剪辑起点和剪辑终点的视频剪辑请求;
确定模块,适于在待剪辑视频对应的多个画面组GOP文件中,确定所述剪辑起点与所述剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧;
判断模块,适于判断所述剪辑起点对应的起始视频帧是否为关键帧;
编码模块,适于若所述判断模块判断所述剪辑起点对应的起始视频帧不是关键帧,则在所述备选GOP文件中确定所述剪辑起点所在的起始GOP文件,并对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;
处理模块,适于将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件,得到剪辑视频码流。
B13、根据B12所述的装置,其中,所述编码模块还适于:
对所述起始GOP文件进行解码得到图像文件;
基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码。
B14、根据B13所述的装置,其中,所述编码模块还适于:
将解码得到的所述图像文件中所述起始视频帧的图像编码成关键帧;
基于编码成的所述关键帧,对所述起始视频帧之后的所有视频帧的图像进行编码。
B15、根据B12-B14中任一项所述的装置,其中,所述处理模块还适于:
在将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件之后,在所述备选GOP文件中确定所述剪辑终点所在的结束GOP文件;
判断所述剪辑终点对应的结束视频帧是否为关键帧;
若是,则将所述备选GOP文件中的所述结束GOP文件替换为所述结束视频帧,得到所述剪辑视频码流。
B16、根据B15所述的装置,其中,所述处理模块还适于:
在判断出所述剪辑终点对应的结束视频帧不是关键帧时,对所述结束GOP文件中所述结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件;
将所述备选GOP文件中的所述结束GOP文件替换为所述处理后的GOP文件,得到所述剪辑视频码流。
B17、根据B12-B16中任一项所述的装置,其中,还包括:
请求生成模块,适于进入待剪辑视频的播放器界面;获取用户在所述播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含所述剪辑起点和剪辑终点的视频剪辑请求。
B18、根据B17所述的装置,其中,所述请求生成模块还适于:
获取用户在剪辑操作页面的输入框中输入的所述待剪辑视频的播放地址;
在检测到用户点击所述剪辑操作页面中的剪辑按钮时,根据所述播放地址从所述剪辑操作页面跳转到所述待剪辑视频的播放器界面。
B19、根据B12-B18中任一项所述的装置,其中,还包括:
转码模块,适于在所述处理模块得到剪辑视频码流之后,获取转码信息,根据所述转码信息对所述剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。
B20、根据B19所述的装置,其中,所述转码模块还适于:
将所述转码信息以及所述剪辑视频码流分配给至少一个转码服务器,由所述至少一个转码服务器根据所述转码信息对所述剪辑视频码流进行转码处理。
B21、根据B19或B20所述的装置,其中,还包括:
封装模块,适于在所述转码模块得到转码处理后的剪辑视频码流之后,对所述转码处理后的剪辑视频码流进行封装,得到剪辑视频文件。
B22、根据B12-B21中任一项所述的装置,其中,所述处理模块还适于:
在所述判断模块判断出所述剪辑起点对应的起始视频帧为关键帧时,将所述备选GOP文件中的所述起始GOP文件替换为所述起始视频帧,得到所述剪辑视频码流。

Claims (10)

1.一种视频剪辑方法,包括:
接收包含剪辑起点和剪辑终点的视频剪辑请求;
在待剪辑视频对应的多个画面组GOP文件中,确定所述剪辑起点与所述剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧;
判断所述剪辑起点对应的起始视频帧是否为关键帧;
若否,则在所述备选GOP文件中确定所述剪辑起点所在的起始GOP文件,并对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;
将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件,得到剪辑视频码流。
2.根据权利要求1所述的方法,其中,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,包括:
对所述起始GOP文件进行解码得到图像文件;
基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码。
3.根据权利要求2所述的方法,其中,基于解码得到的所述图像文件,对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,包括:
将解码得到的所述图像文件中所述起始视频帧的图像编码成关键帧;
基于编码成的所述关键帧,对所述起始视频帧之后的所有视频帧的图像进行编码。
4.根据权利要求1-3中任一项所述的方法,其中,将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件之后,所述方法还包括:
在所述备选GOP文件中确定所述剪辑终点所在的结束GOP文件;
判断所述剪辑终点对应的结束视频帧是否为关键帧;
若是,则将所述备选GOP文件中的所述结束GOP文件替换为所述结束视频帧,得到所述剪辑视频码流。
5.根据权利要求4所述的方法,其中,在判断出所述剪辑终点对应的结束视频帧不是关键帧时,所述方法还包括:
对所述结束GOP文件中所述结束视频帧及之前的所有视频帧进行编码处理,得到处理后的GOP文件;
将所述备选GOP文件中的所述结束GOP文件替换为所述处理后的GOP文件,得到所述剪辑视频码流。
6.根据权利要求1-5中任一项所述的方法,其中,通过以下方式生成所述视频剪辑请求,包括:
进入待剪辑视频的播放器界面;
获取用户在所述播放器界面设置的至少一对剪辑起点和剪辑终点,生成包含所述剪辑起点和剪辑终点的视频剪辑请求。
7.根据权利要求6所述的方法,其中,所述进入待剪辑视频的播放器界面,包括:
获取用户在剪辑操作页面的输入框中输入的所述待剪辑视频的播放地址;
在检测到用户点击所述剪辑操作页面中的剪辑按钮时,根据所述播放地址从所述剪辑操作页面跳转到所述待剪辑视频的播放器界面。
8.根据权利要求1-7中任一项所述的方法,其中,在得到剪辑视频码流之后,所述方法还包括:
获取转码信息,根据所述转码信息对所述剪辑视频码流进行转码处理,得到转码处理后的剪辑视频码流。
9.根据权利要求8所述的方法,其中,根据所述转码信息对所述剪辑视频码流进行转码处理,包括:
将所述转码信息以及所述剪辑视频码流分配给至少一个转码服务器,由所述至少一个转码服务器根据所述转码信息对所述剪辑视频码流进行转码处理。
10.一种视频剪辑装置,包括:
请求接收模块,适于接收包含剪辑起点和剪辑终点的视频剪辑请求;
确定模块,适于在待剪辑视频对应的多个画面组GOP文件中,确定所述剪辑起点与所述剪辑终点间的备选GOP文件,其中,各个GOP文件中包含多个视频帧;
判断模块,适于判断所述剪辑起点对应的起始视频帧是否为关键帧;
编码模块,适于若所述判断模块判断所述剪辑起点对应的起始视频帧不是关键帧,则在所述备选GOP文件中确定所述剪辑起点所在的起始GOP文件,并对所述起始GOP文件中所述起始视频帧及之后的所有视频帧进行重新编码,得到编码后的GOP文件;
处理模块,适于将所述备选GOP文件中的所述起始GOP文件替换为所述编码后的GOP文件,得到剪辑视频码流。
CN201710079305.XA 2017-02-14 2017-02-14 视频剪辑方法及装置 Active CN106803992B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710079305.XA CN106803992B (zh) 2017-02-14 2017-02-14 视频剪辑方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710079305.XA CN106803992B (zh) 2017-02-14 2017-02-14 视频剪辑方法及装置

Publications (2)

Publication Number Publication Date
CN106803992A true CN106803992A (zh) 2017-06-06
CN106803992B CN106803992B (zh) 2020-05-22

Family

ID=58987409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710079305.XA Active CN106803992B (zh) 2017-02-14 2017-02-14 视频剪辑方法及装置

Country Status (1)

Country Link
CN (1) CN106803992B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197372A (zh) * 2017-06-30 2017-09-22 北京金山安全软件有限公司 批量竖屏视频的剪切方法、装置及电子设备
CN107566756A (zh) * 2017-08-03 2018-01-09 广东小天才科技有限公司 一种视频转场的处理方法及终端设备
CN107659824A (zh) * 2017-10-20 2018-02-02 哈尔滨市舍科技有限公司 基于用户视角的虚拟播放器
CN108366294A (zh) * 2018-03-06 2018-08-03 广州市千钧网络科技有限公司 一种视频裁剪方法及装置
CN110213672A (zh) * 2019-07-04 2019-09-06 腾讯科技(深圳)有限公司 视频生成、播放方法、系统、装置、存储介质和设备
CN110381382A (zh) * 2019-07-23 2019-10-25 腾讯科技(深圳)有限公司 视频笔记生成方法、装置、存储介质和计算机设备
CN110740344A (zh) * 2019-09-17 2020-01-31 浙江大华技术股份有限公司 视频提取方法以及相关装置
CN111263159A (zh) * 2020-01-16 2020-06-09 杭州慧川智能科技有限公司 一种基于h.264压缩标准的逐帧剪辑优化方法
CN111918121A (zh) * 2020-06-23 2020-11-10 南斗六星系统集成有限公司 一种流媒体文件精准剪辑方法及装置
CN111918128A (zh) * 2020-07-23 2020-11-10 上海网达软件股份有限公司 一种云剪辑方法、装置、设备及存储介质
CN112351308A (zh) * 2020-10-30 2021-02-09 杭州当虹科技股份有限公司 一种基于局部转码技术实现快速转码方法
CN113079406A (zh) * 2021-03-19 2021-07-06 上海哔哩哔哩科技有限公司 视频处理方法及装置
CN113747248A (zh) * 2020-05-28 2021-12-03 中央电视台 基于直播流剪辑的快速合成方法、装置及系统
CN114143601A (zh) * 2021-12-06 2022-03-04 北京达佳互联信息技术有限公司 裁剪视频的方法、装置、电子设备、存储介质及程序产品
CN114697749A (zh) * 2020-12-28 2022-07-01 北京小米移动软件有限公司 视频剪辑方法、装置,存储介质及电子设备
CN114866839A (zh) * 2022-07-11 2022-08-05 深圳市鼎合丰科技有限公司 基于重复分帧图像归并的视频编辑软件系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523369A (zh) * 2006-08-21 2009-09-02 斯灵媒体公司 捕捉和共享媒体内容以及对共享媒体内容的管理
CN101939787A (zh) * 2007-11-19 2011-01-05 汤姆森特许公司 编辑装置、编辑方法和编辑程序
CN102186022A (zh) * 2011-04-19 2011-09-14 深圳创维-Rgb电子有限公司 一种电视系统中音视频编辑的方法及装置
CN103024394A (zh) * 2012-12-31 2013-04-03 传聚互动(北京)科技有限公司 视频文件剪辑方法和装置
CN104185077A (zh) * 2014-09-12 2014-12-03 飞狐信息技术(天津)有限公司 一种视频剪辑方法及装置
CN105657537A (zh) * 2015-12-23 2016-06-08 小米科技有限责任公司 视频剪辑方法及装置
CN105745713A (zh) * 2013-11-11 2016-07-06 微软技术许可有限责任公司 基于控制器的视频编辑

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523369A (zh) * 2006-08-21 2009-09-02 斯灵媒体公司 捕捉和共享媒体内容以及对共享媒体内容的管理
CN101939787A (zh) * 2007-11-19 2011-01-05 汤姆森特许公司 编辑装置、编辑方法和编辑程序
CN102186022A (zh) * 2011-04-19 2011-09-14 深圳创维-Rgb电子有限公司 一种电视系统中音视频编辑的方法及装置
CN103024394A (zh) * 2012-12-31 2013-04-03 传聚互动(北京)科技有限公司 视频文件剪辑方法和装置
CN105745713A (zh) * 2013-11-11 2016-07-06 微软技术许可有限责任公司 基于控制器的视频编辑
CN104185077A (zh) * 2014-09-12 2014-12-03 飞狐信息技术(天津)有限公司 一种视频剪辑方法及装置
CN105657537A (zh) * 2015-12-23 2016-06-08 小米科技有限责任公司 视频剪辑方法及装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197372A (zh) * 2017-06-30 2017-09-22 北京金山安全软件有限公司 批量竖屏视频的剪切方法、装置及电子设备
CN107197372B (zh) * 2017-06-30 2019-12-27 北京金山安全软件有限公司 批量竖屏视频的剪切方法、装置及电子设备
CN107566756A (zh) * 2017-08-03 2018-01-09 广东小天才科技有限公司 一种视频转场的处理方法及终端设备
CN107659824A (zh) * 2017-10-20 2018-02-02 哈尔滨市舍科技有限公司 基于用户视角的虚拟播放器
CN108366294A (zh) * 2018-03-06 2018-08-03 广州市千钧网络科技有限公司 一种视频裁剪方法及装置
CN110213672A (zh) * 2019-07-04 2019-09-06 腾讯科技(深圳)有限公司 视频生成、播放方法、系统、装置、存储介质和设备
CN110381382A (zh) * 2019-07-23 2019-10-25 腾讯科技(深圳)有限公司 视频笔记生成方法、装置、存储介质和计算机设备
CN110740344A (zh) * 2019-09-17 2020-01-31 浙江大华技术股份有限公司 视频提取方法以及相关装置
CN111263159A (zh) * 2020-01-16 2020-06-09 杭州慧川智能科技有限公司 一种基于h.264压缩标准的逐帧剪辑优化方法
CN113747248A (zh) * 2020-05-28 2021-12-03 中央电视台 基于直播流剪辑的快速合成方法、装置及系统
CN111918121A (zh) * 2020-06-23 2020-11-10 南斗六星系统集成有限公司 一种流媒体文件精准剪辑方法及装置
CN111918128A (zh) * 2020-07-23 2020-11-10 上海网达软件股份有限公司 一种云剪辑方法、装置、设备及存储介质
CN112351308A (zh) * 2020-10-30 2021-02-09 杭州当虹科技股份有限公司 一种基于局部转码技术实现快速转码方法
CN114697749A (zh) * 2020-12-28 2022-07-01 北京小米移动软件有限公司 视频剪辑方法、装置,存储介质及电子设备
CN113079406A (zh) * 2021-03-19 2021-07-06 上海哔哩哔哩科技有限公司 视频处理方法及装置
CN114143601A (zh) * 2021-12-06 2022-03-04 北京达佳互联信息技术有限公司 裁剪视频的方法、装置、电子设备、存储介质及程序产品
CN114866839A (zh) * 2022-07-11 2022-08-05 深圳市鼎合丰科技有限公司 基于重复分帧图像归并的视频编辑软件系统

Also Published As

Publication number Publication date
CN106803992B (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN106803992A (zh) 视频剪辑方法及装置
US11582497B2 (en) Methods, systems, processors and computer code for providing video clips
US9609340B2 (en) Just-in-time (JIT) encoding for streaming media content
AU2017203764B2 (en) Systems and Methods for the Reuse of Encoding Information in Encoding Alternative Streams of Video Data
US20170262265A1 (en) Converting source code
CN104796767A (zh) 一种云视频编辑方法和系统
US20210136464A1 (en) Providing Advanced Playback And Control Functionality To Video Client
CN104982039A (zh) 用于在视频的图像帧中提供定向内容的方法及相应的设备
US10476928B2 (en) Network video playback method and apparatus
CN103583051A (zh) 用于实时或近实时流传输的播放列表
CN107634930B (zh) 一种媒体数据的获取方法和装置
CN104185077A (zh) 一种视频剪辑方法及装置
US9426539B2 (en) Integrated presentation of secondary content
US11183220B2 (en) Methods and apparatus for temporal track derivations
Laghari et al. The state of art and review on video streaming
CN104572964A (zh) 一种压缩文件的解压方法和装置
US20240056549A1 (en) Method, computer device, and computer program for providing high-quality image of region of interest by using single stream
US20200221144A1 (en) Frame accurate splicing
US11445168B1 (en) Content-adaptive video sampling for cost-effective quality monitoring
CN110213583B (zh) 视频编码方法、系统、装置及计算机程序介质
CN108769737B (zh) 一种码率调整方法、服务器及计算机可读介质
US9307261B2 (en) Splicing of video for parallel encoding
Zapart et al. An introduction to FITSWebQL
CN111491182B (zh) 用于视频封面存储解析的方法和装置
US20240137566A1 (en) Methods and systems for non-destructive stabilization-based encoder optimization

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
CP01 Change in the name or title of a patent holder

Address after: 100089 710, 7 / F, building 1, zone 1, No.3, Xisanhuan North Road, Haidian District, Beijing

Patentee after: Beijing time Ltd.

Address before: 100089 710, 7 / F, building 1, zone 1, No.3, Xisanhuan North Road, Haidian District, Beijing

Patentee before: BEIJING TIME Co.,Ltd.

CP01 Change in the name or title of a patent holder