Skip to content

koply/pikap

💿 pikap

CLI YouTube player without ads. Only audio stream from YouTube by Lavaplayer.
🕰️ Planned update for support the SoundCloud, Twitch and local audio files.

Current Version: beta-0.2

Objectives & Goals

  1. Minimal system usage (~150MB Memory)
  2. Fluent experience
  3. Scalable
  4. Easy to use
  5. Many planned features

Current Features

  1. YouTube search, selection at search result, YouTube Playlist playback, and queue management.
  2. Queue system: adding to queue, navigating within the queue and going back.
  3. Ability to view upcoming songs page by page, configurable via config.
  4. Song repeat mode. Ability to add songs to favorites. Play using favorite song selection or play all favorites as a playlist.
  5. Adding and removing songs from the favorites list.
  6. Show previously played songs and options to replay, add to queue, or delete them.
  7. Show previously played playlists and options to replay, add to queue, or delete them.
  8. Equalizer (some issues present but will be resolved).
  9. Commands to enable/disable DiscordRPC.
  10. Monitoring and garbage collectioning.

📸 Screenshots

Click here for screenshots

Those images from alpha version!


⚙️ Configuring

After the first run, the config.yml file is created in the master folder with its default configurations. By default, SQLite will be selected as the database. You can simply change it according to your wishes.

🔨 How To Build And Run

I will also share the compiled files when pikap goes into beta version.

Requirements are: Maven3, JDK >= 11

git clone https://github.com/koply/pikap
cd pikap
mvn install
sh run.sh

🗒️ Task List

  • Download option.
  • Equalizer for player
  • Support for SoundCloud, Twitch and local audio files.
  • Localization (output language)
  • Local web page for remote control the player
  • Database initialization and integration
  • Storing information of past songs with SQLite
  • Endless play mode with next suggested content from the song's YouTube page
  • Discord RPC
  • More efficient input-output handler (maybe tui?)
  • Colorized console handler with Chalk
  • Enchance the play command
  • Config commands
  • Config management commands
  • Favourite commands and system
  • Playlist commands
  • Repeat command
  • Shuffle command
  • Previous/back command
  • Queue/list command
  • Optional: Output device selector
  • Optional: Advanced search command