Podcast CLI player

Overview

podcast-cli


Top-like interface for listening to podcasts podcast-cli lets you play your favourite podcasts from the terminal:

podcast-cli

podcast-cli is entirely built with Go, you can run it on Linux, Mac OS and Windows.

Install

Fetch the latest release

Linux

sudo wget https://github.com/goulinkh/podcast-cli/releases/download/1.3.1/podcast-cli-1.3.1-linux-amd64 -O /usr/local/bin/podcast-cli
sudo chmod +x /usr/local/bin/podcast-cli

OS X

sudo curl -Lo /usr/local/bin/podcast-cli https://github.com/goulinkh/podcast-cli/releases/download/1.3.1/podcast-cli-1.3.1-darwin-amd64
sudo chmod +x /usr/local/bin/podcast-cli

Usage

podcast-cli requires no arguments and uses your default internet settings to access the internet.

Options

Options Description
-h or --help Print help information
-s or --search <query> List podcasts that matches the search query
-r or --rss <url> Custom podcast rss url source
-o or --offset <episode number starting with 0> Play episode number

Keybindings

Key Action
Enter Select
p, Space Pause
Esc Back
Right +10s
Left -10s
u Slowdown
d Speedup
q Exit

Issues

  • Unable to get audio length of a remote content, I have to download the audio file before playing it
Comments
  • Saves a lot of CPU by changing the rendering rate

    Saves a lot of CPU by changing the rendering rate

    CPU usage averaged 14 - 15% on my computer which is unreasonably high. Now it's more like 4%. You can get lower if you go above 16 ms (2 - 3% at 50 ms) but this seems like a good place to start. Also I restructured the code to be marginally more efficient because its a hot path

    opened by krischerven 5
  • Implementing Queue

    Implementing Queue

    Thank you for the great app!

    Currently, the app does not support "play next" functionality, but it would be quite useful to have that so that users do not need to select what to play next every time a story ends.

    Thanks.

    enhancement 
    opened by keiohtani 3
  • command line arguments: RSS URL, episode offset

    command line arguments: RSS URL, episode offset

    Hello,

    What an awesome project!

    I would really like some command line options so I could start playing an episode from the command line, eg pocast-cli --rss https://rss.whooshkaa.com/rss/podcast/id/12924 This would start playing the latest episode, or you could play an older one using an offset switch, eg pocast-cli --rss https://rss.whooshkaa.com/rss/podcast/id/12924 --offset 5

    enhancement 
    opened by tripper54 2
  • Podcast-cli download files everytime

    Podcast-cli download files everytime

    hi if you download an episode and exit, you should download that episode again in next time. i think podcast-cli should save file on disk and read that from disk for the next time.

    wontfix 
    opened by Monirzadeh 2
  • Several fixes, consistency changes, and optimizations

    Several fixes, consistency changes, and optimizations

    • make the program not panic on bad search queries (which breaks some terminals)
    • make the program fail to run when given invalid arguments
    • add podcast-cli and Vim files to .gitignore
    • consistency changes ([]*Episode{} -> make([]*Episode, 0), etc)
    • slice pre-allocation optimizations
    • formatting changes
    opened by krischerven 1
  • Authorization access token not found

    Authorization access token not found

    When selecting a podcast category I receive the error Design (Current date and time when selected) Authorization access token is not found

    I am assuming that your Itunes-API token has been revoked for some reason.

    opened by dazbuttars 0
  • Make a Podcast API with larger database and better audio resources

    Make a Podcast API with larger database and better audio resources

    • [x] Make an API that uses another podcast services under the hood (probably Apple podcasts)
    • [x] Integrate the new API with Podcast-cli :
      • [x] Update the Podcast and Episode structures
    • [x] Refactored the ui package
    enhancement 
    opened by goulinkh 0
  • add custom podcast sources

    add custom podcast sources

    Can we add our own podcast sources from rss and keep them? I avoid anything apple for moral and ethical issues. so dont want to stream from itunes, will like to add my own and remove itunes thanks

    opened by r3k2 4
  • remember last position

    remember last position

    an important part of podcast player is remember position feature ( think about a 3 or 4 hours episode) i think it can be so helpful if podcast-cli can remember last position in this different situation:

    1. if you play/pause an episode
    2. if you play another episode in middle of other playing episode
    3. if you close podcast-cli

    it can be so useful ,if you can add this feature for every episode (not only for last episode)

    enhancement 
    opened by Monirzadeh 1
  • take time to load podcast-cli

    take time to load podcast-cli

    one of advantage of go is the speed podcast-cli try to get rss data everytime you launch that. this method has two important Cons

    1. if you don't have access to the internet you can't use that
    2. startup time is so slow

    for a better experience:

    1. it is better to podcast-cli save data in a local database (something like sqlite).
    2. podcast-cli read data from local database and load ui.
    3. when load database and gui finish, it try to update feeds in background.

    it make startup time so much faster

    enhancement 
    opened by Monirzadeh 3
