目录
目录README.md

赛题题目:视频字幕AI自动识别显示工具

python3 License

基于mpv视频播放器框架和whisper模型实现了视频字幕AI自动识别的功能,并根据赛题要求完成了以下功能(通过mpv脚本的形式实现):

  • 基于linux系统环境下的mpv视频播放器框架实现了视频播放;
  • 视频字幕由AI自动识别并在mpv程序中进行显示;
  • 字幕显示可带翻译,支持翻译为包括简体中文在内的多种语言;
  • 字幕样式可热配置,支持配置字幕大小、颜色、位置与显示字体;
  • 实测(测试了约10个多种语言的视频)识别字幕准确率>90%;
  • 在先执行预加载的情况下,视频实时播放可实现字幕识别延迟总体小于1s、全部小于2s;
  • 在视频播放的过程中后台mpv终端能实时反馈系统CPU、内存、显存信息;

安装说明

我们在基于WSL2的Ubuntu系统中进行了安装测试,能够成功运行本项目,其他类Unix系统可在合适的桌面环境下进行类似的安装过程。下面是Ubuntu系统中的安装流程:

  1. 确保系统中安装了python环境,是否为虚拟环境均可,获取python可执行文件的绝对路径备用。

    [!IMPORTANT]

    python推荐安装3.9到3.12之间的版本,不支持3.13版本!

  2. 通过系统包管理工具安装mpv视频播放器框架与PyQt5 GUI:

    sudo apt update
    sudo apt install mpv python3-pyqt5

    [!TIP]

    也可以通过自行编译mpv源码文件等方式进行安装操作。

  3. 下载整个仓库,将仓库中的所有内容复制到mpv的配置目录下,这个目录默认为~/.config/mpv/

  4. 在默认运行的python环境中安装所需的pip依赖:

    cd ~/.config/mpv/script-modules/translator
    pip install requirements.txt
  5. 这个仓库下载whisper模型的可执行文件压缩包(确保适用的操作系统类型为linux,即文件后缀为xxx_linux.7z),将其中的内容解压到~/.config/mpv/script-modules/文件夹中,确保该文件夹中至少包含以下文件/文件夹:

    script-modules
    ├── _xxl_data
    ├── faster-whisper-xxl
    ├── get_system_fonts.sh
    ├── translator
    └── user-input-module.lua
  6. 配置scripts/sub-segment-whisper-common.lua中的以下内容:

    -- 默认配置
    local opts = {
        ...
    
        -- Faster-Whisper配置
        fast_whisper_path = os.getenv("HOME") .. "/.config/mpv/script-modules/faster-whisper-xxl", -- 模型路径,默认不需要改动
        ...
    
        python_path = os.getenv("HOME") .. "/miniconda3/envs/mpv/bin/python", -- python 可执行程序路径,此处为conda虚拟环境中-- python 可执行程序路径
        ...
    }

    [!TIP]

    配置文件中的其他内容 / 其他文件中存在的配置内容可自行选择配置。

  7. 以上内容全部配置完成之后,此时在当前桌面环境下执行mpv <video_path>命令即可播放视频,并带有相应的字幕功能。

    [!IMPORTANT]

    在首次尝试播放时,项目会从Hugging Face下载必要的模型文件,请保证网络的可用性。

  8. GUI: 除了通过执行命令播放视频,也可使用图形化界面选择视频播放,并带有设置界面来配置scripts/sub-segment-whisper-common.lua中对应配置项,支持系统资源实时监控显示。运行gui/main.py文件即可通过GUI播放视频。

    [!IMPORTANT]

    需要先安装gui/requirements.txt中的pip依赖,再在gui/main.py文件中配置mpv_path为你的mpv可执行程序路径:

    class MPVLauncher(QMainWindow):
    
    mpv_path = "/usr/bin/mpv"  # mpv 安装路径,默认为使用apt安装时存放的可执行文件路径

    然后在系统中配置环境变量QT_XCB_GL_INTEGRATION的值为none

    export QT_XCB_GL_INTEGRATION=none

播放器内预设键位说明

r: 字幕位置上移

shift+r: 字幕位置下移

alt+up: 增大字幕大小(默认大小步长为2,下面同理)

alt_down: 减小字幕大小

alt+y: 精确输入调整字幕大小(esc取消,下面同理)

alt+c: 调整字幕颜色(输入格式为RRGGBB/RRGGBBAA,#号可选输入)

alt+a: 调整字幕字体。在此模式下:

  • up/down: 选择字体

  • left/right: 翻1页

  • alt+left/right: 快速翻页,默认配置为翻5页

  • enter: 确认选择字体

  • esc: 取消选择字体

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

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