Our Senior Software Engineer Koen Karsten shares how Media Distillery has transitioned to cloud-based video processing, and explains what it means for the video industry.
Recently, Media Distillery made a significant transition from on-premise to cloud-based video processing using Secure Reliable Transport (SRT). This move was a leap into the unknown for most of our team as we lacked prior cloud experience. However, it has proven to be a game-changer for our business, allowing us to onboard customers in a matter of days instead of weeks.
Read below to learn how we managed the transition and why the cloud is the future of the TV industry.
At Media Distillery, we build AI solutions for comprehensive video understanding. We analyze tens of thousands of hours of video content, often live streams, daily, helping TV operators, IPTV operators, cable operators, OTT platforms, and broadcasters improve the user viewing experience.
Analyzing live video for our customers requires significant time and resources. We first need to access the live feeds of our customers to analyze the video. The number of streams we process ranges from 40 to 100 per customer, necessitating an efficient solution.
When we initially introduced our solutions to the market, the TV industry predominantly used on-premise solutions, where all services were hosted locally in the customer's data center. Therefore, we needed a solution that could be deployed on-premise at our customers' locations. At that time, sending all video streams to the cloud 24/7 was also not feasible due to the associated processing costs and legal requirements.
While most video services utilize the cloud for video encoding and delivering streams to millions of users, we, on the other hand, continuously ingest streams 24/7, which is not intended for large-scale delivery to numerous clients. This differentiates us from typical cloud users.
Before transitioning to the cloud, we used to onboard our customers through physical hardware. We would order, configure, and ship hardware to our customers, either providing installation instructions or personally installing it. We had success deploying this method of onboarding for many of our customers.
However, this physical deployment was time-consuming and involved multiple vendors. For a typical customer, we needed four servers, two switches, and two firewalls. This meant configuring eight units of hardware, all sourced from different suppliers, and involving four or five parties, including us and the customer. The deployment process would take around 12 weeks, sometimes stretching to a quarter due to chip shortages and delays in shipping.
Due to these challenges, we sought more efficient alternatives. Adaptive streaming protocols like HLS and MPEG-Dash, commonly used for video delivery to viewers, were not ideal for continuous ingesting. Digital Rights Management (DRM) protection on customer-facing streams also posed difficulties for video analysis. Therefore, we needed a secure way to access and analyze video streams.
Transitioning from hardware-based to cloud-based deployment has addressed several issues. It has reduced the number of stakeholders, which streamlines cooperation. Now customers only need to push their videos to our cloud, simplifying the process.
Additionally, since most of our backend engineers specialize in Java development and DevOps and lack hardware expertise, transitioning to SRT has allowed us to focus less on hardware.
SRT is a royalty-free, open-source video streaming transport protocol that delivers secure, low-latency streaming performance over noisy or unpredictable (lossy) networks like the public internet. SRT uses an intelligent packet retransmit mechanism called Automatic Repeat Request (ARQ) on top of a User Datagram Protocol (UDP) data flow to protect against packet loss and fluctuating bandwidth, as well as to ensure the quality of your live video (source).
Moreover, as the cost of cloud services decreased and hardware availability became more problematic, we reached a tipping point where shifting to the cloud was more favorable for Media Distillery, both financially and practically.
It took us three months in the development phase to manage the entire transition. Our engineers shared their cloud knowledge with other colleagues during Fix-It-Fridays, our monthly company event. The pre-production phase took about a month, and our cloud production setup was completed in just two weeks.
During the transition, we implemented infrastructure as code, enabling us to define firewalls and networks digitally. This scalability and transparency surpassed the limitations of hardware, making it easier to manage and deploy while keeping our infrastructure versioned in GIT.
Financial considerations played a significant role, so we focused on investing in cost-effective cloud features that also saved development time. We calculated the approximate onboarding costs per customer per stream, as well as monthly analysis costs.
Our cloud provider, AWS, and an integration vendor provided consultation throughout the process, particularly regarding the uploading of large video files to the cloud. For example, uploading 40 live streams running for 1 hour would consume 120 gigabytes, incurring costs for each gigabyte.
Working with videos in the cloud is a relatively specialized field, requiring the adoption of a specific video protocol and a gateway for continuous video uploads. Now, customers can choose how to upload their videos to our cloud, ensuring greater ease and flexibility, as long as the videos are compatible with SRT.
Our first onboarded customer had a positive experience with the cloud right from the start, citing improved security and easier video uploading as the main benefits.
Unlike traditional hardware setups that required compatibility checks and installation instructions, the adoption of SRT allowed for more straightforward and flexible video uploading. The only requirement was compatibility with the SRT protocol.
SRT, which was introduced ten years ago and made open-source five years ago, has gained significant traction, with more companies joining the SRT alliance. It's worth noting that hardware made more than six years ago may not support SRT, necessitating potential investments in newer hardware capable of uploading using SRT.
The main difference between using SRT and hardware is a reduced deployment timeline. If a customer provides a video tomorrow, we can scale it up within a sprint of two weeks.
The cloud offers greater flexibility, making it preferred by our engineers compared to hardware. It's easier to manage and seems to be the future of our industry.
Additionally, clients appreciate the ease of maintenance with SRT, as they have the freedom to choose the compatible hardware of their preference.
In the SRT transition, I took the lead because I am very passionate about the topic.
I dedicated extensive time to the theoretical and conceptual aspects - mapping out components, developing strategies, and exploring cloud and video engineering concepts. I shared my findings with the team through visual representations and experiment outcomes, guiding our next steps.
With the transition complete, we can now shift our focus to further scaling up, providing me with the opportunity to brainstorm and theorize once again on the whiteboard.
In addition to my role as a senior software engineer, I also took on the responsibility of a pre-sales engineer during the transition. This involved participating in business calls and providing technical insights. Through these engagements, I observed that hardware deployments are still prevalent in the video industry. However, the transition to SRT has revealed a more streamlined and stress-free path forward, simplifying the connection process by offering a single channel and separating the concerns of engineers from those of the customers, resulting in a more convenient solution.
In today's landscape, knowledge of the cloud is regarded as an essential skill, especially for backend engineers. However, proficiency in not only Java programming but also confidently executing it in production is of utmost importance.
We successfully onboarded our first customer in 2022, and during 2023, we plan to onboard more customers on SRT/AWS. Over the coming years, our goal is to migrate most of our customers to SRT.
The video market is shifting towards cloud-based solutions as playback gains prominence over live content. This transition is generating excitement among our clients, with the majority expressing positive sentiments towards adopting SRT or already integrating it into their systems.
As SRT experimentation gains momentum among TV operators, there is growing interest from those who have yet to implement it, seeking to learn from our valuable experiences. With Media Distillery's expertise, we are well-equipped to guide our clients, offering insightful recommendations for cloud-based solutions to seamlessly facilitate their transition.
Koen Karsten is a Senior Software Engineer at Media Distillery.
May 24, 2023