目录
目录README.md

视频字幕生成工具

概述

视频字幕生成工具是一个基于Vosk语音识别引擎的桌面应用程序,能够自动为视频文件生成实时字幕,并在播放过程中即时显示和调整字幕样式。本工具完全离线运行,保护用户隐私,支持中英文识别,并提供专业级的字幕样式自定义功能。

主要功能

  1. 离线语音识别

    • 使用Vosk引擎实现本地语音转文字
    • 无需网络连接,保护隐私安全
    • 支持中文和英文识别
  2. 实时字幕生成

    • 边播放边识别字幕
    • 动态更新字幕文件
    • 即时预览生成的字幕
  3. 专业字幕样式

    • 自定义字体、大小、颜色
    • 调整字幕位置和背景
    • 设置描边、阴影等特效
    • 支持中英文智能分行排版
  4. 高性能播放体验

    • 基于MPV播放器硬件加速
    • 跨平台支持(Windows/Linux/macOS)
    • 低延迟同步技术

技术栈

  • 语音识别: Vosk离线引擎
  • 视频播放: MPV硬件加速播放器
  • 音频处理: FFmpeg
  • 图形界面: PyQt5
  • 核心语言: Python 3.8+

安装指南

前提条件

  1. 安装Python 3.8或更高版本
  2. 安装FFmpeg并添加到系统PATH

安装步骤

# 克隆代码库
git clone https://gitlink.org.cn/yy2buqQSli/spzmazdsbxsgj.git
cd video-subtitle-generator

# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate      # Windows

# 安装依赖
pip install -r requirements.txt

# 下载Vosk语音模型
python download_models.py

模型下载

程序会自动下载所需模型,也可手动下载:

语言 模型下载地址
中文 vosk-model-cn-0.22.zip
英文 vosk-model-small-en-us-0.15.zip

将下载的模型解压到 resources/models/ 目录下:

resources/
├── models/
│   ├── zh/
│   │   └── vosk-model-cn-0.22
│   └── en/
│       └── vosk-model-small-en-us-0.15

使用说明

  1. 启动应用程序

    python main.py
  2. 基本操作流程

    1. 点击”浏览…”按钮选择视频文件
    2. 设置视频语言(中文/英文)
    3. 调整字幕样式参数(可选)
    4. 点击”开始处理与播放”按钮
    5. 程序开始提取音频并识别字幕
    6. 字幕随视频播放实时生成和显示
  3. 字幕样式调整

    • 字体设置:点击”选择字体”按钮
    • 颜色设置:点击”选择颜色”按钮
    • 位置调整:使用位置下拉菜单
    • 背景设置:调整背景颜色和不透明度
    • 特效设置:调整阴影和描边大小
  4. 保存字幕

    • 勾选”保存字幕文件”选项
    • 字幕文件将保存在应用根目录
    • 文件名格式:<视频名>.srt

配置选项

配置文件 config.json

{
  "default_model": "zh",
  "subtitle_style": {
    "font": "Microsoft YaHei",
    "size": 24,
    "color": "#FFFFFF",
    "position": "bottom",
    "bg_color": "#000000",
    "bg_opacity": 0.75,
    "shadow": 2,
    "outline": 1
  },
  "auto_save_srt": true,
  "temp_dir": "/path/to/temp/dir"
}

命令行参数

参数 说明 示例
--video 直接加载指定视频 python main.py --video "path/to/video.mp4"
--model 指定默认语言模型 python main.py --model en
--output 设置字幕输出目录 python main.py --output "subs/"
--debug 启用调试模式 python main.py --debug

已知问题与限制

  1. 长视频处理

    • 超过2小时的视频可能内存占用较高
    • 解决方案:使用--chunk-size参数分段处理
  2. 特殊格式支持

    • 部分专业视频格式需要额外编解码器
    • 解决方案:安装FFmpeg完整版
  3. 实时同步精度

    • 极端情况下可能出现毫秒级延迟
    • 解决方案:优化系统性能,关闭后台应用

常见问题解答

Q1: 为什么无法播放视频?

可能原因

  1. 缺少视频解码器
  2. FFmpeg未正确安装
  3. GPU驱动问题

解决方案

Q2: 字幕识别不准确怎么办?

优化建议

  1. 选择正确的语言模型
  2. 确保视频音质清晰
  3. 调整麦克风输入级别(如果使用外部音频)
  4. 在安静环境中处理视频

Q3: 如何提高处理速度?

性能优化

# 使用高性能模式(需要NVIDIA GPU)
python main.py --hardware nvidia

# 限制资源使用(适合低配设备)
python main.py --cpu-limit 50 --memory-limit 1024

开发指南

项目结构

video-subtitle-generator/
├── main.py                 # 主程序入口
├── resources/              # 资源文件
│   ├── models/             # 语音模型
├── requirements.txt        # Python依赖
└── README.md               # 项目文档

扩展功能

添加新语言支持

  1. Vosk模型库下载模型
  2. 将模型放入resources/models/目录
  3. config.json中添加语言配置

许可证

本项目采用 Apache License 2.0 开源协议

Copyright 2023 Shandong Jiaotong University

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

山东交通学院 · 乐而为团队
王浩田 · 郭梦伟 · 王泰朔

关于

实现视频字幕的生成工具

3.2 GB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号