利用Python 进行短视频的二次创作

作者: Y小光头 | 来源:发表于2020-07-05 21:08 被阅读0次

    1.目 标 场 景

    无论是抖音还是快手等视频平台,一旦一个视频火了后,很多 UP 主都会争先抢后去模仿拍摄或剪辑,然后上传到平台,最后都能带来不错的流量。

    对于一般的短视频,完全可以通过裁剪、特效转场、加入混合图层和字幕等一系列操作,很快就能制作出一个全新的视频,这些操作完全可以使用 Python 来实现。

    本篇文章的目的是带大家利用 Python 实现短视频的二次创作。

    2.编 写 代 码

    要实现短视频的二次创作,一般需要下面 7 个步骤,分别是:获取原始视频属性数据、视频帧处理、视频区域裁剪、制作背景图片视频、合成多段视频、生成描述字幕、加入字幕和背景音乐。

    第 1 步,获取原始视频属性数据

    首先,利用 爬虫 获取无水印的原始视频,Github 上有很多现成的轮子。

    然后,实例化视频片段 VideoFileClip,得到视频的宽、高、帧率等基本属性。

    接着,分离出音频文件,对原始视频进行一次剪辑,去除掉视频平台追加的公共画面片段,重新生成一个视频文件。比如抖音默认会追加 4s 的公共视频片段。

    第 2 步,视频帧处理

    要对一个视频进行画面裁剪,首先知道开始裁剪的 起始坐标点、裁剪的范围。

    使用 ffmpeg 命令拿到视频某一个时间点的图片帧,并保存图片文件到本地。

    接着利用 PS 的标尺和选区工具配合信息对话框,获取要裁剪的起始坐标、裁剪宽高数据。

    第 3 步,视频区域裁剪

    moviepy 提供的 crop() 方法可以很方便的区域裁剪视频。

    需要注意的是,crop() 方法传入的坐标值必须是 偶数,否则会导致区域裁剪失败。

    第 4 步,制作背景图片视频

    为了保证手机上的观感,针对上面裁剪横向视频,需要混合加入一个竖屏的背景图片图层或视频。

    之前写过一篇 利用图片制作 GIF 视频 的教程,这里实现方式类似,即一个 图片帧循环写入 到视频文件中。

    需要注意的是,合成图片视频的 帧率、时长 要和上一段视频保持一致。

    第 5 步,合成两段视频

    上面 2 步完成了原始视频的区域裁剪和背景视频的制作,现在可以将这两段视频进行一次合成。

    由于两段视频的宽度很有可能不一样,为了保证合成视频的统一性,需要对其中一段视频的长宽进行 等比例缩放,使得两段视频的宽度保证一致。

    need-to-insert-img

    第 6 步,生成描述字幕

    使用 TextClip 可以生成一个描述信息,文字信息属性包含字体名称、大小、颜色、位置、开始时间及持续时间都可以一起设置进去。

    默认字体可能会导致中文字幕不显示,因此,最好指定特定的中文字体。

    第 7 步,加入字幕和背景音乐

    使用 CompositeVideoClip 即可以将字幕片段嵌入到视频片段中,然后利用set_audio 把音频文件为视频增加一条音频轨道。

    最后写入到文件中,即可以生成一个新的短视频。

    3.结 果 结 论

    通过上面的 7 步操作,就能完成对大部分短视频的二次创作。

    如果你觉得文章还不错,请大家点赞关注下。你的肯定是我最大的鼓励和支持。

    相关文章

      网友评论

        本文标题:利用Python 进行短视频的二次创作

        本文链接:https://www.haomeiwen.com/subject/bwrbqktx.html