Video: Going Under the Covers With Video Engineering Tools
Learn more about video engineering at Streaming Media's next event.
Watch the complete video of this presentation from Streaming Media West, VES101: Tools & Techniques for Diagnosing & Resolving Problems in Large-Scale Events, in the Streaming Media Conference Video Portal.
Read the complete transcript of this clip:
David Hassoun: When we start going under the covers, one of the biggest challenges that we really run into, is that, "Okay, great. There was a problem." Oftentimes it has to do with ad breaks or something, right? When we're intermixing different content coming in. That adds in the potential for all sorts of things to go bad. So understanding what's happening and what we're actually playing in looking at the actual content, is one of the key things that we end up having to do very quickly, to know what's going on.
One of the first tools I ever started working with for kind of getting a view for what the media's actually set up like, what's the codecs, all the details around that, was a tool called Media Info. It's free, there's a command line, and stuff that you could integrate. I worked with customers to integrate this tool into their whole workflows for gathering out a bunch of data. Or it's great from a GUI perspective. One of the very first things I'll often do, is okay great, I know the content before the ad, and I take a look right at the beginning of the ad that was a problem, I'll take both of those TS segments down, and I'll open them both in Media Info, and look to see how different they are.
If something is really different, in codec or even sometimes the size or quality or other factors, these are things that can lead to crashes especially on OTT devices and stuff that are a little bit more sensitive. So this gives you a full breakdown of your audio, your video data and its packaging. So it's good for a visual root and really quick to be able to see what's going on. If things have different profiles or other stuff midstream that can cause other problems, those are things that we look for that can be a quick win to see if your media wasn't prepared properly, and therefore we know that we got to send that back up.
Video Help BitRate Viewer
BitRate Viewer is an old tool that's not in development anymore but I still use it on occasion. It's free. You can pull in any video file, including segments, and it will show you the actual bandwidth fluctuation within there, so this is a good way to get a visual representation to say, "Hey, I said I wanted to target this bitrate at 2Mbps." And coders will say, "Oh don't worry we'll limit it we won't spike more than x amount." A lot of them do anyway. This will actually let you see that. And that can be a problem if you're having a lot of switching problems and you need to actually validate what's the actual bitrate is in the content versus what we say it is to see if we're having an adherence problem or the performance aspects that are caused by that.
Eyevinn Segment Analyzer
This is something that I just came across the other week. Jun Heider was in Sweden at a conference and he came across guys who did this, this is a web based one I'll pop this up right now because it's actually pretty cool what they are doing all of this web-based. Here, you come over to this site and it gives you the option to, there we go, point it to any video segment, so in this case it's a TS file. Right? And you can say Parse, it loads it, and it actually does a deep analysis on that segment for you. So it shows you video packages, your average bitrate, your audio packages, and lets you kind of dive in a little bit more and see some of the stuff. So it's actually pretty cool when you want to get a little bit deeper showing PTS, your time, so forth. And it's kind of handy. It's not the end all be all by any means, but it's free and it's something to show what you can do just with web technology right now as well.
Elecard Stream Analyzer
Elecard Stream Analyzer is a very powerful tool when you need to do deep analysis of content. If you actually need to go down to the bit level and check stuff off, looking for a certain byte, data, at certain positions when it should because something might be wrong in the video. This is the tool that can really make that easy to get to. But you need to know what you are looking at. We've had instances that we've had to use this to make sure that a chunk does start with the proper initial character or something when we had video that we knew was corrupt but we didn't know why.
We worked with the guys at iStream Planet they're actually the ones that turned me onto this tool back in the day. And it can be useful for doing a deeper analysis, this is not a cheap tool. Elecard makes some really really good products though when it comes to doing even live stream monitoring and so forth they have a Boro product that's really cool for doing live QA and so forth and Stream Analyzer is one of their smaller products but does a nice deep dive when you need it. I'm not going to go too far deeper into that one. I think I have it if we want to take a peek at it.
FFprobe so I hope most of you guys have heard of FFmpeg in the past. FFprobe has been around for quite a while with that. There's a great command-line tool when you need to get some information out of what's actually in your video chunks or your video stream. That can be useful for checking compliance and making sure that things are what they're supposed to be and that there's not any major issues that you can identify quickly in that regard. Something that a lot of times gets integrated into automated workflows or the stuff as well because it's pretty powerful fairly quick and does a good job. We've been using Bento4 a lot as well lately as well as Shocka, Bento4 has a couple different things they have the mp4 info tool, that's going to give you some really good information about the packaging and the structure of it. This can be really valuable. There's also mp4 dump, this gives you some really good deeper date on the actual structure of the file and how things are looking when you need to see deeper data this is really good. Can support JSON output and so forth.
One of the things that we run into unfortunately I've seen it happen quite a few times to different customer is things when it comes to the packaging, especially once again for working with ads but even when it's not ads sometimes for other reasons, things like too small a segment, right? So you normally have a four-second segment cadence and then, with an ad, something supposed to be a 30-second ad but it was 30.1 seconds because somebody just didn't do what they were supposed to. That .1 seconds can crash your devices. If it doesn't have the appropriate amount of data and keyframes it will load in, especially on OTT devices, and it will then crash the application. That's a bad thing. This is where having tools that you can use to monitor, especially if you have an automated system to check for that type of stuff, can be very very valuable.
RealEyes CEO David Hassoun discusses more playback-testing tools, including RealEyes MOE:Viewer, in this clip from his presentation at Video Engineering Summit at Streaming Media West 2018.
RealEyes CEO David Hassoun discusses Beamr View, Telestream Switch and other tools you can use to test playback for your streaming content in this clip from his presentation at Video Engineering Summit at Streaming Media West 2018.
RealEyes CEO David Hassoun discusses Charles, Wireshark, Apple TV Proxy, and other network diagnostic tools in this clip from his presentation at Video Engineering Summit at Streaming Media West 2018.