Linux Rocks: Stability and Flexibility

It has been running day and night, without even a single hiccup, for 4 months and 9 days, and still counting.
The on-premise Linux server is loaded with our HLS streaming and recording software, either free or in-house.
The video comes from 9 IQ762W IP cameras.
This server is running Ubuntu 16.04 LTS, Mysql 5.5, Nginx 1.9, Ffmpeg and python, and some AWS client tools.

Whose servers are still running Windows then? My two most recent employers are: 3VR and Ericsson Mediaroom
3VR’s software is in C#, and they didn’t have mono as an option back then.
Ericsson Mediaroom was formerly Microsoft Mediaroom, and that’s no surprise they used Windows.

Milestone: Our Silicon Valley Office

Our Silicon Valley branch is officially open:

Always Prepared For Third Party Defects

Our system uses hardware based third party video encoders, in both analog and IP cameras.
I have seen problems in both.

Analog encoder(Stretch S7) hangs occasionally. After days of research, I found it’s caused by a certain range of lighting, when it’s not daytime and not completely dark either.
The fix was to reboot the card when the hardware watch dog detects it.
IP camera (Vicon IQeye 9 series IQB92WI firmware V4.2) hangs ffmpeg HLS segmenter in about three hours, with error “Non-monotonous DTS”.
The fix was to downgrade to the previous version of firmware.

Those are both great products, but there are always corner cases.
A exhaustive test run is the only way to go. No reasoning is enough.

Video Player Selection

Video Player is a crucial part of our streaming system.
Both in house player and third-party players are used.
Some of our needs are not very common.
-Live video: Most players are designed for VOD
-Seeking on live streams
-Support mobile OS, such as Android and iOS
JW Player: the most popular web based player, proprietary.
version 8 can seek live stream on desktop, but not on mobile device.
Clappr Player can seek live stream in Chrome browser on Android
HLS.js with some customization, can seek live stream on Android when playing in web mode.
AVPlayer is used on iOS, on which our native app is based.

Bottom line: no single player can meet our needs on all three platforms: Windows, Android and iOS.