• Stars
    star
    266
  • Rank 153,272 (Top 4 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created about 6 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Stream youtube playlists as audio on linux terminal

ytTerm player (BETA)

Play youtube playlists as audio on linux terminal

Build Status PyPI version PyPI pyversions PyPI license Downloads

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

Working video: https://youtu.be/rQpO1qBmxlY

Working video 2: https://youtu.be/bQrNtcIcHc0

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

More Repositories

1

prompt-optimizer

Minimize LLM token complexity to save API costs and model computations.
Python
226
star
2

JobSchedulingRLenv

Reinforcement learning environment for job scheduling written in python.
Python
23
star
3

RAN-Debias

Code for the TACL paper "Nurse is Closer to Woman than Surgeon? Mitigating Gender-Biased Proximities in Word Embeddings"
Python
16
star
4

DatasetScraper

Tool to create image datasets for machine learning problems by scraping search engines like Google, Bing and Baidu.
Python
16
star
5

Turing-machine-simulator

Turing machine simulator using python
Python
8
star
6

RL_from_scratch

This is where I write RL related stuff from scratch
Jupyter Notebook
8
star
7

ML-frontend-template

ML frontend template to receive ML features from an HTML form and pass it onto the flask API to fetch the result
CSS
7
star
8

FoodWastePrevention-RL

Multi-Agent RL for dynamic pricing of food to save wastage while maximizing profit
Python
6
star
9

crypto_predictor

Crypto price predictor using machine learning
Jupyter Notebook
4
star
10

PIC-16B-TA-W23

TA Material for PIC16B Winter 2023
HTML
3
star
11

Phone-Activity-Process-Mining

Process Mining for Phone Activity Logs
Python
3
star
12

FairGAN

A GAN based approach to mitigate gender bias in word embeddings
Jupyter Notebook
3
star
13

ML-CPP

Basic ML in CPP
C++
2
star
14

stats-for-ml

This repository is my record of simple experimentations on things related to stats, probability and similar interesting stuff
Jupyter Notebook
2
star
15

PIC-20A-TA-1B-S22

Java
1
star
16

Recursive-Descent-Parser

A Simple Recursive Descent Parser for a simple grammar
Python
1
star
17

jax-haiku-ml

Learning Jax and Haiku for Machine Learning
Jupyter Notebook
1
star
18

DQN-Atari

DQN based agent for Atari games
Python
1
star
19

pyWeblog

A static web blog created in python
Python
1
star
20

deep_learning_otae_detector

Shimura Tae (Gintama) detection using deep learning
Jupyter Notebook
1
star
21

Web-Console

A simple Information Console for personal websites
JavaScript
1
star
22

Work-Compilation

Compilation of all my code
1
star
23

CacheReplacementEnv

A simple reinforcement learning environment for page cache replacement in OS.
Python
1
star
24

Data-Encryption-Standard

Python implementation of Data Encryption Standard (DES) - Computer Networks
Python
1
star
25

whatsapp.moe

whatsapp.moe is a google chrome extensions and a mozilla firefox add-on
JavaScript
1
star
26

dotfiles2

Python
1
star
27

youtube-qna-frontend

HTML
1
star
28

Image_Segmentation

A collection of various models, archtectures and augmentations for Image Segmentation
Jupyter Notebook
1
star
29

Time-Series-Deep-Learning-Kaggle

Time Series Deep Learning models for M5 Kaggle
Jupyter Notebook
1
star
30

automate-data-collection

A python script to automate C++ elf file signature data collection process
C++
1
star