[Libav-user] How to set bit_rate for MPEG4/2

Harald Schlangmann harry at gps-laptimer.de
Fri Apr 25 16:17:29 CEST 2014


I still do not get proper compression according to the bit rate set. I applied several other changes like playing with the time_base, making sure pts for frames / packets written are “well formed” (i.e. time_base 25000 and frame pts = 0, 1000, 2000, 3000, etc) and other things but have been without luck. 

To summarize, here are the generation / conversion pattern for a FullHD video:

	1) set bit rate to something invalid (!=0): too strong compression, effective bitrate 3412 kb/s
	2) set bit rate to what I actually want (7257 kb/s): huge result, effective bitrate 47628 kb/s 
	3) set bit rate to what I actually want plus rc_min_rate and rc_max_rate to same value (7257 kb/s): result size / bitrate o.k. but processing is by a factor of 5 slower than usual…

And here is the reason I mail again… I had a look into the result (ffprobe -show_frames) from 2) and found no B frames are generated. Instead I see one ‘I’ frame, 11 ‘P’ frames, and repeating this pattern. c->gop_size is set to 12, anything else I need to set to get B frames (which should reduce the size a lot)? What possible reasons there are the MPEG4/2 encoder does not generate B frames?

Greetings Harald

Harald Schlangmann
Antwerpener Str. 52, 50672 Köln, Germany
+49 151 2265 4439
Harry at gps-laptimer.de

On 20.04.2014, at 17:25, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:

> Harald Schlangmann <harry at ...> writes:
>> Looks I’m doing something fundamentally wrong here.
> Did you test with ffmpeg (the application)?
> I am not convinced that single pass encoding can 
> generally guarantee a target bitrate.
>> Any hint on how to influence result file size for mpeg4?
>> The only other fields I initialize for AVCodecContext 
>> are width, height, time_base, pix_fmt,  
> At least constant quantiser vs. bitrate can (and must) 
> be set.
> Carl Eugen
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4145 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20140425/3e88dc15/attachment.p7s>

More information about the Libav-user mailing list