5 个版本
0.1.4 | 2024年2月22日 |
---|---|
0.1.3 | 2023年12月7日 |
0.1.2 | 2023年12月5日 |
0.1.1 | 2023年11月11日 |
0.1.0 | 2023年11月1日 |
#194 in 命令行工具
每月 42 次下载
795KB
709 行
Classi-Cine
Classi-Cine 是一个基于 Rust 的工具,它使用朴素贝叶斯分类器对基于文件名的视频进行标签。它通过交互式方式与 VLC 的播放状态进行交互,实现用户引导的分类。
此工具的第一版用于帮助根据视频文件路径中学习到的特征(单词、标记、n-gram)查找和标记要删除的视频。标签名称 "保留" 和 "删除" 是任意的,可以重写。例如,您可以将此用作本地视频文件的视频推荐引擎。停止播放将训练并推荐其他类似视频文件。
主要功能
- 交互式训练:按空格键暂停标记视频为 "保留",按 s 键停止标记视频为 "删除"(快捷键)。
- 动态重新排序:根据用户输入更新和重新排序分类器。
- 自定义标签:可以自定义 "保留" 和 "删除" 标签,这使得此工具适用于不同的应用场景。
安装
需要 VLC 进行视频播放。
请确保您已安装 Rust 和 Cargo。如果没有,您可以使用 rustup 进行安装。
从 Cargo
# Build from the cargo.io crate registry.
$ cargo install classi-cine
从源代码
# Clone this repository
$ git clone https://github.com/mason-larobina/classi-cine.git
# Go into the repository
$ cd classi-cine
# Build and install it locally
$ cargo install --path=.
用法
Usage: classi-cine [OPTIONS] <PATHS>...
Arguments:
<PATHS>...
Options:
--tokenize <TOKENIZE>
The tokenizer to use [default: chars] [possible values: words, chars]
--windows <WINDOWS>
Create ngrams (windows of tokens) from 1 to N [default: 20]
--delete <DELETE>
The text file containing the files to delete [default: delete.txt]
--keep <KEEP>
The text file containing the files to keep [default: keep.txt]
--log-level <LOG_LEVEL>
[default: info]
-f, --fullscreen
Fullscreen VLC playback
--file-size-log-base <FILE_SIZE_LOG_BASE>
The log base for the file size which is mixed into the classifier score to preference larger files over smaller files. Recommended values are close to 1.0, for example 1.1, 1.01, 1.001, and so on
--vlc-port <VLC_PORT>
[default: 9010]
--video-exts <VIDEO_EXTS>
[default: avi,flv,mov,f4v,flv,m2ts,m4v,mkv,mpg,webm,wmv,mp4]
-h, --help
Print help
工作原理
- 发现视频文件:在给定的目录中查找所有视频文件。
- 标记化:对视频文件路径中的单词进行标记化,并后处理以处理独特和常见的标记。
- 初始化分类器:将文件列表中的先前标签状态加载到分类器中。
- 重新排序:根据视频文件路径中的特征确定下一个未标记的视频文件。
- 与 VLC 交互:使用 http 接口启动 VLC。
- 用户反馈循环:根据播放是暂停还是停止来调整分类器和视频排名,以训练分类器,重新排序并打开下一个可能的视频进行标记。
贡献
我们欢迎贡献!改进、错误修复、文档改进等都是受欢迎的。
许可证
此项目使用 MIT 许可证。有关详细信息,请参阅 LICENSE。
特别感谢
用❤️和Rust制作。
依赖项
~7–18MB
~267K SLoC