科技一站

 找回密码
 立即注册
查看: 113|回复: 1

如何用人工智能帮你剪视频?

[复制链接]

1

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-12-11 10:46:19 | 显示全部楼层 |阅读模式


痛点

制作视频已经好几年了,但是剪片子一直是让我比较头疼的事儿。
以前我一直搞不清楚,视频为什么需要剪辑。
曾经有一段儿,我是这么录视频的。如果讲的时候出现了磕绊,或者有些展示过程出现问题,我怎么办?
我干脆停下来,然后重新录制 。
别笑,这傻事儿我真干过。因为那时候我不懂得剪辑的意义,觉得所有视频都是「一条过」的产物。
但是后来我明白过来了这样好像太麻烦了。如果录一段视频成本太高,我也就懒得录制了。在经过若干轮次的迭代之后,我甚至已经用卡片法来录制视频 了,哈哈。
既然明白了剪辑的重要性,剪辑的工具也就引起了我的重视。毕竟它直接影响剪辑的效率。
提到视频剪辑,你会想到哪些应用呢?一般用户可能会想到剪映。苹果生态里面的专业用户往往会想起 Final Cut Pro 或者 LumaFusion 等。这些工具都很好,提供了很多功能。不过对于我来说,它们中的大部分功能,我其实都用不上。但是我真正需要的那些功能,它们提供得也不好。
举例来说,因为我主要录视频教程。所以剪辑的主要目标是这样的:
首先,剪掉其中错误的内容;中所周知,我是个懒人。自己录视频之前,一般只有一个提纲,甚至只有一个主题。所以讲的时候,很有可能中间进了一个死胡同,绕出来的时候前面的就都应该删掉。可是之前的问题在于整体录制完成,再去找这些比较麻烦;
其次,剪掉口癖(「这个」、「呃」之类)和过长的停顿(往往是我在思考下一句说啥),哈哈。
至于什么 B roll 之类的素材,想起来的时候加,没想起来就那样,哈哈。你看我最近这几期讲盗版历史的视频,基本上一条 B roll 都没有。
对我来说,Final Cut Pro 或者剪映在处理这些问题上,难以给我有效的帮助。
辅助

后来,我看到了立青推荐的 Recut ,试过之后,发现真的是剪视频的利器。它帮助我高效解决了第二个需求。
它的方法其实非常简单 —— 找到那些长时间声音低于某一阈值的片段,然后去掉它。这样句子之间更加连贯。



我一开始对「剪掉所有的无声片段」颇有些不以为然,因为我头疼的主要是处理口癖和中间去喝水的片段等。但是实际用起来,我发现这种情况出现的时候,前后一般也会有无声片段出现。所以我可以根据自动切分的片段长度,来找寻可能有问题的地方。很多时候,长时间流畅表达的部分中间一般都是没问题的。反之,反复出现无声片段,意味着这一部分在磕磕绊绊,点开一听,确实是可疑。这样一来,剪辑效率提高很多。



Recut 支持把剪掉无声片段之后的内容直接输出为视频文件,也可以把它输出为 Final Cut Pro 的 XML 项目文档。我还是觉得在 Final Cut Pro 里面进行精剪更为稳妥,这样如果切断的地方有需要的,还可以找补回来。
Recut 虽然好,但是还是没有解决我的另一个痛点 —— 剪掉不想呈现的那部分内容。
每次剪辑,我还是要在 Final Cut Pro 里面从头到尾听一遍。当然,我一般会用 L 快捷键,把播放开到二倍速,以显著提升效率。不过对于某些内容来说,可能听了半天,才发现前面的有问题,于是还得重新回过头去找出来剪掉。这样操作起来并不直观,效率明显还有提升空间。
看到这儿,你可能觉得我太贪心了 —— 工具都已经帮你到这份儿上了,还「要啥自行车儿」?
但是事实证明,工具确实还能进一步发挥作用。不过这次,就需要人工智能介入了。
我最近发现了一款有意思的视频剪辑工具,来自于李沐老师。李沐是亚马逊首席科学家,人工智能框架 Apache MXNet 作者之一。他在 B 站开设直播课程,教大家深度学习课程。



