-
Building blogmate.io: Recursive Phoenix Components
This post is part of a series on building blogmate.io, a rich comment system for static blogs and sites. If you have a static blog, or are thinking of starting one, please go check it out and spread the word!
-
Hardware Accelerated H.265 Streaming With FFmpeg
As covered in a previous post, FFmpeg is used at our church to transcode an RTSP stream and send that stream to an RTMP(S) ingestion endpoint. H.264 was previously being used as RTMP didn’t support any other modern codecs. This however changed with the new Enhanced RTMP standard which added support for VP9, H.265 (HEVC), and AV1 in the FLV container. FFmpeg subsequently added support for this new standard starting with the 6.1 release.
-
Useless Art: An adventure in self-hosting open AI models using Elixir
Generative AI! Generative AI! Generative AI!
-
PulseAudio on a Headless Linux Server
We regularly livestream services at my church for those that are unable to attend in person. The entire system is fully automated, muxing an RTSP stream from an IP camera with audio from the main mixer. This all runs on a headless Linux machine via a cron job using FFmpeg, using the pulse filter to pull audio from the machine’s mic/line-in jack. It’s possible ALSA could be used directly here, however I decided to stick with Pulse.
-
Blog Tech Stack
This site is currently running on the following stack: