Skip to content

NMertsch/podcaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages