6 features of Flussonic you might not know about
The Flussonic family of products is one of the most intensively developing technologies in OTT media market. New features and improvements get into production with each monthly update. Some of them have been added by the Flussonic team as part of the software development roadmap, others – inspired by client requests and market trends. We always try to provide detailed release notes, but sometimes the most interesting features elude the attention of the users. So we’re going to review them once more in this special post.
Table of contents:
Most often in the DVB (Digital Video Broadcast), an MPEG-TS stream from a satellite includes subtitles as a picture to avoid problems with fonts and text drawing on different devices. Since version 4.7.2, Flussonic Media Server can recognize DVB subtitles in WebVTT, a UTF-8 encoded text-based format, to reduce the cost of the stream transmission of the stream.
WebVTT (Web Video Text Tracks Format) is a common but powerful subtitle format that is supported by browsers and provides other options. Besides using CSS, people can customize the font and add visual effects to create an original style.
Why don’t we use SRT? VTTs are the clear winner here – they have much more functionality than SRT files, some of which is very useful for complex multimedia localization, including metadata and formatting options.
Official documentation: https://flussonic.com/doc/live-streaming/dvb-subtitles-ocr-recognition-to-webvtt
Transcoding is necessary if you want to:
- create a multi-bitrate stream
- change parameters of video — the codec and the bitrate of the stream, the size of the image
- overlay a logo on top of a video stream.
Flussonic Media Server has a built-in transcoder. It supports transcoding by using a GPU or the CPU. The transcoder module works with every input source supported by the Flussonic Media Server. The HLS protocol is partially supported — some sources might fail to be transcoded. It is recommended to test each HLS source manually to find out whether it works after transcoding.
For hardware-accelerated transcoding, Flussonic can use Intel and Nvidia solutions. When transcoding with Nvidia NVENC, streams with a 10-bit color depth are supported.
Smooth Source Switching
For various reasons, a video source may temporarily disappear or even become offline. To avoid a situation where consumers do not have any video, it is necessary to prepare alternative stream sources in order to broadcast them in the absence of the main source until it is restored. Flussonic provides seamless automatic source switching.
The Flussonic’s transcoder can efficiently handle the changes in the characteristics of an input video stream. Smooth, or seamless, source switching means that the Flussonic’s transcoder does not lose any frames when the stream source has changed and the media information has changed. The most common case is the change in the size of the picture in the new source to which the stream has switched. For example, when an ad of a different width and height is inserted into a stream, or when transcoding a server-side playlist consisting of files and streams of various resolutions. The loss of frames can be observed in the resulting stream as flickering or other artifacts.
If you transcode by using the CPU or Nvidia NVENC, seamless source switching is the default behavior. Starting from Flussonic 20.07, our CPU transcoder is able not to lose any frames at the change of a stream’s media information.
Low latency playback
Low latency is a real trend in OTT video services, and it will be one of the hottest topics for years to come. To become a true winner in this competition, we utilize three technologies that grant a remarkable result below 300 milliseconds on a test stand.
First of all, we created an open source low load player. Yes, it’s codebase is open, we published it on GitHub, so you are welcome to enjoy it. We call it “zero latency player” to make it really easy to remember and to highlight our modesty as its creators. The player offers low delay HTML5 playback that does not require any Flash (it’s 2018) and is working where WebRTC cannot do the job. It was long offered in our embed.html mechanism and now we allow using the JaveScript module in your frontend project.
Second, we mastered WebRTC, which means that Flussonic Media Server can do both - receive and send WebRTC video fast and smooth. It’s a really unique feature - many media software enthusiasts challenged it’s complications but only few managed to create stable solutions that use the full potential of WebRTC.
And finally, we’ve made fine tuning of Flussonic DVR tools to optimize time spent for internal indexe updates. It seriously minimized storage load and, as a result, influenced the overall playback latency.
MSE-player GitHub page: https://github.com/flussonic/mse-player
EPG (Electronic Program Guide)
With the last update we presented new tools to extract program schedule from the stream, for example if satellite TV transmits EPG data together with broadcasts in MPEG-TS. Now it’s up to admin to decide whether he wants to use our free embedded solution or to buy data from third-party services. Both approaches have their own pros and cons. As Flussonic only extracts a schedule from the main source, it keeps the data as-is, which means that consistency and accuracy of the schedule depends on content provider, without double check from Flussonic.
Of course, we are well aware of these risks, and that’s where another Flussonic feature comes really handy. Flussonic holds it’s archive video data as a continuous timeline, without breaking it into separate files. If there is a wrong time in a schedule, a cue would be set according to the actual time of broadcast, but not to the timeline of its segment stored in a file.
Flussonic exports EPG into two formats: XMLTV - as it’s the standard format for describing TV broadcasts that is mostly used in IPTV middleware, and JSON - for integration with a web site to display the program on web pages.
Official documentation: https://flussonic.com/doc/iptv/export-of-epg-from-mpeg-ts-streams
Finally let’s talk about the feature we’ve never publicly announced yet. Of course, you’ve heard a lot about Flussonic APIs of Media Server or Watcher. But we went further and decided to create a fully functional SDK to embed Flussonic technologies into custom mobile applications.
A significant number of our customers are providers of end-user services: IPTV, VOD and video surveillance. Their success depends on the quality of video delivery, including low latency, fine picture and accessibility of video content. It takes serious effort and expenses to create a competitive tool for video playback, that’s why the Watcher SDK is extremely helpful.
Watcher SDK is in factin fact is a Flussonic MSE-player (its pros are described above) developers can embed into their mobile applications for Android or iOS devices. It fulfills all video playback jobs, while the rest of the application grants access to video files and streams via Flussonic API.
Using Watcher SDK lets a developer create a unique application with a powerful player, custom branding and user experience designed according to certain business needs in no time. Cool, yeah? We have already put this killer feature in production.