In a video stream there are, at least, two parts: a streamer and a viewer. To connect with each other, each one logs into a streaming platform (UGC platform). The goal of the first one is to broadcast live (let’s say he wants to broadcast a gameplay of a very popular computer video game). The mission of the second, the viewer, is simply to enjoy and see the content, as its name implies.
The process basically starts as follows: the streamer starts creating a stream on the website (the streaming platform), finds the “stream now” button and clicks on it. The web platform requests Media Server to create a publishing point. After that, it gives the streamer the URL in the personal account. The user enters this URL in the OBS program (1). The stream is formed and begins publishing to Flussonic Media Server (2). After transcoding, the server provides a playback point for viewers (3, 4, 5).
Now the stream is available to viewers on the streaming platform’s player. So what does a user do if they want to watch the streaming? Open the player and start watching the video as a live feed from Media Server (6). The viewer watches the broadcast to the end, the streamer says goodbye to their viewers and stops the broadcast. Finally, the viewers see an inscription on the screen that indicates that “the transmission has ended”.
But there are other viewers who missed the live broadcast and want to watch it anyway. The published broadcast, in full, was recorded on the DVR (7). Of course, it would be possible to continue storing the recording on the DVR and organize the viewing through it. But while the record is in the archive, there is no way to change and manipulate it. But what if the streamer wants to transcode the recording in different video qualities, apply subtitles, transfer it to a local disk or perform other manipulations? Well, to do that he or she must first export the desired part of the archive to an mp4 file and the web platform sends the appropriate command to Flussonic.
This is where the “fun” begins. Exporting mp4 file from the DVR is a long process. It is very convenient for the streaming platform to get information about the result immediately after the upload is completed. If the media server does not provide this information, the only alternative to the site is to constantly contact it: “Is the file uploaded?”, “Is the file uploaded?”, “Is the file uploaded?”. And the web platform can only guess if there are any export errors in this case.
However, with the implementation of events in Flussonic version 21.04, the communication between the media server and the web platform has become much, much easier. Flussonic now reports the export result by immediately sending the following events:
Now, with the implementation of events, a web-based platform that can:
- Know where to transfer the video storage
- Share the file with other users (if the export was completed successfully)
- Not to publish a file (export error) but, for example, request a download of the backup file
- Get the operator’s attention with a failed export report
When the dvr_mp4_export_ready event indicates “a happy ending”, the streaming platform organizes access to the mp4 file using the VOD model (8). (Video on Demand is a video access system that works on the principle of content delivery on demand) After that, the recording of the broadcast will be available at any time for an unlimited number of users (9, 10).