https://github.com/rools32/termipod
Podcasts in your terminal
https://github.com/rools32/termipod
curses downloader feedparser mpv player podcast rss youtube youtube-dl
Last synced: 8 months ago
JSON representation
Podcasts in your terminal
- Host: GitHub
- URL: https://github.com/rools32/termipod
- Owner: rools32
- License: gpl-3.0
- Created: 2018-01-20T17:00:37.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-06-24T22:51:55.000Z (over 5 years ago)
- Last Synced: 2025-05-07T15:08:55.830Z (9 months ago)
- Topics: curses, downloader, feedparser, mpv, player, podcast, rss, youtube, youtube-dl
- Language: Python
- Size: 6.77 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
termipod - Podcasts and Youtube in your terminal
================================================
termipod is a *curses* application written in Python3 to manage your podcasts and your youtube
channels in your terminal.

With it, you can:
* Handle channel/user/playlist youtube pages
* Handle RSS feeds with media
* Mark media as read/unread/skipped
* Download media
* Automatically download new media matching a pattern
* Play media with *mpv*, mark automatically as read if entirely played
* Create sub-channel based on regex (called mask)
* Add only media (with disabled channel)
* Display thumbnails (in urxvt terminal with pixbuf support)
* Create m3u playlists
* Search in your channel/media list
* Run local http server to stream m3u playlists and media (requires Python twisted module)
* Tag media and channels, filter media
* Export channels to file
* Customizable key bindings
* Fuse FS as a CLI with basic commands
Youtube channels are handled by *youtube_dl* for the first import to get all videos, but then,
for efficiency purpose, by *feedparser* reading the RSS feed provided by Google.
## User Interface
There are some screenshots from different situations.
### Media and channel lists
List of media with main information
List of channels with main information
List of channels with key binding list
List of channels with detailed information
List of media with detailed information
List of media with description
### Thumbnails
Small thumbnail in media list
Fullscreen thumbnail in media list
Fullscreen thumbnail in channel list
### mpv interface
mpv window launched by termipod
mpv window with help listing keys added by termipod
### Tags and categories
Media list with only "watch later" media
Channel list restricted to *favorites* and *science*
Set channel categories
### Streaming server
View and play your downloaded media or built playlists from a web browser
## Requirements
* appdirs
* feedparser
* mpv
* youtube_dl
* twisted (optional, for http server)
* pyfuse3 and trio (optional, for fuse FS)
## Installation
You can install it with pip:
pip install termipod
To install last version from master, simply clone it and run in the repository directory:
pip install .
And with optional modules:
pip install .[httpserver, fuse]
## Execution
# To open UI
termipod
# To show help
termipod --help
# To add a new channel from command line and automatically download new videos
termipod --add http://radiofrance-podcast.net/podcast09/rss_14257.xml --add-opts "auto=.*"
## License
termipod is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
termipod is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
[http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).