streaming

Streaming services lost the plot

Do you remember when Netflix first started their movie streaming service, back in 2007?

2007 era Netflix home page courtesy of the Wayback Machine

Physical media was still the preferred way to consume media. Besides sports content, and some TV shows that were cable-exclusive for a time, most people would run by Blockbuster and pick up a movie.

Netflix started with mail-order DVDs, then switched to streaming. The absence of ads (which were rampant on cable channels) and the convenience of not having to drive to a physical store (Blockbuster et all) made Netflix a no-brainer, especially considering the depth of their initial library.

Moving my home media library from iTunes to Jellyfin and Infuse

Since 2008, I've ripped every DVD and Blu-Ray I bought to my Mac, with a collection of SD and HD media totaling around 2 TB today. To make that library accessible, I've always used iTunes and the iTunes Shared Library functionality that—while it still exists today—seems to be on life support, in kind of a "we still support it because the code is there" state.

The writing's been on the wall for a few years, especially after the split from iTunes to "Music" and "TV" apps, and while I tested out Plex a few years back, I never really considered switching to another home media library system, mostly due to laziness.

Jeff with Mac mini NAS

I have a 2010 Mac mini (see above) that's acted as my de-facto media library/NAS for over a decade... and it's still running strong, with an upgraded 20 TB of total storage space. But it's been unsupported by Apple for a few years, and besides, I have a new ASUSTOR Lockerstor 4 with 16 TB of always-online NAS storage!

Kubernetes 101 livestream series starts Nov 18th!

On November 18th, at 11 a.m., the first episode of my upcoming Kubernetes 101 livestream series will start on my YouTube channel.

Kubernetes 101 Series Artwork

The first episode will be available here on YouTube: Kubernetes 101 - Episode 1 - Hello, Kubernetes!.

You can find more details about the series on my Kubernetes 101 site, and there is also an open-source Kubernetes 101 GitHub repository which will contain all the code examples for the series.

In the spring, I presented a similar livestream series, Ansible 101, covering all the basics of Ansible and setting people up for success in infrastructure automation.

Using a Nikon D750 as a webcam or for live streaming

You can use a Nikon D750 as a webcam or for live streaming, assuming you have a mini HDMI to HDMI cable and an HDMI interface for your computer.

While it's forte is stills photography, the D750 isn't bad at video; it can output up to 1080p at 60 frames per second, and has full-time autofocus, but the live view autofocus isn't that great, so I recommend manual focus if you don't have to move around much.

Why would you use a D750? Well, for the same reason you'd use most any other DSLR or mirrorless camera for video instead of a cheaper webcam or built-in camera on your laptop: the video quality is amazing!

How I livestream with OBS, a Sony a6000, and a Cam Link

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

A few weeks before this year's pandemic started affecting the US, I started live-streaming on my YouTube channel.

In the past, I've helped run live streams for various events, from liturgies in a cathedral to youth events in a stadium. (I even wrote a blog post on the topic a few weeks ago.)

For larger events, there was usually a team of camera operators. We also had remote control 'PTZ' cameras, and dedicated streaming hardware like a Tricaster.

For my own livestreams, I had a very limited budget, and only one person (me) to operate the camera, produce the live stream, and be the content on the live stream!

Ansible 101 by Jeff Geerling - YouTube streaming series

Ansible 101 Header Image

After the incredible response I got from making my Ansible books free for the rest of March to help people learn new automation skills, I tried to think of some other things I could do to help developers who may be experiencing hardship during the coronavirus pandemic and market upheaval.

So I asked on Twitter:

How to livestream Masses or other liturgies on YouTube

Note: I also posted a video with more information and a demonstration of how I live stream.

I've been working on video streaming on a tight budget for years, and have scrambled to get live-streaming going for some liturgies on short notice, so I figured I'd put together a video showing a few options from 'cheap using what you already have' to 'a little more expensive but within a reasonable budget'. Note that if you plan on having regular video streams for the long term, it's better to invest in a proper streaming system with remote-controlled PTZ cameras and hard-wired connections.

All of the options in this post will require at least a smartphone or computer (laptop preferred) with a good WiFi connection. Ideally, you can also plug your phone or laptop into power so the battery doesn't run out in the middle of the stream

Migrating JeffGeerling.com to Drupal 8 — LIVE!

tl;dr: Subscribe to my YouTube Channel; I'm going to start migrating this website to Drupal 8 on a livestream every Tuesday at 10 a.m. US Central (3 p.m. UTC).

Ever since Drupal 8 was released, I've been waffling on the decision to migrate/upgrade this website (JeffGeerling.com) to Drupal 8. The site started off years ago as a static HTML site generated by Thingamablog, a really old Java-based static blog generator.

In the years since, I migrated from Thingamablog to Drupal 6, and from Drupal 6 to Drupal 7. Each of these migrations also incorporated a complete redesign, and I did another semi-redesign halfway through the Drupal 7 lifecycle, to the design you see today:

JeffGeerling.com - dark mode in 2020 in Drupal 7
Dark mode ftw!

Streaming PHP - disabling output buffering in PHP, Apache, Nginx, and Varnish

For the past few days, I've been diving deep into testing Drupal 8's experimental new BigPipe feature, which allows Drupal page requests for authenticated users to be streamed and loaded in stages—cached elements (usually the majority of a page) are loaded almost immediately, meaning the end user can interact with the main elements on the page very quickly, then other uncacheable elements are loaded in as Drupal is able to render them.

Here's a very quick demo of an extreme case, where a particular bit of content takes five seconds to load; BigPipe hugely improves the usability and perceived performance of the page by streaming the majority of the page content from cache immediately, then streaming the harder-to-generate parts as they become available (click to replay):

Articles on Professional Video and Audio Distribution

In the past few months, I've finally had time to post more information about two projects I've worked on in the past year or so at the Cathedral Basilica of Saint Louis—both of them having to do with the sending and receiving of video and audio signals through a very large building.

Click one of the titles to read the article:

XLR over Cat5 - Balanced XLR Mic/Line Audio over Cat5e

In this article, I explain how we sent crystal-clear audio (used for both communication/VOX and broadcast TV) over a distance of about 300' using nothing but shielded Cat5e cable. Pictures, diagrams, etc. included.

Sending High-Definition Video over Long Distances with Cat5

In this article, I explain how we sent very sharp high definition video (up to 1080p) over about 100' using component video baluns and shielded Cat5e cable. (You can also use these baluns to send digital/coax audio).