Skip to content

NMertsch/podcaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Podcaster

Podcaster is a command line podcast player. It uses mpv as media player.

How it works:

  • read podcast RSS feeds from ~/.config/podcaster.conf
  • parse them using the feedparser library
  • user selects podcast and episode using a curses interface
  • extract audio file URL via youtube-dl
  • play via python-mpv

For a more versatile and feature-complete program, check out podcast-player or castero.

Requirements

  • python, version 3.6 or later
  • pip as package manager for Python
  • Python packages are automatically installed via setup.py
  • libmpv must be available for python-mpv to work
  • notify-send must be available for error notifications

Debian/Ubuntu:

  • apt install python3 python3-pip libmpv1 libnotify-bin

Installation

git clone [this repository]
cd podcaster/
pip install .

Usage

Add URLs to RSS feeds of your favourite podcasts to ~/.config/podcaster.conf like this (comments and blank lines are optional):

# Python-specific
https://realpython.com/podcasts/rpp/feed
http://feeds.soundcloud.com/users/soundcloud:users:82237854/sounds.rss  # import this

# AI
https://lexfridman.com/category/ai/feed/

# General
https://feeds.simplecast.com/XA_851k3  # stack overflow podcast

Then use podcaster from the terminal.

Keybindings

  • Selection menu
    • up, down, j, k: navigation
    • return, right, l: select
    • escape, left, h: back
    • q: quit
  • Audio player
    • left, right, h, l: forward/backward seek
    • space, p: pause
    • up, down, j, k: volume up/down
    • [, ]: playback speed up/down
    • espace, q: quit

Screenshots

screenshots/initial.png

Fetching...

screenshots/podcasts.png

Select podcast

screenshots/episodes.png

Select episode

screenshots/player.png

Play episode

Details

  • Should work on any Linux system, tested on Ubuntu 20.04
  • Might work on Windows, besides the desktop notification (this might be useful)
  • The podcast list file is specified in config.py
  • The curses interface is not very elaborate and quite fragile. I might fix that later. Pull requests are welcome

About

Command Line Podcast Player

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published

Languages