Skip to content

Repository files navigation

VideoCaptioner Logo

VideoHelper

基于爬虫、语音识别、机器翻译、大语言模型的视频播放助手

简体中文 / English

📖 项目介绍

​ 基于爬虫、语音识别、机器翻译、大语言模型的视频播放助手,定位为一款带有下载视频、生成字幕、字幕翻译等功能的**在本地使用的 ** 网页视频播放器。本项目借鉴、使用了诸多开源项目的成果,是三名大三学生的专业选修课大作业。

📸 界面预览

🚀 快速开始

  1. 克隆本项目或者下载项目文件夹,进入项目目录VideoHelper

  2. 配置python环境

    conda create -n VideoHelper python=3.9
    conda activate VideoHelper
    pip install -r requirements.txt
  3. linux下启动(每次启动前都要 “conda activate VideoHelper” 激活python虚拟环境)

    bash launch.sh
  4. 使用

    主要功能

  5. 退出

✨ 主要功能

  • 视频下载:输入网页URL(要求网页存在一个视频,并且为you-get所支持),为视频取一个名字,下载视频到本地。视频列表自动更新。
  • 字幕生成:点击视频播放器控制条的 “设置”(齿轮图标) -> “Captions” -> “原字幕” ,生成视频字幕文件到本地 ,并且播放器自动加载。
  • 字幕翻译:点击视频播放器控制条的 “设置”(齿轮图标) -> “Captions” -> “中文字幕” ,生成视频字幕文件到本地 ,并且播放器自动加载。
  • 视频列表:支持本地修改,修改后重新启动即可。

⚙️ 基本配置

  • 视频下载 使用开源项目you-get,需要联网下载。
  • 字幕生成 使用本地模型faster-whisper,默认模型规模为large-v2 。第一次使用会自动下载模型到默认路径(需要联网),大小大约3G,自动检测GPU。生成速度和电脑配置、视频时长有关。
  • 字幕翻译 使用智谱轻言api。是在线服务, 需要联网。

💡 项目架构

代码命名方式:本项目前端一般使用驼峰命名法,后端一般使用下划线。

项目的主要目录结构说明如下:

VideoHelper/
├── backend/                    # 后端python代码
├── docs/                    	# 文档使用的图片等
├── frontend/					# 前端html\css\js等文件
├── warehouse/					# 存储视频和字幕文件
	├── video/
	├── subtitle/
	├── subtitle_zh/
├── tmp							# 谷歌浏览器运行需要的用户数据目录
├── deeplx_*_*					# deeplx可执行文件
├── index.html					# 前端主页面
├── requirements.txt			# 后端所需依赖

Ackownledgement

开发日志

2024.12.18

  • 翻译改用glm-4-flash,更加稳定。
  • 添加设置功能 (针对翻译功能)

2024.12.17

  • 使用BootStrap优化前端页面

2024.12.16

  • 添加翻译功能

2024.12.13

  • 在本地开服务器解决前端加载本地文件时的跨源问题,发现又引入了视频无法拖动的问题。转而改为仍然本地运行网页,使用shell脚本启动chrome浏览器并且添加参数 “--disable-web-security --user-data-dir=tmp” 以解决跨源问题。同时简化启动方法。

    参考连接

  • 优化通知UI。

  • 增加通过名称搜索已经下载的视频的功能。

2024.12.11

  • 由于之前断断续续的开发,导致代码很... 所以re0。基本的下载视频、获取原语言字幕。 而且发现plyr支持vtt字幕,所以不用自己再实现字幕对齐等逻辑了。
  • 记录当前开源使用:plyr播放器,you-get, faster-whisper。
  • plyr播放器js,css为在线加载
  • faster-whisper模型下载到本地。

2024.12.7

  • 增加video_list板块,可在多个获取过的视频中切换。支持在本地文件夹增加、删除视频(或多个视频)(增加后点击列表右上角加号刷新列表,删除要刷新整个页面以更新list)。后续支持在网页上删除视频,修改视频名称。后续支持选中字幕文本暂停视频。

2024.12.6

  • 新增 settings.bin,目前只有配置whisper模型大小(用于语音识别)。
  • 删除音频提取功能,发现whisper可以直接处理视频!

2024.12.5

  • 上传初始代码,实现了基本功能(抓取视频,提取音频,提取字幕)和基本网页前端。

⭐ Star History

Star History Chart

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages