短视频批量剪辑制作技巧(批量剪辑软件设计思路)

阿蓝
阿蓝
阿蓝
2607
文章
0
评论
2022-10-2012:08:00短视频批量剪辑制作技巧(批量剪辑软件设计思路)已关闭评论 806 次浏览 3127字阅读10分25秒

短视频批量剪辑制作技巧(批量剪辑软件设计思路)

今天分享一下一个程序员做自媒体中发现的商机,他自己做带货视频,每天都苦于剪视频。

最多的时候,一天剪到 50 个视频,通宵剪。

流程是先搜集脚本,爆款的段子、视频,让人忍俊不禁的笑话,网络上流行的热梗,都会成为创作脚本来源。

然后利用微信对话生成工具,制作视频素材,一般是聊天截图。最后,在剪映中,导入素材剪辑出片。

其中,比较费时间的是脚本的搜集、整理,和用脚本制作微信对话图片的过程。

剪辑部分模块化,一个视频一两分钟就可搞定。

视频批量化创作的痛点,是在于脚本创作和素材的制作。

批量化的视频创作,必定是重素材而轻剪辑的。

恰逢有老板,也有批量化制作视频的需求,找到了我。

报价不算高,但还是接了下来,用一个周末的时间,从零开发了一款批量生成视频的工具。虽然不是微信对话的视频类型,但也有很大的参考意义。

下面,作为一个程序员,从方案和实施技术方面,来分析下如何用程序来批量化制作视频!

一、需求来源

批量视频生成工具,接到过两拨需求,都是做抖音的老板提供的。

其一探店类,要将多个录好的视频素材,随机时长截取片段,进行拼接。再随机指定背景音乐,合成视频。用视频时长,除以片段时长,按最少的数量,计为最大合成视频数量。

其二变脸类,将多张正脸照片,多个变脸视频素材,多个标题和描述,同屏拼接组装。再随机指定背景音乐,合成视频。素材之间拼接,增加动画过场。 至于这两种类型的视频, 如何赚到钱的, 事关老板的利益, 且和文章主题不相关,就不赘述了。

再看需求的本身,素材是文字、图片、视频和音频等类型,其实就是想将手动在剪辑工具中做的事情,将重复性的劳动工作,改用程序来实现。将剪辑的过程程序化,节省人工成本。并保证不大影响到作品的质量。

我先进行核心技术调研。用提供的素材,通过 ffmpeg (音视频处理的开源软件,可以在终端命令行或代码中函数式调用),在命令行工具中,按照需求写了一些视频的处理指令。进行了简单的测试后,发现是可以通过程序做出类似人工剪辑的效果的。证明开发这个工具,没有技术风险。便接了活,开搞!

二、需求分析

两种类型的视频制作需求,本质上很相似,拿探店类视频软件举例。大概要实现的功能是,通过选择准备的文本、图片、音乐和视频,配置片段时长、过场动画,自动「剪辑」,生成视频。

所以需求开发可以拆分两部分,

一部分是 UI 交互, 主要是界面的设计和实现,提供用户交互,导入素材,配置参数等界面能力。

另一部分是功能实现,功能也可以再细分为二:

其一,通用功能。记录用户导入的素材路径,记录用户选择的片段时长,选择的过场动画等,记录输出目录,记录和是清理视频处理过程中的临时数据。

其二,视频处理功能。对原素材,进行裁剪、截取片段、静音等处理;对多个视频进行拼接的操作;对视频和音频进行合并等等。通过一步或多步,将视频按照原素材和预设参数,加工出来。

