本地视频总结探索

下午把数算课给旷了。为了更快地了解这次课上了什么,回想到B站视频总结和要点功能的实现,于是就想要实现 本地视频的总结。今天探索了一些方法,最终有一个方法是比较有效果的。

如何把教学网的视频下载到本地?

由于教学网的视频显然没有现成的字幕可用,并且也没有现成的插件能够提取字幕+喂给GPT,因此只能采用比较笨的下载到本地的办法。

刷树洞发现 https://leohlee.github.io/pkuVideo.html 可以实现把教学网的视频下载到本地。为了防止网页被封,我下载了一份源代码到本地了。

教学网的 m3u8 是经过 AES 加密的,无法用网络上常见的 m3u8 下载器下载。尽管获取解密密钥并不难,但有违自动化的原则。

~/N_m3u8DL-RE_Beta_osx-arm64 是本地的 m3u8 下载器,按网上说法支持 AES 解密,但是下载的文件不知道咋运行。

如何给本地的视频生成字幕?

这里就有两种实现途径:

  1. 本地转换生成字幕,考虑到毕竟 Mac 的处理器还是有 MPS 神经网络加速的;
  2. 上传云端,让云端转换生成字幕。

本地生成

本地生成,在本地放置模型文件,使用下列二者其一

驱动模型生成字幕。

缺点

  • 理论上,只安装 Buzz 或者 WhisperDesktop,如果本地没有模型,也可以自动下载模型文件;奈何 https://huggingface.co/ 网络常常无法连接,因此只好在镜像站 https://hf-mirror.com/ggerganov/whisper.cpp/tree/main 下载,然后放到指定位置去(Buzz 在 .cache/whisper)里头。
  • 而且由于本地算力不足,实际上转换一个 3 小时的课程视频需要跑 7 小时(甚至睡一觉起来都不一定能行)

上传云端、下载字幕+把字幕喂给 GPT(Gemini API 的使用方法)

剪映、飞书等平台,以及 Memo AI 等新平台,都号称支持视频转文字,但只有飞书目前还是免费。由于需要把字幕喂给 GPT,并且 Github 上有 Feishu 的上传下载 Python 脚本,因此还是选择飞书作为云端转文字平台,同时通过修改脚本,把下载下来的文字文件喂给 GPT,通过合适的 Prompt 生成总结+要点,再写入本地 Markdown 文件。

原程序代码:https://github.com/bingsanyu/feishu_minutes


接入大模型——这里使用 Gemini 作为总结大模型。通过阅读 https://ai.google.dev/tutorials/quickstart?hl=zh-cn#python_1,Python 接入 Gemini API 的方法如下:

首先执行下面的步骤,运行 py 脚本

1
pip3 install -q -U google-generativeai
1
2
3
4
5
6
7
8
9
import google.generativeai as genai

genai.configure(api_key=os.environ["API_KEY"]) # 如果这里报错,改成下面那行代码
# genai.configure(api_key="<your_API>")

model = genai.GenerativeModel('gemini-pro')

response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

如果报一个有关认证的错误,需要「设置应用默认凭据」通过谷歌认证,方可使用 API。使用下面的代码:

通过运行 gcloud auth application-default login命令向 ADC 提供用户凭据。此命令会将包含您提供的凭据(通常来自您的 Google 账号)的 JSON 文件置于文件系统上的熟知位置。该位置取决于您的操作系统:

  • Linux、macOS:$HOME/.config/gcloud/application_default_credentials.json
  • Windows:%APPDATA%\gcloud\application_default_credentials.json
1
2
credential_path = "/Users/liangzhong/.config/gcloud/application_default_credentials.json" # 
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path

这部分参考:

作者

o0o0o0o

发布于

2024-03-26

更新于

2024-05-09

许可协议

评论