A platform to store, organize, manage, search, retrieve, and share different types of videos, an enterprise Video Content Management Systems (VCMS) allows a business to stream live and on-demand videos across the organization on a global scale. Use-cases could involve setting up an e-learning environment, monetizing your video content, and streaming CEO town halls live to thousands of concurrent viewers across the world. But before doing any of that, your videos must be processed to be made available on your enterprise video portal.
Question is: “How long does it take for a video to be available for playback once it’s uploaded?”
A Gartner-recognized enterprise video management system, VIDIZMO provides insight into your organization’s video processing workflows, showing exactly how long each process takes, from upload to playback.In this blog, we will take a look at how a video is processed behind-the-scenes, factors that can impact processing time, and how users can analyze each process within VIDIZMO.
Behind-the-scenes of Video Processing
Figure 1a: Behind-the-scenes of Video Uploading
Put simply, processing starts when the user browses for relevant content and clicks the ‘Upload’ button. The video is first divided into smaller chunks of predefined sizes and each chunk is sent to VIDIZMO application server, either one by one or in parallel. Thumbnail extraction occurs from the first chunk, but can be done at the end of the processing as well. When all chunks are received, the video is stitched back together, ready for the next process, which is encoding.
The stitched video is sent to encoding provider, where the video is compressed and then transcoded into a list of possible renditions—multiple file types and sizes—so that the video can be played on multiple devices using different players across varying bandwidth. Additional media analysis such as transcription of the video, optical character recognition, etc. can also be performed.
After encoding process is completed, the encoded data and the playback URLs are sent back to VIDIZMO application server. VIDIZMO uploads the encoded data to the user's storage provider, and in case of adaptive bitrate streaming, the playback URLs are kept at the streaming server end. In case of file-based streaming, the process does not require a separate streaming server and storage provider stores both—playback URLs and encoded data.
Figure 1b: Behind-the-scenes of Video Playback
Finally, streaming server (or storage provider in case of file-based streaming) uses the playback URLs to stream the requested video content to the client as and when required, accessing the video data from storage provider.
Factors Affecting Video Processing Time
Processing time varies from video to video because it depends on various factors, some of which are:
- quality of input video (its resolution, bitrate, frame rate etc.)
- duration of video (longer videos take more time to upload than videos with same resolution/frame rate but lesser duration)
- format of video
- number and types of output formats required
- types of video codecs used
- processing power of the servers your encoding service provider hosts
- number of encoding units running in parallel to reduce the overall processing time
How Long Does Each Process Take?
VIDIZMO offers a variety of choices when it comes to media publishing—from choosing the infrastructure to the number and types of output formats, from standard streaming protocols to adaptive bitrate streaming options, and much more. Different types of encoders that VIDIZMO offers can be found in this article. However, by choosing VIDIZMO the user can integrate any encoder of their choice.
The Admin Control Panel provides a detailed list of configurable transcoding options, encoding profiles, as well as encoding status information. The panel also allows the admin to keep track of the workflows and the activities involved.
Now, back to the question at hand: “how to track the video processing time in VIDIZMO while uploading a video?”
Analysis of Video Processing Time using VIDIZMO
For the sake of demonstration, two videos with different durations but same resolution and frame rate were uploaded (Figure 1), titled Maths Tutorial_1 and Maths Tutorial_2, using VIDIZMO cloud encoder.
Figure 2: Workflow Queue tab, found in the Admin’s Control Panel
As shown in Figure 2, encoding results of each video are shown. The user can also search for specific content upload history by specifying the date interval, keyword, workflow, event, activity, and state. Further details about the activities involved in video processing can be accessed by clicking Details at the end of each row.
Figure 3: Workflow Activity Details of the video Maths Tutorial_1
Figure 4: Workflow Activity Details of the video MathsTutorial_2
Figure 3 and Figure 4 describe the different activities that were carried out during the processing of the first and second video, respectively.
The last three columns in both these figures show exactly how long it takes to process a video. The Processing Start Timeshows the exact time when an activity starts, and since it’s a workflow activity, the next activity starts only when the current activity finishes. The State explains whether the mode of the activity is ‘Running’, ‘Finished’ or ‘FinishedWithError’ etc. The final column—Workflow Activity Name—identifies the type of activity taking place within the workflow.
Here, the activities involved were:
- Capture Thumbnail
- Encoding Media part 1 (sending request to the encoding service—in this scenario, the cloud server)
- Encoding Media part 2 (encoding request is received by the encoding service)
- Processing media (actual encoding is taking place at the encoding server, capturing encoded data when done and finally making playback URLs available at streaming server)
So for the first video (referring to Figure 3), we can see that the first activity—which is Clipping—started at 1:43:19, and then the second activity—Capturing Thumbnail—started at 1:43:28. We utilize this data to state that the video clipping activity took about 9 seconds only. The same could be done for the rest of the workflow.
First video (Figure 3):
- Clipping duration: 9 secs
- Capture Thumbnail duration: 10 secs.
- Sending Encoding Request duration: 10 secs
- Encoding Media duration: 3 mins 23 secs
Second video (Figure 4):
- Clipping duration: 9 secs
- Capture Thumbnail duration: 10 secs
- Sending Encoding Request duration: 11 secs
- Encoding Media duration: 7 mins 25 secs
We can see from the above statistical data that the first video took about 3 minutes to encode while the second one took 7 minutes. The main reason for this difference is the duration of each video, but another important reason is difference in bitrate, which further depends upon the extent to which the video can be compressed. Because the video was encoded using a cloud video encoding service, traffic and bandwidth may also impact encoding time.
Video processing time varies for each video based on several factors, but VIDIZMO provides its customers the ability to keep track of such information easily, allowing Admins to assess system performance, improve processes, and much more.