View Full Version : VBV Buffer size
streamingguy
10th April 2012, 20:29
Hello,
I am trying to encode couple of my DVDs into MP4s to use them on iPhone. The MP4s will be played back using streaming (either on 3G or WiFi) instead of local playback.
I am using video bit rate of 500kbps and 2 pass encoding. When I look at the final MP4, I see the highest video bit rate as 1200kbps. Due to this I am getting buffering issues.
So, I decided to restrict the bit rate using VBF buffer. If I want to allow max bit rate upto 800kbps, what settings I need to use for VBV buffer size and VBV max rate? I have looked at the X.264 documentation, but not getting the math behind it.
Please help me! Thank you in advance!
hello_hello
10th April 2012, 20:40
MeGUI has the iphone as a target playback device in it's x264 configuration options. According to it:
--profile baseline --level 3 --vbv-bufsize 10000 --vbv-maxrate 10000
For the iphone4 for it doesn't add any vbv restrictions, it's just:
--profile main --level 3.1
streamingguy
10th April 2012, 21:08
Thank you for your quick reply!
I am using MeGUI and and selecting "iPhone" as the target device. But, the encoded MP4 has high bit rates of 1500kbps. I want to restrict them to 800kbps to avoid buffering issues. So, I am looking for the exact values for VBV buffer size and VBV max rate.
Asmodian
10th April 2012, 21:28
The MP4s will be played back using streaming (either on 3G or WiFi) instead of local playback.
So, I decided to restrict the bit rate using VBF buffer. If I want to allow max bit rate upto 800kbps, what settings I need to use for VBV buffer size and VBV max rate?
vbv-maxrate isn't for setting a "max bit rate" in the sense of a target bit rate for encoding. It is just a buffer fill rate so don't over think it.
I would try:
--profile main --level 3.1 --vbv-bufsize 2000 --vbv-maxrate 800
If the startup delay is too high you can decrease --vbv-bufsize. Remember this is just the video rate so add audio to calculate your bandwidth requirements.
edit: the startup delay defaults to 0.9*[vbv-bufsize] / [vbv-maxrate] = (0.9*2000) / 800 = 2.25 seconds
streamingguy
10th April 2012, 21:31
vbv-maxrate isn't for setting a "max bit rate" in the sense of a target bit rate for encoding. It is just a buffer fill rate so don't over think it.
I would try:
--profile main --level 3.1 --vbv-bufsize 2000 --vbv-maxrate 800
If the startup delay is too high you can decrease --vbv-bufsize. Remember this is just the video rate so add audio to calculate your bandwidth requirements.
Thank you so much for your quick reply. I will try these settings and let you know if I see any issues.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.