我发现最近几年,视频正在取代文字成为主要的获取信息的渠道。随着视频制作的门槛越来越低,估计未来绝大部分内容都会来自视频。但是高效地获取视频内容是一件比较困难的事情,因为时间轴的限制,无法像文字那样被快速浏览、反复回看、总结。
而且比起文章来,视频更能分散注意力,使得我们不断地在视频标题之间横跳。我们其实是在信息的海洋里漂流瓶,被动地接受很多信息。如果有一个工具在我们和视频本身之间做一个缓冲,可以让我们拿会对信息的主动权。
所以一直想做这么一个可以总结Youtube视频的工具,最近终于借助AI for coding的力量在Cursor的帮助下实现了。产品还是demo的状态,安装和使用需要一些终端的知识,依照文末的Github链接中的说明就可以运行。
这个工具针对的是内容性强的视频,比如故事类和知识类的视频。这类视频具有很高的可压缩性,往往可以关掉视频只听音频,内容转化为文字后,也基本不会丢失信息。这类视频非常适合转成文章形式,我们可以像阅读文章一样观看视频。当然,也有很多无法压缩的视频,比如电影、综艺节目、纪录片,尤其是编程演示,这些内容很难用自然语言描述。
功能
其实市面上有很多类似的工具,但是它们几乎都是一个模式:LLM+视频本身自带的字幕。这些产品有两个特点:第一是不支持中文,因为这些工具本质上就是抓取YouTube视频的文字的字幕,用大语言模型进行总结,而Youtube不会对中文视频创建字幕。第二是,它们都是一次性地总结,没有对视频总结管理和复用,这两点让我在用的过程中还是感受到了不方便。
比如很多时候,我在YouTube搜资料时会被标题吸引点进去看,并且常常觉得所花的时间和所获得的信息不成正比。这与阅读文章不同,读文章时,我可以用很短的时间判断这篇文章是否值得投入时间。这种快速决策在看视频时很难实现。尤其是在这种信息非常丰富的时代,当你面对大量知识性视频时,很难以最高效率找到与你最相关的视频。
所以我做了这样一个工具。它针对的一个应用场景是这样的:当你在浏览视频时,看到一个标题特别吸引你的视频,你很想点进去观看,但又不确定这个视频的内容是否真如标题所说。在这种情况下,你可以使用这个工具,让它帮助你分析并总结这个视频的内容。
这个工具有以下几个功能:
- 可以处理总结所有中文视频。
- 本地运行,带有一个数据库,用来保存值得反复回味的视频文稿和总结。
- [待实现]可以自动总结你放在WatchLater里的视频
- [待实现]可以定时给你发送Newsletter形式的报告,给你指定的所有频道的更新。
这个工具的唯一目的就是让你更高效地获取到内容性强的视频内容。最根本的初衷:打造一个属于个人的curated的youtube newsletter。通过这个newsletter对自己的订阅有一个整体的把控,然后再决定看哪一个视频。把自己从(视频)信息洪流中抽离出来。(目前还只能手动添加URL,两个正在做的功能是Newsletter和WatchLater。)
Newsletter 功能能够自动监测你指定的频道中的所有视频更新。它会自动抓取内容,分析视频,提供总结,甚至给出视频的原文。它会定时邮件发送一份 Newsletter,告知你相关视频和频道的更新情况及其总结。这样你可以对自己关注的博主有一个每日概览。在决定观看视频之前,你就可以大致了解其内容。如果没有时间看,也不会有错过的感觉。
Watch Later功能会监控你的 “Watch Later” 播放列表的更新,并自动在后台为你总结视频的内容。等到你回头查看 “Watch Later” 列表中视频之前,你可以先看这个视频的总结,有些视频可能并不值得你花时间去看。
运行逻辑
如果某个视频有自带的字幕文件,工具会优先使用这些文件。如果没有,它会将视频下载到本地,运行一个Whisper模型,将视频音频转录为文字,然后进行总结。这样做的一个好处是,由于YouTube上的大部分中文视频并没有自带字幕,这个工具几乎可以适用于所有YouTube视频,包括中文视频。Whisper的大小是“small”,在这个大小下,中文转录效果和转录速度比较平衡。在mac下内存占用是1.5GB左右。只有在转录时才会加载Whisper。
目前这个工具是本地运行,自带一个简单的Web UI。本地运行是因为没有web开发经验的我发现Web开发流程非常复杂,可能要用80%的时间实现剩余20%的非核心功能。另外本地运行有一个好处,就是允许你的数据、偏好和所有文档都保存在本地,无需经历繁琐的注册步骤,你可以任意处理本地文件。这个工具会在本地建立一个数据库,并且通过一个简单的Web UI和数据库交互,对视频进行管理。通过这个网页界面,你能随时查看视频的完整文稿,跳转到任意位置。
文稿转换和总结默认用的是DeepSeek,因为试用了许多大型模型后,发现 DeepSeek 在这方面,尤其是在处理中文时,比其他模型表现得要好一点。不过你可以在UI中很方便地修改配置文件,选择任何一个大型语言模型。