Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

H.264 Streaming Requirements

I am looking for more information about the minimum requirements needed for a visitor to successfully stream a 1 Mbps 640x360 H.264-encoded video. I know that the user needs the latest Flash 9 version. I am looking for the minimum requirements for their computers.

We want to switch to this codec for our videos, but do not want to ruin our site for people with slower computers. The question is: how slow is too slow? Will we alienate 1%, 5%, 50%? I really have no idea.

The best information I've found is on Microsoft's site regarding the requirements for 720p playback: http://www.microsoft.com/windows/windowsmedia/content_provider/film/ChoosingPC.aspx

The difference here is that true "high definition" 720p (!280x720) is between 5-10 Mbps. We are streaming half the resolution size and only 1 Mbps.

Any further information would be greatly appreciated.

like image 261
user24632 Avatar asked Oct 15 '08 22:10

user24632


People also ask

Is H 264 good for streaming?

H. 264 is great for live streaming and video-on-demand.

What is the best bitrate for H 264?

264. For 4K @ 30fps h. 264, the recommended target average bitrate is ~45 Mbps, and for HEVC, it is ~22.5 Mbps. For 4K @ 60fps HEVC, the recommended target average bitrate is ~48-54 Mbps, depending on the device.

What is H264 streaming?

H. 264 is a well-known video compression standard for high-definition digital video. Also known as MPEG-4 Part 10 or Advanced Video Coding (MPEG-4 AVC), H. 264 is defined as a block-oriented, compensation-based video compression standard that defines multiple profiles (tools) and levels (max bitrates and resolutions).

Is H264 good for 4K?

While H. 264 standard supports 4K HD videos of resolution only up to 2048x2048 pixels. Next, to save videos in storage drives without quality loss, H. 265 codec can get you higher quality with lower video file size.


2 Answers

It actually depends tremendously on the encoding options that you use. Some features that help reduce the bitrate while retaining quality require substantial compute power to decode.

The Microsoft link doesn't indicate what codec they're using (as far as I can tell). They may be giving stats for mpeg2 compression, which is much less CPU-intensive to decode than H.264.

I've found that a single-threaded decoder tends to max out a 2.4GHz Kentsfield core when playing 1080i or 720p video. I've also found that a 1.8GHz Pentium M hiccups with some online video (YouTube, etc).

I'd suggest trying some test encodings on a few different machines.

like image 56
Mr Fooz Avatar answered Oct 26 '22 07:10

Mr Fooz


There are obviously many variables, but here is one data point:

640x480 pixels @ 24 fps on a 2.2 GHz Intel Core 2 Duo running Linux 2.6 with real-time kernel patches resulted in 55% to 60% CPU utilization (out of 200% because of the dual cores) when streaming H.264 part 10 at 1 Mbit/s using the Intel IPP library.

like image 42
jholl Avatar answered Oct 26 '22 09:10

jholl