f9c80b7737720a8fb5be2042434bf97a957ffb3a
CjTUI
Chris Jellyfin Terminal User Interface
This is the first actually useful programming project I have completed. I still can't write in rust because of generative AI. Maybe one day when I am better at programming I will refactor the codebase and figure out how to hand code a transcoding option that actually is compatible with Jellyfin API.
Linux Only Curreently.
Features
- Blazingly Fast Speed
- Online and Offline Playback
- Robust Download Connectivity
- Individual Download and Batch Download Support
- Download Queue Management
- Local Media Management
- Autoplay and Resume functionality
- Sends Current Watch Position to the Server
- Playlist and Collection Support
- Persistent Auth
System Dependencies on
MPV and ARIA2C
Persistent Storage
All application data is stored in: ~/.config/cjtui/
- config.toml: Server URL and API key is stored.
- downloads/: Local download data, used for local playback and offline navigation.
- temp/: Temporary download data during ARIA2C functionality.
Controls
General Interface Controls
- Up/K: Up
- Right/L/Enter: Drilldown/Enter
- Down/J: Down
- Left/H/Backspace/Esc: Back
- q: Return to the home screen or quit.
- /: Search: Click once to search and clicking / multiple times cycles through search categories.
How to Watch Media
- p: Play: Starts a show playing at the beginning and will use offline playback if available.
- P: AutoPlay: Starts a show playing at the beginning and will use offline playback if available. Turns on auto play mode which will play the next episode in series or song in the playlist.
- r: Resume: If there is a pause position online, it will stream beginning at the paused position.
- R: AutoResume: Resume + Autoplay flag is on.
- w: Watched: Marks as watched.
- W: Not Watched: Marks as unwatched.
Media Player Control
- Space: Pause
- x: close mpv
- f: full screen media player
- a: cycle audio track
- s: cycle subtitles
- v: change subtitle visibility.
Local File Management
- d: Queue file for download
- D: Enter the download visual queue.
- (d on an item in the queue): Remove item from queue.
- X: Deletes the local file if the file exists.
- o: Enter offline playback/Attempt to ping the server to join online mode. (Local downloaded database is available during this mode)
Admin Controls
- /\reset"Enter": Deletes the config file and exits the program. Reloading will prompt URL, Username, and Password Input.
Description
Terminal User Interface for the consumption and downloading of media from Jellyfin Media Servers.
Languages
Rust
99.4%
Nix
0.6%