这样分析下来,思路相对清晰。简化就是收集用户入参(视频素材和预设参数,根据入参自动化剪辑,输出视频。

初步分析结束后,接着具象化,尽量细化需求和问题。

界面分析

先设计一个软件界面。 考虑参数设置,素材导入和合成监听。边做边改,最终实现的软件界面如下: 支持的功能:

  • ffmpeg 设置
  • 导出码率设置
  • 输出目录设置
  • 添加视频
  • 清空添加的视频
  • 添加的视频,显示文件名、时长
  • 视频截取的片段长度选择
  • 入场特效选择
  • 删除导入的视频
  • 背景音乐目录设置
  • 合成按钮
  • 合成进度条
  • 信息提示框

功能分析

结合界面的设计,进一步分析要实现的产品功能:

  • 打开系统文件夹,选择目录或文件
  • 缓存上次打开的目录,方便下次操作
  • 解析添加的视频,显示视频时长
  • 合成时,先根据视频时长和片段时长,计算要合成的最大视频数
  • 根据视频片段时长,依次将多个片段截取静音拼接合成
  • 拼接时,添加过场动画
  • 指定输出文件的分辨率
  • 视频和音频合并
  • 清空过程中产生的临时文件

三、技术选型

音视频处理

首先考虑音视频处理,用的 ffmpeg ,上文也提到过。完全满足需求中的音视频处理功能。

FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用 LGPL 或 GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库 libavcodec。

FFmpeg 在 Linux 平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括 Windows、Mac OS X 等。

技术栈选择

视频批量制作的工具,定位是 PC 桌面端软件。

常见的桌面端开发技术, 主流选择是 C# 搭配 WPF, C++ 搭配 QT , Python+ PyQT 等。没有 C# 和 C++ 的技术基础和经验。所以选择用 Python 开发。

Python + PyQT 的方式, 也可以分别导出 win 系统和 macOS 系统的软件,兼容跨平台是意外收获。

需要确认一个问题,就是 Python 是否可以调用 FFmpeg ?调研发现,Python 可以通过 PyAV ,ffmpy 等库调用 ffmpeg,也可以通过subprocess 类,跨进程调用 ffmpeg。最后决定用 subprocess 的方式,对ffmpeg 命令的使用,和版本控制更灵活。

四、产品优化

产品开发完成后,测试交付。客户长时间使用后,提出几个问题。其中有两个比较有代表性,记录出来。

合成速度优化

工作室的机器,配置不会特别高。发现的问题就是,视频很大的时候,合成的过程时间会比较久。老板问能不能优化下合成技术。

研究发现,ffmpeg 默认是用 CPU ,支持 GPU 加速指令,需要有 GPU 驱动支持。紧接着验证这种加速指令的可行性,优化原有的 ffmpeg 命令,发现确实合成时间变短,有效。

如果改造原有程序,需通过一些硬件检查接口,检查机器的硬件驱动,是否支持GPU 加速。在逻辑上进行兼容性处理,如果支持 GPU 加速,调用 GPU 加速的 ffmpeg 命令,如果不支持,就还调用之前的普通命令。

机器绑定

这种工具类型的软件,如果流传出去,基本没有门槛,所有人都可以使用。

所以后来追加了机器码绑定的功能:

  • 打开软件,用户得到一个机器码。
  • 将机器码发送到软件运营,可以兑换激活码。
  • 将兑换的激活码,填入软件的激活框中,注册激活软件,软件可正常使用。
  • 激活码验证和机器硬盘 ID 及网卡 ID 绑定,机器、时间双重校验。
  • 增加类似代码混淆的处理,即使软件被破译,也无法轻易重新打包。

这一部分功能设计,相对费脑。但在软件商用方面,有很大的价值。

产品通用化

虽然软件开发出来了,但需求过于细节,产品不够通用,便无法大范围推广。

又逢遇到了变脸视频批量创作的需求,便开始考虑产品的通用化。

这种事情,空想是没有用的,难不成开发一个剪映出来,什么都支持,还支持批量化脚本?

五、终极目标

公众号红利的时代,诞生出很多自动采编,自动发布文章的平台。流量主收益,赚的盆满钵满。

只需要将公众号和采编工具绑定,程序便会自动化的采集,发布文章。

上面批量剪辑的工具,只是降低了重复性剪辑的工作量。素材采编,和视频自动发布,没有解决。

素材采编,利用脚本采编热门文字、图片、视频,去水印、马赛克处理敏感部分,结合文案,生成新的视频。技术上看,也是可以实现的。 视频的自动上传,主要看视频号平台,是否会提供公开的 API 接口,如果有提供,那么就很简单了。目前还没有。

再有,现在语音合成的技术已经很成熟。再加上很多虚拟人物视频生成,仿真人视频生成的技术也逐渐丰富起来。未来这种自动化生成发布视频的流程,也很有想象空间。

越早把这个流程打通,越早收益。 24 小时自动生成发布视频,无异于拥有一台印钞机。

结尾

感谢看到这里,这篇文章更偏向意识流。

希望对二创方向的短视频创作者,一些程序思维优化自己工作路径的启发。 也希望给开发者,一个以工具人身份,加入短视频市场的一个机会。

微信:xhllsys88

  • 微信号
  • 微信扫一扫
  • weinxin
  • 搞钱阿蓝
  • 微信扫一扫
  • weinxin
  • 公众号:搞钱阿蓝(xhllsys)
  • 文章来源:搞钱阿蓝 转载请务必保留本文链接:https://www.xhllsys.com/7598.html