Review: DVEO Brutus V
This review will highlight Brutus V, DVEO’s IP-to-IP multichannel AV1, H.264, and H.265 transcoder for IPTV or OTT (Figure 1). I will touch on Brutus V’s options for delivering streams over H.264 and cover streaming delivery over various streaming protocols such as HLS, LL-HLS, Smooth Streaming, and MPEG-DASH. I will also dive into transcoding using H.264 and HEVC.
Figure 1. Brutus V
About Brutus V
Brutus V can deliver streams over UDP, RTSP, RTMP, MPEG-DASH, and HLS with the AV1, H.264, and H.265 codecs. Brutus V is geared for IP delivery and does transcoding to various flavors. It’s capable of performing ingest via RTSP, SRT, RTMP, and HLS and push output to UDP, SRT, and RTP. The potential of outputting to DASH, LL-HLS, MSS, RTMP, MPEG-TS, and Shoutcast is also supported.
DVEO sells Brutus V to ISPs, content owners, and broadcasters for delivery via live streaming, IPTV/OTT, and FAST. Many of the company’s customers use multi-profile encoding to HLS and DASH.
Brutus V runs on NVIDIA GPUs and supports video codecs such as H.264, HEVC, AV1, and others. It also supports AAC, OPUS, and AC3. Customers can send SRT to Brutus V and can then transcode the stream as well. Customers can also ingest streams to Brutus V and transcode the stream to another streaming output.
Using Brutus V
To get started with using Brutus V, log in remotely to the transcoder. All of the work is then performed in the cloud directly on Brutus V.
To create a stream, click the + tab. From there, you can add your stream name and then the source URL (Figure 2). For my stream, I copied the URL to a stream already created for me on Brutus V. I followed the same process for the subsequent streams created in testing for this review. The new streams appear in the list of streams available on Brutus V.
Figure 2. Creating streams in the Brutus cloud UI
Once the stream is created, you can test playback using the many options available from the Output tab of the Brutus Dashboard. You are able to play streams for DASH, HLS, LL-HLS, MSS, RTSP, Shoutcast, and many other streaming options (Figure 3). You can copy the URL using the copy button on the right side of the page. There’s also an embed option.
Figure 3. Viewing available outputs
Testing Brutus V
Here’s how I tested Brutus V:
- First, I was interested in whether adding adaptive bitrate (ABR) streams would be straightforward or if it would require significant work. So, I set out to test adding ABR streams for H.264, AV1, and HEVC.
- Second, I was interested in testing transcoding. For this, I decided to test ABR streams created for H.264, AV1, and HEVC.
- Third, I was interested in learning how streaming playback worked for my ABRs. For this, I decided to test playback of my H.264 ABR streams, since playback for H.264 is prevalent.
- Finally, I was interested in testing playback of ABR streams using VLC, since many technical and streaming experts use the tool regularly.
I thought that people at colleges and universities like mine, Ohio State University, could benefit from the results of these tests. We perform thousands of encodes of on-demand videos weekly. While we don’t have as many live streams weekly, live transcoding is still extremely important in organizations like ours.
Here’s a summary of what I tested:
- Adding ABR streams for H.264, AV1, and HEVC
- Transcoding for H.264, AV1, and HEVC
- Playback of H.264 ABR streams in media players (THEOplayer and JW Player)
- Playback of H.264 ABR streams in VLC
Adding ABR Streams for H.264, AV1, and HEVC
In the Transcoder tab of Brutus V (Figure 4), you can add your ABRs by clicking the Add Video Track button. An AAC audio track is already included by default. This can be changed to Opus or another option if needed. There are some default options when adding your streams, but you can make adjustments to these once you add them. For my tests, I added 1080p, 480p, and 360p ABR streams for testing.
Figure 4. Viewing adaptive bitrates added for H.264
Figure 5 provides a glimpse of how the ABR streams look in the transcoder. You can make many adjustments from here. Clicking the drop-down menu on the right shows more encoding settings.
Figure 5. Extra detail needed when adding encoding profiles
Keep in mind that when adding ABR streams, you’ll need to add a little more information if you’re transcoding with H.264, AV1, and HEVC. In addition to profile, you’ll need to be prepared to include extra details such as preset, levels, reference frames, information about Open GOP, and whether you’ll have interlacing.
I was able to add my H.264 and HEVC profiles without issue but had challenges adding AV1 profiles, which I’ll discuss later in this review. Adding the information for profiles was straightforward. However, I had to view a Wikipedia resource to add my levels for H.264 and HEVC. Users will have to be knowledgeable about encoding profiles to configure transcoding.
Transcoding for H.264, AV1, and HEVC
For my tests, transcoding for H.264 and HEVC worked great. However, transcoding for AV1 did not work and produced errors. I believe this issue could be connected to a problem with the presets for AV1. When I went to adjust the ABR streams for AV1, I noticed the settings and values that are normally in H.264 profiles appeared in the AV1 settings.
I used my transcoded H.264 files to test streaming playback. Once you enable encoding and then add your ABR streams for H.264 and HEVC, the transcoding process starts on Brutus V. Also, all of the links for your streaming outputs will play the ABR streams as well.
Testing Playback of H.264 ABR Streams in Media Players (THEOplayer and JW Player)
To test the ABR streams for the H.264 transcoding, I selected THEOplayer Stream Tester (Figure 6) and JW Player Stream Tester (Figure 7) to confirm playback.
Figure 6. Streaming playback of HLS in THEOplayer
Figure 7. Streaming playback of HLS in JW Player
I copied the URL from the Output tab of my stream and pasted it into the online version of each player. You can see the formatting I used for the stream I tested in both players in Figure 8.
Figure 8. Streaming URL added in VLC
The streaming worked great and played well in both media players. You’ll notice in both Figures 6 and 7 that the ABR streams for my H.264 transcoded stream appear for playback.
Testing Playback of H.264 ABR Streams in VLC
Additionally, I tested the same HLS stream from H.264 transcoding in VLC. The stream played in VLC as well. Figure 8 shows where I added the URL.
Table 1 details the streaming playback tested with Brutus V and the results.
Figure 9 shows a view of playback in VLC.
Figure 9. Streaming playback of HLS in VLC
The H.264-transcoded stream played great with MPEG-DASH, HLS, and LL-HLS in both JW Player and THEOplayer. The transcoded stream also played great in VLC using Smooth Streaming.
Closing Thoughts
Brutus V boasts a tremendous number of capabilities, and the transcoder is straightforward to use. However, the absence of a supplied online manual or a document that explained the transcoder’s inner workings left me uncertain about ingesting streams and many other functions I wanted to explore further with the Brutus V transcoder. The Brutus V experience could definitely be improved if DVEO provided an online manual or one available as a PDF download. Also, blog resources or how-to videos for various common tasks such as ingesting streams, enabling publishing and authentication, using DVR features, and adding encoding profiles would be helpful for users.
In terms of access to the stream created for me on Brutus V, I was able to easily use that UDP stream to create additional streams to test playback and also to test Brutus V’s transcoding features for H.264, HEVC, and AV1. I was disappointed that I couldn’t test transcoding with AV1.
Where Brutus V excels is in the just-in-time packaging to simplify playback into HLS, MPEG-DASH, MSS, LL-HLS, and other streaming options. The streaming packaging feature provides significant time savings for testing streams in different protocols. Also, I absolutely loved having quick links to all streaming outputs in one place. And I appreciated the built-in player that served as a confidence monitor for verifying playback of configured streams. Brutus V shines with a variety of playback options.
It appears that Brutus V could use some tweaks as it relates to the additional information required for adding ABR streams. I generally love having a significant number of controls related to encoding, but I like not having to add too many other details. When adding ABR streams, I’d prefer not to have to add the levels for each stream. My preference is to select the profile and resolution and have the encoder configure the level for me. Maybe DVEO could provide an advanced option for users who want to include those details.
Related Articles
A detailed guide to Streaming Media's Trendsetting Products and Services of 2023.
08 Jun 2023
DVEO CEO Laszlo Zoltan explains to Streaming Media's Tim Siglin how DVEO, with products in multiple categories, works to establish a beachhead in the server market, in this interview from Streaming Media West 2016.
18 Nov 2016