Create 演示视频.mp4
基于mpv视频播放器框架和whisper模型实现了视频字幕AI自动识别的功能,并根据赛题要求完成了以下功能(通过mpv脚本的形式实现):
我们在基于WSL2的Ubuntu系统中进行了安装测试,能够成功运行本项目,其他类Unix系统可在合适的桌面环境下进行类似的安装过程。下面是Ubuntu系统中的安装流程:
确保系统中安装了python环境,是否为虚拟环境均可,获取python可执行文件的绝对路径备用。
[!IMPORTANT] python推荐安装3.9到3.12之间的版本,不支持3.13版本!
[!IMPORTANT]
python推荐安装3.9到3.12之间的版本,不支持3.13版本!
通过系统包管理工具安装mpv视频播放器框架与PyQt5 GUI:
sudo apt update sudo apt install mpv python3-pyqt5
[!TIP] 也可以通过自行编译mpv源码文件等方式进行安装操作。
[!TIP]
也可以通过自行编译mpv源码文件等方式进行安装操作。
下载整个仓库,将仓库中的所有内容复制到mpv的配置目录下,这个目录默认为~/.config/mpv/。
~/.config/mpv/
在默认运行的python环境中安装所需的pip依赖:
cd ~/.config/mpv/script-modules/translator pip install requirements.txt
从这个仓库下载whisper模型的可执行文件压缩包(确保适用的操作系统类型为linux,即文件后缀为xxx_linux.7z),将其中的内容解压到~/.config/mpv/script-modules/文件夹中,确保该文件夹中至少包含以下文件/文件夹:
~/.config/mpv/script-modules/
script-modules ├── _xxl_data ├── faster-whisper-xxl ├── get_system_fonts.sh ├── translator └── user-input-module.lua
配置scripts/sub-segment-whisper-common.lua中的以下内容:
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] 配置文件中的其他内容 / 其他文件中存在的配置内容可自行选择配置。
配置文件中的其他内容 / 其他文件中存在的配置内容可自行选择配置。
以上内容全部配置完成之后,此时在当前桌面环境下执行mpv <video_path>命令即可播放视频,并带有相应的字幕功能。
mpv <video_path>
[!IMPORTANT] 在首次尝试播放时,项目会从Hugging Face下载必要的模型文件,请保证网络的可用性。
在首次尝试播放时,项目会从Hugging Face下载必要的模型文件,请保证网络的可用性。
GUI: 除了通过执行命令播放视频,也可使用图形化界面选择视频播放,并带有设置界面来配置scripts/sub-segment-whisper-common.lua中对应配置项,支持系统资源实时监控显示。运行gui/main.py文件即可通过GUI播放视频。
gui/main.py
[!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
需要先安装gui/requirements.txt中的pip依赖,再在gui/main.py文件中配置mpv_path为你的mpv可执行程序路径:
gui/requirements.txt
mpv_path
class MPVLauncher(QMainWindow): mpv_path = "/usr/bin/mpv" # mpv 安装路径,默认为使用apt安装时存放的可执行文件路径
然后在系统中配置环境变量QT_XCB_GL_INTEGRATION的值为none:
QT_XCB_GL_INTEGRATION
none
export QT_XCB_GL_INTEGRATION=none
r: 字幕位置上移
r
shift+r: 字幕位置下移
shift+r
alt+up: 增大字幕大小(默认大小步长为2,下面同理)
alt+up
alt_down: 减小字幕大小
alt_down
alt+y: 精确输入调整字幕大小(esc取消,下面同理)
alt+y
esc
alt+c: 调整字幕颜色(输入格式为RRGGBB/RRGGBBAA,#号可选输入)
alt+c
alt+a: 调整字幕字体。在此模式下:
alt+a
up/down: 选择字体
up/down
left/right: 翻1页
left/right
alt+left/right: 快速翻页,默认配置为翻5页
alt+left/right
enter: 确认选择字体
enter
esc: 取消选择字体
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
赛题题目:视频字幕AI自动识别显示工具
基于mpv视频播放器框架和whisper模型实现了视频字幕AI自动识别的功能,并根据赛题要求完成了以下功能(通过mpv脚本的形式实现):
安装说明
我们在基于WSL2的Ubuntu系统中进行了安装测试,能够成功运行本项目,其他类Unix系统可在合适的桌面环境下进行类似的安装过程。下面是Ubuntu系统中的安装流程:
确保系统中安装了python环境,是否为虚拟环境均可,获取python可执行文件的绝对路径备用。
通过系统包管理工具安装mpv视频播放器框架与PyQt5 GUI:
下载整个仓库,将仓库中的所有内容复制到mpv的配置目录下,这个目录默认为
~/.config/mpv/。在默认运行的python环境中安装所需的pip依赖:
从这个仓库下载whisper模型的可执行文件压缩包(确保适用的操作系统类型为linux,即文件后缀为xxx_linux.7z),将其中的内容解压到
~/.config/mpv/script-modules/文件夹中,确保该文件夹中至少包含以下文件/文件夹:配置
scripts/sub-segment-whisper-common.lua中的以下内容:以上内容全部配置完成之后,此时在当前桌面环境下执行
mpv <video_path>命令即可播放视频,并带有相应的字幕功能。GUI: 除了通过执行命令播放视频,也可使用图形化界面选择视频播放,并带有设置界面来配置
scripts/sub-segment-whisper-common.lua中对应配置项,支持系统资源实时监控显示。运行gui/main.py文件即可通过GUI播放视频。播放器内预设键位说明
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: 取消选择字体