Fosdem-dl: CLI to download videos and slides from FOSDEM websites

TL;DR Download the CLI here.

What is FOSDEM?

FOSDEM is arguably the biggest software conference in Europe, held every February in Brussels. It features numerous conference tracks, with all talks live-streamed, recorded, and hosted online.

While the FOSDEM website promotes the upcoming event, most past editions are still online and hosted at archive.fosdem.org.

What does this CLI do?

I wanted a quick way to download all talks related to a given conference track, so I made a CLI with babashka.cli and this pod that scrapes a few pages with jsoup.

You can use this CLI to:

  • List all tracks at any given edition of FOSDEM (from 2003 onwards).
  • Download all talks from a specific track in a given year.
  • Download attachments (slides, PDFs) for each talk.

The CLI is available as an uberjar, a Babashka uberjar and a container image.
I’m also working on distributing binaries for Linux, Windows, and macOS. At the moment I can build a statically-linked Linux binary using GraalVM native-image and musl, but it immediately crashes it when I launch it.

Bravo, this looks wonderful! I like the look of https://clig.dev/ that you linked to, too.

I’ve a couple of ideas for features that you might be interested in implementing. First is an option to seed to or download with BitTorrent; it might be nice to relieve the load on the FOSDEM servers a little. There are already some Clojure libraries for that, it seems. Second is to have a ‘split audio from video’ option - FOSDEM talks make great podcasts :slight_smile:

1 Like

Oh, and if you accept pull requests I could give it a go myself as well :upside_down_face:

Splitting audio/video is a cool idea! Would you use FFMPEG for that?