Code[ish]
63. Streaming Music to Livestreamers
Julián Duque, a developer advocate at Heroku, interviews Nate Beck, the principal architect and founder of Pretzel Tech. Pretzel Tech is a company which has built Pretzel Rocks, a service that allows livestreamers to safely use licensed music. They do so by wrangling the needs of three different customters: broadcasters, who want to play fun music; record labels, which hold the rights to artists' music; and viewers, who want to play the same music at the same time as the broadcaster they are watching.
The technical ability to stream music is not terribly difficult; but the challenge lies in fanning that out, to thousands of listeners, all at once. When a streamer logs in, 20,000 users might get notified and jump onto the stream all at once within seconds. Pretzel deals with these network spikes in several ways. Although their backend is a basic Rails app hosted on Heroku, they use Lambda to handle the broadcast, as they don't have a constant stream of traffic requiring many dynos. They use a CDN with plenty of POPs around the world to host the music, ensuring that it's fast and stable for users. Other difficulties including dealing with the music industry. For a single popular song, Nate needs to coordinates with 28 different companies to agree on a licensing rate. The industry also uses a standard called DDEX, which is an XML format to track metadata for artists, albums, and releases. This requires a custom pipeline to parse.
Aside from that, Nate has nothing but praise for Twitch's API platform. The company is very community focused, with a public roadmap and excellent documentation for integratos. Its users often have plenty of positive feedback for Pretzel and other extensions. Pretzel's main focus right now is on ensuring the financial success for artists on the broadcasts of their music.
Links from this episode
- Pretzel Rocks provides music for livestreamers
- 99 Lives is a record label which has a catalog stream-safe music
- Related: Pretzel Tech Handles Extreme Peaks in Demand with a Multi-Platform Architecture Centered on Heroku