# 视频面试洞察 **Repository Path**: tyerp/video-interview-insights ## Basic Information - **Project Name**: 视频面试洞察 - **Description**: 本地运行的实时人脸情绪演示:浏览器调用摄像头,经 WebSocket 将画面帧送至 FastAPI,由 DeepFace 解析七类情绪(愤怒、厌恶、恐惧、高兴、悲伤、惊讶、平静)并返回人脸框;Vue 3 侧以「视频面试洞察」界面呈现——画中叠加检测框与 实施建议 文案,主栏含 实时情绪变化 色带与 七类情绪占比 条,侧栏含 紧张度 / 自信度 双环(由情绪概率在前端加权平滑得到)、紧张度走势 折线 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 动态人脸识别 · 视频面试洞察 本地运行的实时人脸情绪演示:浏览器调用摄像头,经 **WebSocket** 将画面帧送至 **FastAPI**,由 **DeepFace** 解析七类情绪(愤怒、厌恶、恐惧、高兴、悲伤、惊讶、平静)并返回人脸框;**Vue 3** 侧以「视频面试洞察」界面呈现——画中叠加检测框与 **实施建议** 文案,主栏含 **实时情绪变化** 色带与 **七类情绪占比** 条,侧栏含 **紧张度 / 自信度** 双环(由情绪概率在前端加权平滑得到)、**紧张度走势** 折线与 **情绪轮廓** 雷达图。分析结论仅供产品演示与交互参考,不构成任何录用或评价依据。 ![界面预览](screen.jpg) ## 环境要求 - Python 3.10+(推荐 3.11/3.12;当前依赖含 TensorFlow,需与本机环境匹配) - Node.js 18+ ## 后端启动 ```bash cd backend python3 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt uvicorn main:app --host 0.0.0.0 --port 8000 ``` 默认提供: - `GET /health` 健康检查 - `POST /analyze` 上传单张 JPEG 分析 - `WebSocket /ws` 接收 JPEG 二进制流,返回 JSON 情绪结果 若启动时报错缺少 `tf_keras`,依赖里已包含 `tf-keras`;可手动执行:`pip install tf-keras`。 ## 前端启动 ```bash cd frontend npm install npm run dev ``` 浏览器打开终端里提示的地址(一般为 `http://127.0.0.1:5173`)。 后端不在本机或端口不同时,可在 `frontend` 目录新建 `.env`: ```env VITE_WS_URL=ws://127.0.0.1:8000/ws ``` 修改后需重新执行 `npm run dev`。 ## 生产构建前端 ```bash cd frontend npm run build ``` 静态文件在 `frontend/dist`,可用任意静态服务器托管;需保证页面能通过 **HTTPS 或 localhost** 访问,否则浏览器可能拒绝摄像头。 ## 同时使用 1. 先启动后端(端口 8000) 2. 再启动前端(端口 5173) 3. 允许浏览器使用摄像头