视频问答分析工具

一个基于E2B沙箱的视频处理应用,利用Groq的视觉/语言模型分析视频帧,并通过MCP与Notion集成,实现视频内容的智能检索和存储。

  • by niharpalem
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 niharpalem/E2B_MCP_HACK

使用说明

视频QA

Streamlit应用程序在E2B沙箱中处理视频,使用Groq的视觉/语言模型分析帧,并使用MCP向Notion读取/写入数据,所有这些都在E2B环境中运行。

为什么使用这个?

  • 与您的视频数据保持联系 -基于语义搜索检索相关帧,无需重新观看整个视频
  • 隐私第一的方法 -无需将私人数据上传到外部服务;所有处理都通过E2B沙盒中的安全API调用进行
  • 智能帧检索 -查找特定时刻,检测重复帧,并自然查询您的视频内容
  • 持久知识库 -视频分析存储在Notion中,使其可搜索和可重用

未来改进

  • 音频模式 -在创建嵌入时将语音合并到文本中,以获得更丰富的上下文
  • 视频推荐系统 -根据内容相似性推荐相关视频
  • 语义剪辑搜索 -在图像和视频目录中搜索
  • 视频质量保证和互动理解 -增强的视频内容对话界面
  • 视频机器学习训练的数据清理 -识别并删除重复帧、低质量片段
  • 矢量数据库集成 -存储嵌入以实现更快的相似性搜索和检索

建筑

┌─────────────────────────────────────────────────────────┐
│                      E2B Sandbox                        │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐  │
│  │   OpenCV    │───▶│    Groq     │───▶│  MCP Client │  │
│  │   (Frames)  │    │  (VLM/LLM)  │    │  (Notion)   │  │
│  └─────────────┘    └─────────────┘    └─────────────┘  │
└─────────────────────────────────────────────────────────┘
              ▲                                  │
              │                                  ▼
        ┌───────────┐                    ┌─────────────┐
        │ Streamlit │                    │   Notion    │
        │    App    │                    │  (Storage)  │
        └───────────┘                    └─────────────┘

视觉概述

系统流程图

演示视频

观看演示

运作原理

一切都在E2B内部运行

  1. E2B沙箱 -安全的云环境:

    • 接收视频文件
    • 运行OpenCV进行帧提取
    • 调用Groq API进行人工智能分析
    • 通过MCP连接到Notion
  2. Groq(E2B内部) -AI处理:

    • VLM(视觉): llama-4-scout-17b 分析帧三元组(之前/当前/之后)
    • 法学硕士(文本): llama-3.1-8b-instant 为聊天界面供电
  3. MCP连接(E2B内部) -概念整合:

    • E2B提供MCP URL和令牌
    • MCP客户端从沙箱中连接到Notion
    • 写:Notion页面的带时间戳的帧描述
    • 阅读:获取聊天查询的存储分析

处理流程

Video Upload → E2B Sandbox Created
                    ↓
            Frame Extraction (OpenCV)
                    ↓
            Frame Analysis (Groq VLM) ← runs inside E2B
                    ↓
            Save to Notion (MCP) ← runs inside E2B
                    ↓
               Sandbox Killed

聊天流程

User Question → E2B Sandbox Created
                      ↓
              Read from Notion (MCP) ← runs inside E2B
                      ↓
              Generate Answer (Groq LLM) ← runs locally
                      ↓
                 Sandbox Killed

特性

  • 表1-过程视频:上传文件或YouTube网址,分析帧,保存到Notion
  • 选项卡2-聊天:使用时间戳引用查询您的视频知识

先决条件和API设置

1.E2B API密钥

E2B为代码执行提供了安全的云沙盒。

  • 注册地址: e2b.dev
  • 转到仪表板→ API密钥
  • 生成并复制API密钥

2.Groq API密钥

Groq为LLaMA模型提供了快速推理。

  • 注册地址: console.groq.com
  • 导航到API密钥部分
  • 创建新的API密钥

3.概念集成设置

Notion需要集成以允许API访问。

步骤1:创建集成

  • 首选 notion.so/my集成
  • 点击“新建集成”
  • 为其命名(例如,“视频分析器”)
  • 选择您的工作区
  • 复制“内部集成令牌”

步骤2:将集成连接到页面

  • 打开要保存视频分析的Notion页面
  • 点击 ••• 菜单(右上角)
  • 选择“添加连接”
  • 查找并添加您的集成

步骤3:获取页面ID

  • 在Notion中打开页面
  • 复制URL: https://notion.so/Your-Page-Title-abc123def456
  • 页面ID是末尾的32个字符的字符串(不带连字符): abc123def456...

安装

pip install streamlit python-dotenv e2b yt-dlp mcp groq pillow

创建 .env:

E2B_API_KEY=your_e2b_key
GROQ_API_KEY=your_groq_key
NOTION_INTEGRATION_TOKEN=your_notion_token
NOTION_PAGE_ID=your_page_id

跑

streamlit run main.py

技术栈

组件 技术 运行地点
UI 流媒体 本地
沙盒 E2B 云
帧提取 OpenCV E2B内部
视觉AI Groq VLM E2B内部
聊天AI Groq LLM 本地
数据存储 通过MCP通知 E2B内部

内置E2B•Notion MCP•Groq•Streamlit