Podcasting 2.0 allows live streaming of audio and video episodes as well as interaction with the audience via real-time messages and micropayments
On November 9th, 2023, we organized PodconMX by RSS.com in Mexico City. Our conference featured live video streaming accessible via podcasting 2.0 enabled apps and the ability for the local and remote audience to engage with the speakers via short messages and micropayments.
To the best of our knowledge, this was the first time anyone has broadcasted a conference as a live video podcast episode via a podcast app, and it effectively constitutes a real-world proof of concept of what open podcasting based on RSS feeds has enabled and can become.
The idea behind this post is sharing our experience and providing an overview on how live audio and video podcasting can be accomplished. This is far from being a comprehensive article, but it is rather based on our personal choices and preferences. It worked for us, and hopefully it will inspire others to do the same or better!
Below, we refer to “Live podcasting” as an audio and/or video podcast episode that:
Live podcasting requires 4 main components:
An ideal streaming server setup for live podcasting supports the Real-Time Messaging Protocol (RTMP) for receiving real-time audio and video signals and also allows generating a playable URL called “playlist file” or “m3u8 manifest”.
A RTMP server typically can receive real-time audio and video signals via a specific URL, which often requires a stream key. A RTMP URL is a web address that typically looks like this:
rtmps://livestream.myrtmpserver.com:443/live
The associated stream key is a unique value that is used by the server to identify who is sending the incoming stream (typically a registered user of the service). The stream key also provides added security to avoid unwanted data streams to be sent to a RTMP server (RTMP Hijack).
A typical RTMP Stream key is a long alphanumeric hash that looks like this:
b5a750d28e60f747afa2e07eye04k171497fcb692f45bf47dec37d0c45f23a324
You have two main options:
A) You sign up for a cloud service that offers live streaming capabilities (usually these are paid services)
B) Do it yourself (DIY), i.e. you build your own server
For the sake of time and simplicity, purchasing a cloud-based service is the recommended option. This will also ensure redundancy (via a content delivery network), high-speed connection, stable bandwidth and minimize delays. There are several companies out there offering RTMP as a service.
For the live podcast streaming of PodconMX, we chose Viloud, a platform run by a small bootstrapped startup that allows the creation of online TV channels. Setting up a TV channel was much more than we needed, we just wanted a cloud-based service supporting RTMP. However, for Viloud, and larger competitors such as Wowza and DaCast among others, RTMP typically constitutes only a small part of their product offering.
After trying out a few services, we opted for Viloud because it was a no-frills product with the simplest interface. One of our core values at RSS.com is simplicity and ease of use, which (ironically) are very complex to achieve in a mature product!
With Viloud, in 3 clicks (literally), we were able to obtain our RTMP URL and stream key. On top of that, this platform stores all the data that is streamed via their RTMP server as videos, and allows users to download them later on, or create an online TV channel for the playback of the recorded videos.
Viloud offers a 14-days trial period that allows live video streams up to one hour each at no cost. This may work for you if the event you are streaming lasts 60 minutes or less. Because we wanted to live stream over 9 hours of video in our podcast, we purchased a Business plan for 79 USD a month.
An analysis of the competitors landscape would highlight alternative services that offer a more or less sophisticated set of features at different price points. This was not in scope for us and we were pleased with our choice. Others may prefer different platforms.
How we obtained our RTMP URL and streaming key using our provider of choice:
1. Go to https://viloud.tv and sign up
2. [OPTIONAL: if you need to stream more than 1 hour of content] On the top menu, click on Upgrade Plan and select the Business plan
3. Click on Live Stream (left side menu) –> Start Live Stream
You are all set! You’ll obtain your RTMP URL and streaming key (green arrow in the figure below). On top of that, you’ll also find the Playback URL also known as “m3u8 manifest” (red arrow in the figure below). Notice that the m3u8 manifest is the URL you will need to use in your RSS feed as explained in the Live Item Tag section below.
If you are a technical person who is well acquainted with modern cloud infrastructure, one option is to set up a state-of-the art live streaming server using Amazon Web Services. AWS offers a CloudFormation Template that does the heavy lifting for you (but you need to know what you are doing).
If you are less technical, but you are on a low budget or have plenty of spare time, there are also “scrappy” routes to set up your own local RTMP using only your laptop and an internet connection.
We will not cover comprehensively all the DIY options in the current article, but if you use MacOS this is a good starting point.
Download the latest release of the app on your Macbook and you’ll be running a local RTMP server in seconds. All you have to do is make sure that your external IP address is accessible and maps to your Macbook’s local IP. This is typically achieved by configuring the NAT settings in your router and optionally setting up a Dynamic DNS service.
We would not recommend this setup for a professional event such as an official conference because too many things can go wrong, e.g. The internet provider of the venue may not allow custom internet configurations involving firewalls and port mapping.
We would also not recommend venturing into the DIY route if you have limited time and don’t know what “NAT” is or you’ve never dealt with the custom setup of a router before.
You have two main options to capture live audio and video streams during an in-person event:
A) Use professional services such as a Company or independent contractors
B) Do it yourself (DIY), i.e. use your smartphone or laptop to capture audio and video
If you have enough budget for your event, then you will probably be working with a Company or contractors that provide professional audio and video recording services.
If this is the case, you will just need to tell them in advance that you would like to send the live audio-video signal to your RTMP server, and provide them with your RTMP URL and Streaming key.
Using professional services will ensure there will be nothing else to do on your end on this front except making sure your contractors have access to a stable wifi / cable internet connection in the venue hosting your event.
For our conference PodconMX, we worked in collaboration with our partners Grupo Fórmula (the #1 talk radio group in Mexico) who provided professional cameramen, mixers, wireless microphones and a small team for monitoring and making sure everything worked seamlessly. The team at Fórmula captured the 2 audio sources (we offered live translation of Spanish into English and vice versa) and video sources and re-directed the resulting video stream to our RTMP server.
You don’t need a professional team if you are holding a smaller event such as a local Meetup.
In this case you will just need a basic setup consisting of a camera, a microphone, a laptop or smartphone and a software to send the resulting audio or video stream to your RTMP server.
The easiest and minimum-viable DIY setup is pretty inexpensive as it requires only a smartphone (that you probably already own) and an internet connection. HD cameras in modern smartphones produce great results!
To stream audio and video signals from a smartphone to your RTMP server you will need an app such as Larix Broadcaster which is available for both iOS and Android.
Once you download Larix Broadcaster, just go to Settings → Connections and add a new Connection using the + button. Specify your RTMP URL, save and you are good to go!
Notice that some apps do not have a field to insert the Streaming Key in their settings. When this is the case, these apps expect the Streaming Key appended to the RTMP URL.
For instance, if your RTMP URL is rtmps://livestream.myrtmpserver.com:443/live
And your Stream key is ye04k171497fcb692f45bf47dec37d0c45f23a324
For those apps like Larix Broadcaster that do not have a Stream Key setting, you will need to append RTMP URL and Stream key as follows:
rtmps://livestream.myrtmpserver.com:443/live/ye04k171497fcb692f45bf47dec37d0c45f23a324
Larix Broadcaster offers 60 minutes free streaming so if your event lasts one hour or less, you will be able to use it without paying a dime.
A low-hanging fruit and budget-friendly idea to improve the video and audio quality in this basic DIY setup is to purchase:
While the main scope of this article is covering in-person events such as conferences, the audio and video capturing setup for remote events such as webinars over Zoom, Teams or Google Meet is even easier. Zoom, for instance, supports live streaming via RTMP out of the box.
For live video podcasts or live podcast interviews, instead, one of our favorite tools is Streamyard. Streamyard allows you to host one or more remote guests and live stream the result via RTMP.
Just go to Streams and Recordings → Create → Live Stream → Select Destinations → Custom RTMP and specify your RTMP server URL and Stream Key
The RSS feed is where the magic happens in podcasting!
To be able to provide live streaming within a podcast, you’ll need to add the Live Item tag (LIT) to your RSS feed. You can do so manually or using a podcast hosting platform that supports LIT.
If your podcast hosting company supports LIT, no manual changes to your RSS feed are needed on your end as they’ll do all the heavy lifting.
Your podcast hosting company will also take care of sending a signal (a “podping”) when the status of your live streaming changes so the supporting apps will be able to change the status of your event in real time.
See the list of podcast hosting companies supporting LIT.
The official documentation and specs of the LiveItem tag are clear, yet sometimes a real-world example is worth more than a thousand words. Below is the minimum-viable implementation of LIT in an RSS feed that we used at PodconMX: