一个PyQt5实现的视频播放器和标注工具,支持便捷快速的视频片段分割、标签标注和关键帧标记。

-
环境安装 & App使用
pip install -r requirements.txt
python -u app.py -
创建一个
*json文件用于保存所有annotations状态 -
选择一个包含
*.mp4视频文件的目录,支持多级目录 -
预览视频并进行标注!(参考功能介绍与快捷键指南)
-
附:App打包 参考
INSTALL
配置选项 config.toml
编辑文件,增加 / 删除 / 修改 选项文本和选项类型
支持 Label / CheckBox / GroupBox / RadioButton 等多种类型。
- 版本:1.0.0
- 发布日期:2025-05-12
- 支持可变速度的视频播放控制
- 通过断点进行片段分割
- 片段标签标注(接受/拒绝)并支持自定义原因
- 关键帧标记和导航
- 选定片段的循环播放
- 支持批量处理的播放列表
- 自动状态保存和加载
(在Windows系统中,使用Ctrl键;在macOS系统中,使用Command键)
空格键- 播放/暂停Command + 左箭头- 跳转到视频开始Command + 右箭头- 跳转到视频结束L- 切换选定片段的循环播放Shift + [- 播放前一个视频Shift + ]- 播放下一个视频
左箭头- 上一帧右箭头- 下一帧Shift + 左箭头- 后退10帧Shift + 右箭头- 前进10帧J- 跳转到选定片段的起始帧Shift + ,- 跳转到上一个断点Shift + .- 跳转到下一个断点,- 跳转到上一个关键帧.- 跳转到下一个关键帧
Esc- 清除所有片段选择A- 将选定片段标记为接受(片段将被标记为绿色)R- 将选定片段标记为拒绝(片段将被标记为红色)C- 清除选定片段的标签D- 删除片段,将删除选定片段的起始和结束断点
Command + B- 在当前帧切换断点
K- 确认(或取消)当前帧为关键帧
工具使用 config.toml 文件进行配置:
- 程序基本信息
- 可自定义的接受/拒绝原因
- 启动应用程序,创建新的标注文件或打开已有的标注文件
- 选择视频文件所在目录(程序将自动扫描目录中的视频文件)
- 使用播放控制导航视频,使用
空格键播放/暂停 - 使用
Command + B添加断点并分割视频片段 - 使用鼠标点击选择片段,使用
Esc清除选择 - 使用
A/R标记选定片段,使用C清除片段标签 - 使用
K添加(或删除)选定片段的关键帧,使用,和.导航关键帧 - 使用
J跳转到选定片段的起始帧 - 使用
L切换选定片段的循环播放 - 所有更改都会自动保存
工具会自动保存以下信息:
- 片段,包括标签和接受/拒绝原因、关键帧帧号
- 定义片段起始和结束的断点帧号
- 用于完整性验证的视频文件SHA-256校验和
状态保存在配置的标注文件中,重新打开视频时会自动加载。
A video player and annotation tool that allows for easy video clip segmentation, labeling, and keyframe marking.
- Version: 1.0.0
- Release Date: 2025-05-12
- Video playback with variable speed control
- Clip segmentation with break points
- Clip labeling (Accept/Reject) with customizable reasons
- Keyframe marking and navigation
- Loop playback for selected clips
- Playlist support for batch processing
- Automatic state saving and loading
(In Windows, use Ctrl key; in macOS, use Command key)
Space- Play/PauseCommand + Left- Go to video startCommand + Right- Go to video endL- Toggle loop playback for selected clipsShift + [- Play previous videoShift + ]- Play next video
Left Arrow- Previous frameRight Arrow- Next frameShift + Left- Jump 10 frames backwardShift + Right- Jump 10 frames forwardJ- Jump to selected clip's start frameShift + ,- Go to previous break pointShift + .- Go to next break point,- Go to previous keyframe.- Go to next keyframe
Esc- Clear all clips selectionA- Label selected clips as AcceptR- Label selected clips as RejectC- Clear label of selected clipsD- Delete clips, will delete start and end break points of selected clips
Command + B- Toggle break point at current frame
K- Toggle keyframe at current frame
The tool uses a config.toml file for configuration:
- Basic information of the program
- Customizable Accept/Reject reasons
- Launch the application, create a new annotation file or open an existing annotation file
- Select the directory containing video files (the program will automatically scan the directory for video files)
- Use playback controls to navigate through video, use
Spaceto play/pause - Use
Command + Bto add break points and segment video into clips - Use mouse click to select clips, use
Escto clear selection - Use
A/Rto label selected clips, useCto clear label of selected clips - Use
Kto add (or remove) keyframes for selected clips, use,and.to navigate through keyframes - Use
Jto jump to the start frame of selected clips - Use
Lto toggle loop playback for selected clips - All changes are automatically saved
The tool automatically saves the following information:
- Clips, with labels and accept / reject reasons, keyframe frame indices
- Break points, which define the start and end of clips
- Video file SHA-256 checksums for integrity verification
States are saved in the configured annotation file and loaded automatically when reopening videos.