Update: Wir sind von Jekyll auf Rattlesnake umgestiegen.
Hier findet ihr mehr Infos dazu.

In den Folgen 4 (Tools) und 5 (Git) haben wir unter anderem auch darüber gesprochen, wie wir unseren Podcast hosten. Ein fertiger Anbieter oder ein Wordpress-Plugin kamen für uns nicht in Frage (nicht nerdig genug, nicht so flexibel... man findet immer eine Ausrede, um etwas cooles zu bauen). Deshalb haben wir uns dafür entschieden, die Website und die Episoden in einem Git-Repository über Gitlab Pages hosten zu lassen.

Das wollen wir nun mit euch teilen, deshalb kommt hier eine kurze Zusammenfassung. Wenn ihr auch einen Podcast über Gitlab hosten wollt könnt ihr unser Beispiel-Repo forken (Link siehe ganz unten).

Wie Hosten wir unseren Podcast

Für das Hosting unsers Podcasts setzen wir auf GitLab Pages.

Für die Webseite verwenden wir den Static Site Generator Jekyll.

Und als Podcast player verwenden wir den Podlove Web Player.

Wie Produzieren wir unseren Podcast

Für jede Folge erstellen wir 5 Dateien: Eine MP3 mit dem Audio, ein JPEG für's Cover Art, eine Markdown-Datei mit dem Inhalt für den Blog, eine .chapters Datei mit den Kapiteln und ein JSON mit Infos wie Titel, Beschreibungstext und optional einem Link zu YouTube.

Wenn wir eine neue Folge veröffentlichen wollen, legen wir uns auf GitLab ein neues Issue an und erstellen dazu den Merge Request. In dem Merge Request sammeln wir alle Informationen und commiten die 4 Dateien. Zu jedem Commit wird durch die GitLab CI die Webseite und der Podcast-Feed zusammengebaut. Ein Python Script schreibt die Metadaten in die entsprechenden Dateien und generiert das Feed, während die eigentliche Website von Jekyll erzeugt wird.

YouTube

Für die Erstellung der Videos verwenden wir ffmpeg wie folgt:

ffmpeg -loop 1 -i episodes.png -i Folge.mp3 -acodec copy -vcodec libx264 00X_-_FolgenName.mp4

Wie nehmen wir unseren Podcast auf

Egal, ob wir zusammen sitzen oder den Podcast über einen Voice-Call aufnehmen, wir haben immer pro Sprecher ein Mikrofon. Die so entstehenden zwei Mono-Tonspuren schneiden wir in Audacity zusammen. Hier hilft uns unsere Audacity Erweiterung die via Hotkey markierte Stellen leise macht (aber eben nicht komplett stumm stellt).

Template-Repository

Falls ihr auch einen Podcast über Gitlab pages hosten wollt, könnt ihr einfach unser Beispiel-Repository forken: https://gitlab.com/pinguin999/podcast-template und so anpassen, dass es für euch funktioniert.

Die CI-Pipeline sollte automatisch die Metadaten in das Feed und die MP3-Dateien eintragen, sofern ihr euch an die Anleitung in der Readme haltet. Viel Spaß und vergesst nicht, uns von euren coolen Projekten zu erzählen. Wir sind gespannt!