A while back, I wrote about Raystream's new technology that is set to revolutionize the online video industry, or is it? I sent them a 271MB video file and asked them to do that voodoo that they do to it and send it back. Might the stuff they sent back surprise everyone that reads this, and shake the foundations of online video? Read on for my massive in-depth look at it.
I've been sitting on these video files trying to pick them apart for maybe a week and a half. I've loaded up the original and the Raystream versions of the files and played them for friends and family and asked them to pick which was which. I've nabbed some frames from the videos and compared them in quality and even had TechnoDad (that's my father) come by and check out the videos with me (you might recall he's the one with the massive media PC that runs his whole entertainment system, so he watches a lot of video and still has a pretty keen eye). Sure, he might not be an industry expert, and that's why I asked him. He's not burdened with terms like transcoding, proprietary algorithms, compression techniques, video containers and the like. He's an average consumer of video entertainment.
The results? Oh I'll get to that. First I've got to build the suspense right?
The Raystream History
Raystream have been making some pretty big claims about their technology stating things like they can crush a video file to a fraction (up to 70% smaller) of its original size with no loss of data, well, with some loss of data but that data loss in imperceptible to the average video viewer (hence TechnoDad's inclusion). My previous article on them (Raystream Says They Can Reduce HD Video Streaming Bandwidth up to 70%) was met with some heated debate about the company and the claims. You can bet that I was skeptical, I'm skeptical of all sorts of things and with my hard science background, I have to take my time and a methodical approach to things.
Some of the comments on the last article attacked Raystream for a variety of reasons and some others simply seemed to not understand what it is they are offering.
To date, I've not actually seen any of their tech, just the results and I have to say I was surprised.
The Raystream Results
The reason I haven't seen their tech is because it amounts to a proprietary compression algorithm that, from what I understand, repacks the data in the file to reduce file size. Along with that the compression does lose some data but I was hard-pressed to even see where that might have been for the most part.
So I did what every scientific mind would do when faced with dubious results, I attempted to recreate their results with the tools I had available to me. First I looked at the file properties of the original and the file they sent me. The first thing you'll notice is the drastic reduction in video encoding bitrate roughly 1/10th of the original. The audio encoding was also cut down to about 1/4th of the original.
The file size also dropped drastically, as one would expect when cutting out that much information, from 264MB to 21.7MB.
So I took all this and I dropped it into a custom encoding profile for Sorenson Squeeze 7 which I have. I took the original file and I transcoded it to MPEG-4 with those settings (to match the Raystream file). They also sent me an .M4V and a WebM file as well, all the same size. I figured if I could reproduce the quality in Sorenson Squeeze 7 with one format then I should be able to do so with the others as well. I did match their filesize almost perfectly. My audio was encoded at 96kbps (a preset value) which accounts for the file size difference below.
You can see the original at the top, my transcoded version at the bottom and theirs in the middle. So I was able to match their file size fairly closely. But what about the quality? Well, pictures are worth more than words and especially in this case. Check it out below.
HOOEY! Mine is FUGLY! Click that image to get a closer look but it's really easy to see how washed out the colors are and how blocky and chunked up it is. That's just gross and reminds me of the early days of online video, right. So I tried again with Apple's H.264 codec with a multi-pass transcode. The multipass combs the file several times instead of just once, writes info to a log and tries to find the best way to encode within the bitrate specifications. I was able to squeeze out an 11.7MB file, however, the quality wasn't the same. At first glance you might be fooled into thinking it is, but click the image and look closer, especially at the background and then you'll start to see the real differences even in the foreground.
The tragic data loss occurs when you look at that golden dome in the background and that leads your eyes to the brickwork in that building then to the brickwork in the darker building in front of it and finally to the detail in the clothing and finally the spear tip.
But what about Raystream compared to the original? Well, I've got that right here for you.
On the left, to demonstrate, I blew up the Raystream encoded frame versus the original on the right. I was examining the artifacts around the cloth and there actually seems to be less than the original. But you might be skeptical from that comparison, so here are the same frames at the same size. I won't tell you which is which right away so you can try to decide for yourself.
Here's the right half of the frames (click before reading on):
Click that one and get a good look. If you've been doing it as long as I have been now for this article you should easily be able to pick out some flaws. Alright are you ready?
Now here's the left half of the frames:
Yep, the one on the right in both images is the Raystream one. It took some time for me to find some appreciable data loss in these. In the first set look at the boarded up windows center top. Also, in this particular frame, his helmet is chopped. I saw this happen with his feet as well in another frame on the Raystream encode as if it was updating those pieces slightly later. In the second ones you can clearly see the Raystream watermark. Just below there in that wooden window it seems some detail is lost in the grain of the wood. There's also some smoothing in the brickwork below that and in the ground textures. But again, at first glance, it's hard to see it.
I'll tell you this; when I first started this project, I could barely tell the difference. The same went for TechnoDad until I pointed out some things to him. Others were equally impressed with the quality of the transcode and about 50% picked the Raystream version as the original. I chalk that up to the smoothing that seems to have made some of the textures in the video more aesthetically pleasing to the eye or rather, which are nicer when the brain processes the image.
To get that level of quality in a file that's about 8.2% of the original file size, well, that's damned impressive if you ask me. I even did another test with the Apple H.264 codec and a multi-pass transcode. I tried to hit the file size dead on which meant I had some bitrate to play with in this transcode. So I doubled the bitrate and left everything else the same and these are the results:
and the other half (pay close attention to the stonework in the tower and the dome:
In both of the images above, the Raystream video is on right, mine is on the left. I did not switch them around, and why would I? I've got nothing to gain here, this was all in the name of science and perhaps myth busting. This video was 1280x720 and there is noticeable difference in the quality, imagine what the quality difference would be in 1080i.
We're all in the business of online video and that means trying to put forth the absolute best image we can for our videos but bandwidth costs are climbing, metered Internet connections might be on the way and that will all cut into out bottom line one way or another. While online video might be in its heyday right now, there are dark clouds on the horizon in regards to some recent legislation and FCC decisions all of which could spell the end of unmetered broadband. Wouldn't it be awesome if you could cut down the bandwidth of your video by 80%? Even 50% would be fantastic and 20% would probably make heads turn. There have been numerous reports spouting off how online video is clogging the Intertubes and that it will cause the utter collapse of all data transmission by 2015 (pfft...who reported that? Fox news?). Raystream is able to give great quality for a fraction of the file size. That means far less file storage space and far less bandwidth to stream that video. It means mobile video could be improved drastically and quality improved as well.
Is Raystream the best available solution? I'm not qualified to say because I haven't tested them all (if you want me to test yours, email me (crick [at] reelseo.com) and I'll be more than happy to compare it. Is Raystream a quality solution? Hell yes. After seeing all of this and looking at all the files I transcode for Gamers Daily News, I wish I could use their solution for all my videos because it would save enormous amounts of space and bandwidth and probably even boost our adoption of HTML5 and increase our video views because serving more video and using less bandwidth is the dream but the quality vs. buffering and bandwidth is a hard equation to balance.
My Final Thoughts
Raystream crushed my transcodes even when I doubled up the bitrate for that last one. The level of detail in theirs compared to even what I managed in that last one is amazing. The colors are more vibrant, the stonework is more detailed and even the golden dome looks better in theirs. Obviously I was able to get close to their results after some testing, but I could not manage to duplicate them exactly.
I know, I know, I harp on everyone about their methodology, so if I'm going to do something like this I have to be clear about mine as well. So here you go.
All of the transcodes here were done on my Intel second generation i7-2600K with 4GB of RAM and the Sorenson Squeeze app was able to access my EVGA GeForce GTX580 1536MB GDDR5 graphics card since it's a CUDA processor with 512 cores. So that made all the transcodes ultra-fast which really make me happy since I just bought all of that about a month or two ago. The beautiful thing was that it never topped over 26% CPU usage or more than 2.4GB of RAM usage.
I used Sorenson Squeeze 7 for the transcoding with custom profiles based on the bitrates in the Raystream encoded files (see first image), except for the final test I did where I doubled the video bitrate on that one to get a comparable file size.
The original transcode used these settings:
Apple H.264 with multi-pass transcoding settings:
My final test, doubled up bitrate with the Apple H.264 multi-pass transcode to attempt to match file size and quality. File size ended up at 21.5MB, just short of theirs.
The file I used was for Assassin's Creed Revelations from Ubisoft and was titled Secrets of Abstergo Vignette. It was a promotional piece I had on hand and chose it based on the complexity of the textures in the CGI, the file size and the amount of action in the video. Plus, it's a badass game franchise, which had no bearing on the decision actually. The original encoding properties of that file are in the first image in this article.
All example images were screen shots edited in MS Paint for cropping. The videos were played in Media Player Classic - Home Cinema (sourceforge). You already have the tech specs on my PC.
If you made it this far, kudos to you for checking my methodology! Any questions?