https://github.com/mason-larobina/classi-cine
A filename based interactive video tagging tool.
https://github.com/mason-larobina/classi-cine
bayesian-inference http laplace-smoothing naive-bayes-classifier reqwest rust serde-json vlc
Last synced: 4 months ago
JSON representation
A filename based interactive video tagging tool.
- Host: GitHub
- URL: https://github.com/mason-larobina/classi-cine
- Owner: mason-larobina
- License: mit
- Created: 2023-11-01T06:15:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-22T09:18:21.000Z (over 1 year ago)
- Last Synced: 2024-04-24T07:27:52.389Z (about 1 year ago)
- Topics: bayesian-inference, http, laplace-smoothing, naive-bayes-classifier, reqwest, rust, serde-json, vlc
- Language: Rust
- Homepage:
- Size: 763 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Classi-Cine
[](https://opensource.org/licenses/MIT)
[](https://github.com/mason-larobina/classi-cine/actions/workflows/rust.yml)
**Classi-Cine** is a Rust-based tool that combines multiple classifiers for
intelligent video organization. It uses file path characteristics along with
user feedback through VLC's playback controls to build smart playlists.## Overview
Classi-cine helps organize video libraries by learning from both content
patterns and your feedback. It combines multiple classification approaches:- **Smart Multi-Classifier System:**
- Byte pair encoding tokenization learns frequent character sequences
- Naive Bayes classification of filename tokens and token sequences
- Language and character set agnostic
- Optional file size classification (prefer larger/smaller files)
- Optional directory size classifier (prefer files in large/smaller
directories)- **Seamless VLC Integration:**
- Uses familiar VLC controls for feedback
- Stop video (s key) = positive classification
- Pause video (space) = negative classification
- Immediate playlist updates- **Universal Playlist Format:**
- Stores results in standard M3U format
- Compatible with most media players
- Preserves classification history
- Incremental saves for long sessions## Technical Details
- Uses probabilistic filters and parallel processing for fast and efficient
tokenization
- Adaptive tokenization learns from your library's naming patterns
- Sharded data structures for multi-core processing## Installation
VLC is required for video playback.
Ensure you have Rust and Cargo installed. If not, you can install them using
rustup.### From Cargo
```bash
# Build from the cargo.io crate registry.
$ cargo install classi-cine
```### From Source
```bash
# 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
```bash
Usage: classi-cine [OPTIONS]Commands:
build Build playlist through interactive classification
list-positive List positively classified files
list-negative List negatively classified files
help Print this message or the help of the given subcommand(s)Options:
--log-level [default: info]
-h, --help Print help
```## Contributing
We're open to contributions! Enhancements, bug fixes, documentation
improvements, and more are all welcome.## License
This project is licensed under the MIT License. See LICENSE for details.
## Special Thanks
Made with ❤️ and Rust.