一个人工智能专家,按说应该很忙啊,哪儿有时间做做视频剪辑软件呢?其实也容易理解,因为他自己就要用。
在 B 站做视频,李沐老师也经常需要面临剪辑的问题。根据他自己的介绍,每段视频里需要剪掉的部分还不少。久而久之,对现在市面上的工具不满,所以干脆自己用人工智能做一个。
这个工具,叫做 Autocut ,对应的 Github 项目的地址在这里。



这种「一言不合就自己开发工具」的脾气,我特别欣赏。
智能

这里的人工智能,主要指的是 whisper ,它是 OpenAI 出的又一款模型。



它能干什么呢?就是听声音转写文字。
这里咱们聚焦在 Autocut ,所以关于 Whisper 的具体细节就不展开了。如果你感兴趣的话,少数派上面有一篇文章,对 whisper 做了比较详细的介绍。我觉得写得不错,推荐给你。
李沐老师创造的工具,是这样的工作原理:

  • 首先,调用 whisper ,来生成字幕;
  • 第二步,你可以在字幕里面,按照文字来挑选内容。只把有用的字幕保留下来,没用的删除;
  • 然后,autocut 这款工具会依照保留的字幕内容,把对应的视频或者音频剪出来,形成单独的视频文件。
机理并不复杂,下面咱们来看一个实际的例子。
例子

这是我 前几天录制的一段视频,讲盗版软件为什么会没落了下去。

我用 iPhone 录制视频,然后 Airdrop 到了电脑里面,视频的名字叫做 IMG_6764.mov。我把它存到了一个目录里,起名叫做 2022-11-14-software-pirate 。
然后我执行以下命令:
autocut -d /Users/wsy/Movies/2022-11-14-software-pirate/解释一下,这里是让 autocut 监控指定的文件夹。如果里面有视频,就进行处理。如果相关的文件发生变动,也会激发 autocut 进行后续的操作。此处略过对视频的第一波处理,因为反正都是自动进行的。完成 whisper 的声音转录后,这个目录里就自动生成了 3 个文本文件。
一个是项目控制文件,autocut.md。



这个文件,主要用来合并多个视频。所以如果你目前只录制一段视频的话,暂时不用管它。
一个是字幕文件,IMG_6764.srt。



注意因为 autocut 默认使用的是 whisper 一个小型化模型(small)。这样处理的速度更快,但是识别率比起完整模型有妥协。你可以看到其中第一句「盗版」写成了「倒板」,第二句「莫韦」显然应该是「末尾」。不过这无伤大雅,不干扰咱们的后续识别就好。
另外一个文件,是与字幕对应的 Markdown 文件,IMG_6764.md。建议你使用 Visual Studio Code 打开。



左侧是 Markdown 原始信息,每一句字幕之前,都有一个选项框(checkbox)。一开始默认都是不勾选。如果你觉得哪一句的内容需要保留,只需要把 - [] 加上一个 x ,变成 - [x] 即可。
就像这样:



之后,你就可以快速在整个儿文本中游走,把需要的都摘取出来。剪片子从原本需要面对视频,就变成了面对文本。这样的好处是什么呢?我们从小接受语文的训练,看文本可以一目十行。这也是为什么有的人平时更喜欢看书而非教学视频,就是因为他们觉得这样的信息密度才足够高。
视频里面,你可能听了 3 分钟,才发现一部分内容讲错了,后面进行了重新讲述。但是这里,一眼就可以看出来。效率提高很多。
不过看到这里,你可能会觉得,一行行修改标记,太麻烦了啊!
这就是为什么我们要用到 Visual Studio Code 的原因。它有丰富的插件系统,可以帮助我们轻松批量给任务「调勾」。
插件

你需要安装这个插件(Markdown Checkbox):



安装完了之后,你需要进行一下简单设定。因为要调整下面页面里的好几处,所以我截了个图出来,只需要保证你的设置跟这里一致就行。



有了这个插件,你就不需要一行行勾选了。只需要选中若干行(只选一行当然也没问题),执行快捷键 Shift + cmd + Enter 即可。



