Conference Proceedings
- Home
- A Stateless Service for Audio Processing
A Stateless Service for Audio Processing
Description
Let’s say you want to process audio in real-time. You could have a video conference involving multiple participants that you want to broadcast live to a large audience – Twitter, Instagram, and Facebook all have products like this. For ease of playback, instead of dealing with multiple independent audio streams, you could take in multiple audio sources and mix them together, and encode for streaming. You might also want to create a number of transcoded variants for adaptive playback in different network conditions. Simple enough?
But what if your transcode server goes down and you need to switch to another one? Or an ill-behaved client starts sending you timestamps from last Tuesday? Or you have inconsistent latency and network conditions between audio sources? In other words, what if you need contextual information to perform the audio processing?
You could design a service that handles long-running audio sessions, which maintains the necessary context to perform transcode and mixdown. Audio codecs like AAC can require information from the past in order to prime the encoder properly and avoid artifacts. So, if your session is interrupted, you’ll need this information in order to resume. A stateful service like this is tricky because it is difficult to switch instances without somehow transferring context.
Stateless services have a number of advantages over their stateful friends: They are deployable without draining – clients can just point to a new instance and keep going where they left off, and you don’t need to wait for long-running sessions to end. And they are generally simpler to implement and don’t have to depend on any external services to transfer context.
In this talk we’ll discuss the stateless, real-time audio processing service we use at Periscope.
Presented at Demuxed 2019 in San Francisco.
Conference
Speakers
Other Proceedings
Here are some other proceedings that you might find interesting.
What Codec Should I Use?
Alan Resnick
Doing Server-Side Ad Insertion on Live Sports for 25.3M Concurrent Users
Ashutosh Agrawal
Is now the time to solve the deepfake threat?
Roderick Hodgson
Super Resolution: The scaler of tomorrow, here today!
Nick Chadwick
The do's and don'ts about Streaming security
Javier Brines Garcia
Modeling the conceptual structure of FFmpeg in JavaScript
Ryan Harvey
Objectionable Uses of Objective Quality Metrics
Richard Fliam
RTMP: web video innovation or Web 1.0 hack… how did we get to now?
Sarah Allen
Large-Scale Media Archive Migration to the Cloud
Konstantin Wilms
HEVC Upload Experiments
Chris Ellsworth
Related Courses
Below are some courses that might interest you based on the learning categories and topic tags of this conference proceeding.
What Codec Should I Use?
Alan Resnick
Doing Server-Side Ad Insertion on Live Sports for 25.3M Concurrent Users
Ashutosh Agrawal
Is now the time to solve the deepfake threat?
Roderick Hodgson
Super Resolution: The scaler of tomorrow, here today!
Nick Chadwick
The do's and don'ts about Streaming security
Javier Brines Garcia
Modeling the conceptual structure of FFmpeg in JavaScript
Ryan Harvey
Objectionable Uses of Objective Quality Metrics
Richard Fliam
RTMP: web video innovation or Web 1.0 hack… how did we get to now?