CTRL-F-VIDEO: 视频Ctrl-F 可以在视频中搜索特定的单词或短语
可以让你像在word文档里使用Ctrl-F搜索关键词一样在视频里搜索内容。
主要针对YouTube视频,通过扩展输入想要搜索的词汇,可以直接在视频时间条上标记出匹配的词汇或相似词汇的出现的具体位置。
通过一个Chrome扩展来实现搜索功能。原理是在本地运行一个Whisper模型,将音频转换为文本再搜索。
主要功能
1.文本搜索和时间条标记:用户可以在YouTube视频中搜索特定的词汇或短语,并在视频的时间条上用不同颜色标记出直接匹配和相似匹配的词汇。
-直接匹配:在视频中直接出现的词汇用绿色标记。
-相似匹配:基于Levenshtein距离或音素距离显示的相似词汇用紫色标记(准确度较低)。
- 音素完全匹配:音素完全相同的匹配用橙色标记(偶尔有效)。
2.音频到文本转换:利用OpenAlI的Whisper模型将视频中的音频转换为文本,从而实现准确的搜索和匹配。
3.结果存储:对于每一个搜索过的YouTube URL,搜索结果会被存储在json文件中,便于之后再次访问该视频时快速获取之前的搜索结果。
工作原理
- Chrome扩展:用户首先需要将CTRL-F-VIDEO项目作为Chrome扩展加载到浏览器中。这个扩展提供了一个用户界面,让用户可以输入他们想要在视频中搜索的词汇。
- Flask API:通过运行一个Python应用,启动一个Flask APl,这个API允许本地的Whisper模型在用户的GPU上运行。这一步骤是必要的,因为它处理音频到文本的转换,并支持搜索功能。
- 视频处理:当用户在YouTube视频页面使用该扩展并输入搜索词后,Flask API会处理视频中的音频,将其转换为文本,并寻找匹配的词汇。
- 结果显示: 匹配的词汇会根据其类型(直接匹配、相似匹配、音素匹配)在视频的时间条上以不同颜色标记。
效率
该项目能够在高性能的GPU(如RTX3090)上处理一个5分钟的视频仅需约16秒,显示了其高效的处理能力和快速的响应时间。
虽然该项目还处于很初级的阶段,偶尔不是很奏效,但是提供了一个很好的思路。
GitHub: https:/lgithub.com/Evan-Wildenhain/CTRL-F-VIDEO