Owner
Goulin
Full stack web developer.
Goulin
Gomu is intuitive, powerful CLI music player.

Gomu (Go Music Player) Gomu is intuitive, powerful CLI music player. It has embedded scripting language and event hook to enable user to customize the

Raziman Mahathir 94 Nov 26, 2022
Unlock Music Project - CLI Edition

Unlock Music Project - CLI Edition Original: Web Edition

Unlock Music 733 Nov 2, 2022
Simple cli utility to show bitrate/samples of flac files in a directory

flac-specs Simple cli utility to show bitrate/samples of flac files in a directory I needed a quick little utility that would look at the flac files i

Kevin Foss 0 Dec 14, 2021
Listen podcast via CLI for golang

goplay Listen podcast via CLI.

Rick 25 Nov 8, 2022
iTunes and RSS 2.0 Podcast Generator in Golang

podcast Package podcast generates a fully compliant iTunes and RSS 2.0 podcast feed for GoLang using a simple API. Full documentation with detailed ex

Eric Duncan 113 Nov 30, 2022
Podcast RSS feed sharing website

Yarr A website for storing, sharing and viewing podcasts in RSS format. Powering yarr.ps Building go build --tags "fts5" TODO Add ability to add pods

Kevin Roleke 0 Nov 6, 2021
Turn .mp3 files in current directory to a podcast feed just one command.

dir2cast Turn .mp3 files in current directory to a podcast feed just one command. Then you can subscribe to it with your favorite podcast client, down

王子亭 4 Jun 27, 2022
CLI audio player written in go.

A very minimal CLI audio player.

Dave Hulihan 51 Nov 9, 2022
Gomu is intuitive, powerful CLI music player.

Gomu (Go Music Player) Gomu is intuitive, powerful CLI music player. It has embedded scripting language and event hook to enable user to customize the

Raziman Mahathir 94 Nov 26, 2022
Go bindings for libVLC and high-level media player interface

Go bindings for libVLC 2.X/3.X/4.X and high-level media player interface. The package can be useful for adding multimedia capabilities to applications

Adrian-George Bostan 325 Nov 23, 2022
Go bindings for libVLC and high-level media player interface

Go bindings for libVLC 2.X/3.X/4.X and high-level media player interface. The package can be useful for adding multimedia capabilities to applications

Adrian-George Bostan 325 Nov 23, 2022
subsonic terminal music player

STMP (subsonic terminal music player) A terminal client for *sonic music servers. Inspired by ncmpcpp. Features browse by folder queue songs and album

Zoe 48 Nov 5, 2022
goloz is a multi-player reimplementation of the link to the past game.

goloz is a free and open source online multiplayer game.

Travis Cline 19 Aug 29, 2022
Official provider for VMware desktop products: Fusion, Player, and Workstation.

Vagrant VMware Desktop Providers This is the common codebase for the official providers for VMware desktop products: Fusion, Player, and Workstation.

HashiCorp 183 Nov 15, 2022
Quick and dirty Minecraft player head to SVG converter

Head SVG Quick and dirty Minecraft player head to SVG converter. Can be used to generate player head icons. Usage usage: Head SVG [-h|--help] -n|--nam

PotatoMaster101 1 May 29, 2022
This is an extremely basic 2 player online game.

myba This is an extremely basic 2 player online game. How to play Player one moves with WASD, player 2 moves with UHJK. Once both players are either h

Laz 1 Dec 7, 2021
66 is two player game played with playing cards and from now on you can play it from browser with your friends.

altmis-alti 66 is two player game played with playing cards and this project provides multiplayer game space from browser. How to run? Clone the proje

Cem Asma 1 Feb 1, 2022
Watch your favourite anime using the video player of your choice directly from the command line

anime-cli Watch your favourite anime using the video player of your choice direc

Ruben Dewitte 4 Feb 10, 2022
Go-poolsuite - Poolsuite FM player as Go module

go-poolsuite Poolsuite FM (formerly Poolside FM) player as a Go module. Example

◤◢◤◢◤◢◤◢ 5 May 4, 2022
A tool to stream videos📺 directly into VLC media player just by its name from terminal.

PeerWatch A tool to stream videos directly into the VLC media player. Download Download the tool from here: Windows Linux win-x64 linux-x64 Building Y

Ab 0 Feb 12, 2022