EDIT: I found a better and faster way to stream from bandcamp thanks to mpv!
The process is pretty much the same as mpv has youtube-dl integrated, therefore I will leave the original post so that you can check what I was doing.

To play any bandcamp content (as many url as you wish will be added to the playlist):

mpv URL [URL2 URL3 URL4 etc...]

With a GUI is even better than bandcamp itself ehehe

original post:


Thanks to youtube-dl it’s quite easy to extract the url of an Audio/Video content from many different websites, not just YouTube.

That is basically the only thing you need together with an audio player to stream a song or an entire album from Bandcamp.

To do so you simply need to run youtube-dl with the -g option (–get-url) to extract all the songs’ url from the desired Band/Album webpage, the urls tell you the quality and the signature key for any single track and other info, i.e.:

youtube-dl -g https://pleiadians.bandcamp.com/track/alpha-draco-live-edition

As far as I know there is no way to go over a 128k mp3 but that’s not a big deal for me, you can still buy the tracks if you want better quality :)

Now you can use that command as an input for your music player, with mplayer:

mplayer $(youtube-dl -g https://venetiansnares.bandcamp.com/album/winnipeg-is-a-frozen-shithole)

and change track with PG Up or PG Down.
Unfortunately I can’t really replay a previous track, therefore I normally stream an album (or more than one) using VLC with the ncurses interface:

nvlc $(youtube-dl -g https://fleshgodapocalypse.bandcamp.com/album/oracles)

The player has a nice interface and it’s easy to jump between tracks and play whatever you like.

The only problem is that there is no proper tracklist but only urls that don’t really tell you what’s the songs’ titles.

youtube-dl has another feature that prints the titles, so you can add that to the command and it will first print the song title and then its url:

youtube-dl -ge https://bong-ra.bandcamp.com/album/voodoom
Alla Malla
Kongo Nails
Wisi Mang
Kankan Un De
Bar Baka
Death Curse

The problem is that those titles may contain a space or more than one depending on how many words compose the song title, for example:

Kongo Nails contains a space between Kongo and Nails, nvlc thinks that those are 2 different files with Kongo being the first track and Nails the second.
This is not really an issue because by launching any word composing the title the correct url is going to be played but it is very annoying as the interface is uselessly filled.

Luckily youtube-dl always prints the title before its url, this way I know that the titles will be in a odd number line (1st line, 3rd line, 5th line, etc..), therefore I can now use sed to replace the ” ” (space) on every odd line with a “_” (or anything else but space or new line):

nvlc $(youtube-dl -ge  https://plus8records.bandcamp.com/album/from-my-mind-to-yours|sed '1~2 s/ /_/g')

This method can probably be applied to other similar websites.