Log in

View Full Version : 264 Encoding for HD Streaming Media - Basic Question


Plutonium
18th November 2011, 00:51
Hello,
I'm curious as to whether there are methods of HD encoding meant for streaming (hardware or software based) that are superior to others in terms of the size of the bitrate that they produce for a given HD format. In example, of these three ALL setup for 720p@30fps streaming

1. TouchCam E1 HD webcam with its onboard 264 encoder

2. Flash Media Encoder connected to HD cam

3. BlackMagic H264 ProRecorder connected to HD cam

Would there be a significant difference in the resulting bitrate that is pushed out to the end viewer. Or is the only difference between these methods only in the speed at which they execute the encoding (because h264 is always compressed to the same end regardless of the technology doing it). Ultimately, this is a question of increasing the quality of an HD stream whilst decreasing the bitrate that needs to be pushed by the server, and pulled by the user. Something that I'm sure things like Hulu and Netflix are spending billions on optimizing. Would I see a significant decrease in the bitrate of a converted 720p@30 HD capture by using a $2000 dedicated media encoder box versus a $100 webcam with an onboard h264 encoder. Likewise, would a 1080p $1000 HD camera hooked up to the same box result in basically the same quality 720p@30 stream as a $200 720p camera hooked up to the same box at say a resulting bitrate of 1Mbps. Again, I'm not concerned at how hard it will be for the $2000 box to encode each input, but rather the result of the output.
Thanks

Dark Shikari
18th November 2011, 02:23
x264 is going to give vastly better compression than any of those. None of those you listed are even close to suitable for typical web streaming scenarios. Webcams have extremely limited hardware encoders, BlackMagic cards are typically intended for offline capture, and Flash Media Encoder is possibly one of the worst H.264 encoders in the world.

fifer55
18th November 2011, 07:20
... Ultimately, this is a question of increasing the quality of an HD stream whilst decreasing the bitrate that needs to be pushed by the server, and pulled by the user. Something that I'm sure things like Hulu and Netflix are spending billions on optimizing...

Trust me, Netflix and Hulu are not spending billions on optimizing. Also, if you knew the H.264 algorithms they were using, people would... :scared:

Blue_MiSfit
18th November 2011, 09:02
Regarding the above: there's a lot of x264 there, believe it or not - at least on the Netflix side for PS3 (maybe some more new devices as well). I'm not sure about Hulu, but I remember reading somewhere they were using x264. Also Facebook (I think) and Youtube.

It's likely that the settings are pretty dialed back for broad compatibility, and for sure the bitrates are low, but that's kind of beside the point and off-topic.

To be on-topic: x264 is a fantastic choice for streaming video, provided you know (or want to learn) how to use it in your specific application, or are willing to pay someone who does. Otherwise, you can spend your money on a "pro" product. It's up to you what decision to make, but there are pros and cons on either side. Things get more complex if you're talking about adaptive streaming, which requires some know-how to set up on the back-end to start with, and some solid knowledge on the encoding side as well. Some of the "pro" solutions can make this easier for you. Live streaming (adaptive or otherwise) adds further complexity.

Bottom line, x264 is (in just about every scenario) the most efficient video encoder out there, bar none (see my signature!). It's also extremely reliable, fast, and actively developed. If you can work it into your project, do so. Otherwise, there are turn-key solutions from plenty of companies that will do a reasonably good job. They just cost a lot of money :devil:!

Derek