怎么样,方便多了吧?
不过有的小伙伴儿可能依然觉得麻烦。毕竟大部分情况下,一个视频里还是保留的内容更多啊。把保留的句子都一一选出来,听起来有点儿反直觉。其实也好办,你可以把所有需要删除的句子先选定,然后选择整个儿文件,重新执行 Shift + cmd + Enter ,相当于一次反选。
注意修改完之后,一定不要忘了把 Markdown 文件开头的一个勾儿打上。



这个勾儿是干什么的呢?是用来提示 autocut 说你已经把需要保留的内容选完了,可以开动剪辑了。
然后你会看到 autocut 又开始忙活。进度条走完的时候,会生成一个 IMG_6764_cut.mov 文件。这个新视频文件里的内容,就是根据你的需求定制裁切出来的。
另外 autocut 还会自动生成对应的字幕文件,叫做 IMG_6764_cut.srt。打开这个新的字幕看看,原先不需要的语句是不是已经都剪掉了?



剪辑好的视频和对应的字幕,一下就都有了。这个新的字幕很有必要。前面说了 whisper —— 尤其是它的 small 模型 —— 对于中文识别的准确率还是有待提升的,因此你可能有必要在这里直接修改 srt 内容保证字幕更加精准。
不过,我一般做视频都不加字幕,也就无所谓了,哈哈。
效果

Autocut 用人工智能做视频剪辑,效果怎么样呢?
我觉得不错。至少里面大段讲废了的内容,可以非常容易识别出来,并且批量去除掉,比人工看、听和剪的过程,要高效许多。
但是现在 autocut 还存在几个小问题:
首先是刚才已经提到的,有些语句识别不准确。如果只看文本,可能无法知晓原始的意义。这跟 whisper 选择的模型有关系。如果选择更大的模型最好有 GPU 支持。我使用 Macbook M1 只能调用 CPU 的功能,所以无法选择更大模型。我处理的办法是不知道是否保留的,先保留下来,后续再进行精剪;
其次是调用 ffmpeg 剪辑的时候耗费时间长度是个问题。如果内容较长,ffmpeg 剪辑起来需要用到比较长的时间。我觉得这个是可以改进的。之前我用过另一款轻量级剪辑工具叫做 losslesscut ,后台的支撑也是 ffmpeg ,不过它完全可以做到瞬间剪辑完毕。我觉得 ffmpeg 里的参数设定可能有问题,通过调整参数选项,也许也可以做到更快的剪辑;
第三是直接剪出来的视频,有时候会出现莫名其妙的吞字。虽然这种情况不普遍,不过万一出现的时候,也让人很不舒服。毕竟剪辑这个事情是剪下去容易,但是已经剪多了输出后就不好办了。
我觉得最好的解决办法,是让 autocut 可以像 recut 一样,直接选择生成 XML 项目文件,以便在 Final Cut Pro 或者其他视频剪辑工具里面再做精修。这样一来,无需 ffmpeg 实际剪辑,节省时间。而且即便错误吞字的地方,也可以在 Final Cut Pro 里面简单拖拽找回来。
这一点上,已经有人给李沐老师提了建议。



我在后面表示了自己对这个提议的支持。



希望这个功能可以早日实现。
小结

本文我给你介绍了李沐老师的人工智能剪辑工具 autocut 。通过 whisper 声音到文本转换,实现依照文字的高效剪辑。希望这款工具对于你剪视频能起到帮助。
你有没有其他好用的视频剪辑工具可以分享?欢迎留言,咱们共同进步。
祝剪辑愉快!
本文首发于少数派网站,原始链接在这里。
如果你觉得本文有用,请点赞
如果本文可能对你的朋友有帮助,请转发给他们。
欢迎关注我的专栏,以便及时收到后续的更新内容。
延伸阅读

  • AI 帮我找卡片挺好,但能不能帮我创作出新的相关卡片啊?
  • 自己录制和剪辑视频,如何解决占用空间过大的问题?
  • 想打造个性化高效工作流,可不会编程怎么办?
  • 世界很大,英语不好的你如何去看看?
  • 作为一名知识类视频 UP 主,我是怎么「偷懒」的?
回复

使用道具 举报

4

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2022-12-11 10:46:52 | 显示全部楼层
李沐老师做出来的autocut已经有优化版
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|科技一站

GMT+8, 2025-4-19 20:52 , Processed in 0.102956 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表