Giter VIP home page Giter VIP logo

ytermplayer's Introduction

ytTerm player (BETA)

Play youtube playlists as audio on linux terminal

Build Status PyPI version PyPI pyversions PyPI license

About

ytTerm player is a terminal youtube music player. It's completely written in python.

UI: Made using a wrapper for curses called urwid

Player: Handled using python-mpv

Stream fetch: Audio streams from youtube are fetched using pafy

Features:

  • Import and play youtube playlists on terminal
  • Save playlists in library
  • Use several playback modes such as repeat one, repeat list, random
  • Download complete list (coming soon)

Installation

Set up a virtual environment and install the dependencies:

$ pip install -r requirements.txt

python3 pip :-

$ pip install ytermplayer
$ yterm

or Git clone :-

$ git clone https://github.com/TimeTraveller-San/yTermPlayer
$ cd yTermPlayer/yTermPlayer/
$ python __main__.py

Dependencies

Python 3

ytTerm player uses a number of open source projects to work properly:

ytTerm player itself is open source. Feel free to modify and distribute the code

KeyBindings

Key Function
s save current list
enter select option/play song at selection
n play next song
p play previous song
h play first song
e play last song
space pause/play song
u volume up
d volume down
q quit
1 playback mode: Repeat one
2 playback mode: Repeat list
3 playback mode: None
r playback mode: Random
more features coming soon

Screenshots

Start screen :

Start Screem

The UI will automatically use your terminal colors.

Blue Yellow

FAQ

  • How to fix out of range/url not found errors?

YouTube keeps changing its structure so it's important you have installed the latest version of youtube-dl as follows: pip install --upgrade youtube_dl

  • Where are my playlists stored and how to delete playlists?

Playlists are saved in $HOME/.yTermPlayer/playlists as plain text. You may delete or add new playlists directly here.

  • How to contact me?

Email: [email protected] Twitter: https://twitter.com/timetravellertt

Known Bugs

  • Buggy / unexpected playback behavior It was caused because of race conditions and absence of critical section among the threads. Fixed it using semaphores

  • If some VLC error starts showing up on the screen, just resize the terminal and it will be gone Completely removed VLC and replaced it with much more minimal and faster mpv player. Thank to python-mpv by jaseg

ytermplayer's People

Contributors

vaibkumr avatar samsamhuns avatar 4shadoww avatar kevcui avatar saltlakeryan avatar vitominheere avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.