— An interview with Guangqi, a TNC Tech Ninja.
Background
In 2004, we launched our very first social networking website, whose mission was to serve the Great German Community by providing the most passionate and efficient network to meet like-minded people and intuitively connect with their local lifestyle community. Throughout the past 13 years, the community has now gone global and the framework of the website has also experienced several technical revolutions.
So, Guangqi, we’ve heard it a lot lately that you’ve developed a brand-new Live Show System for the website?
Me? I won’t take that much credit. I just did my part, and it was a total team work! Actually, it has always been a team work when it came to any new feature or function or plugin or widget, whichever you’d like to call it. Basically, when the all the requirements were settled confirmed, the Service Team would set up the infrastructure, the PHP Dev would define the business logics, the Front-end Dev would craft the user interface, as from my side, I merely worked on the solution to supporting the access of both Flash and HTML5 to the Server. (That being said, we’re now fully prepared for the time when Flash will gracefully bow out.) I also would like to thank Fan from Service Team for providing so many remarkable insights into video-processing during the solution discussion.
What happened to Flash?
Well, it is generally believed that the time of Flash has almost come to an end and the future needs some more open technology like HTML5. Truth is that many major video-streaming websites have already switched to HTML5 as their default format and some browsers now even actively block Flash from loading, not to mention the disuse within those browsers on mobile devices. Quoting from the official Adobe Blog, “we will stop updating and distributing the Flash Player at the end of 2020 and encourage content creators to migrate any existing Flash content to these new open formats.”
What do you like most about this new Live Show System?
As designed to publish live videos of HLS format, the system not only delivers a smooth and fluent visual feed, but is also highly extendable. Here I’d like to highlight its two major features, scalability and availability.
Scalability
Theoretically, the system is able to support unlimited amount of users within any browser or application. Once the system experienced too many active connections, there would be a buffered queue for accessing. At the same moment, we can add computing or network resource on the fly, either manually or using auto script.
Availability
The system uses a cloud-based cluster H/A support. And all the technologies we considered and put into use are stable and support self-recovery, which means even when a new version is deployed, there is generally no need to restart the system or kick out the online users.
Technologies Related
· PHP
· Openresty
· Redis
· ffmpeg
· Javascript
· SRS (https://github.com/ossrs/srs)
· Docker