[Libav-user] How to set bit_rate for MPEG4/2
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?
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
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4145 bytes
Desc: not available
More information about the Libav-user