Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-2 Encoding
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 27th October 2006, 10:57   #1  |  Link
me@work
Registered User
 
Join Date: Feb 2003
Location: The world is not enough...
Posts: 19
HC: resulting average bitrate

When I used HC to encode an SVCD-destination file, I noticed that the resulting file was way smaller than what I expected. You know, I like to fill up the CDs with as much bits as possible...

Having experienced this, I let the two encodes mentioned in the attached log file run.

Please note that both come from the same input file, but the first encode used av/max of 4000/8000, whilst the second one used 2200/2470. The resulting average bitrate in the first encode was 3999, close enough to what I expected ;-)

But the second one did not come out with the expected 2200; it only yielded 2118, resulting in a too small file and, as much as I understand about it, a smaller amount of precious bandwidth used than possible.

Switching to *PROFILE best did not really change anything.

So, what I would like to ask is:

What can I do to increase the accuracy of the resulting average bitrate? Is it something I have in my hands, or is it a glitch in the encoder?

======================================
Here goes the logfile:
======================================

-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.19.0.0 |
-----------------------------------------

input: f:\threemin.d2v
output: F:\8000_4000.m2v

--------------------
| encoder settings |
--------------------

profile: NORMAL
frames: 0 5021
framerate: 25.00
aspect ratio: 4:3
bitrate Kb/s: 4000
max. bitrate Kb/s: 8000
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no
goplen,B-pic: AUTO
dc_precision: 9
scan method: ZIGZAG
bias: 0
chapter frames: 0
time code: 0 0 0 0
CPU: SSE2
matrix: MPEG

--------------------
| source stats |
--------------------

nr. of frames in source: 5022
width*height: 720*576
fps: 25.00
nr. of frames to encode: 5022
frames to encode: 0 - 5021

---------------------
| encoding - pass 1 |
---------------------

pass 1 encoding time: 0:04:02 (242 s)
average fps: 20.8

--------------------------------
| encoding - intermediate pass |
--------------------------------

bitrate set to: 4000000 b/s
est. outfile length: 98086 kB
intermediate encoding time: 0.0 s

---------------------
| encoding - pass 2 |
---------------------

pass 2 encoding time: 0:02:42 (162 s)
average fps: 31.1

------------------
| encoding stats |
------------------

total encoding time: 0:06:45 (405 s)

intra matrix used
8 16 19 22 26 27 29 34
16 16 22 24 27 29 34 37
19 22 26 27 29 34 34 38
22 22 26 27 29 34 37 40
22 26 27 29 32 35 40 48
26 27 29 32 35 40 48 58
26 27 29 34 38 46 56 69
27 29 35 38 46 56 69 83

non-intra matrix used
16 17 18 19 20 21 22 23
17 18 19 20 21 22 23 24
18 19 20 21 22 23 24 25
19 20 21 22 23 24 26 27
20 21 22 23 25 26 27 28
21 22 23 24 26 27 28 30
22 23 24 26 27 28 30 31
23 24 25 27 28 30 31 33

nr. of gops: 350
nr. of frames: 5022
nr. of I-frames: 350
nr. of P-frames: 1396
nr. of B-frames: 3276
average quant (non linear): 4.393
VBV underflows detected: 0
VBV underflows fixed: 0
minimum bitrate: 2625
maximum bitrate: 7923
average bitrate: 3999


==================================================
==================================================

-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.19.0.0 |
-----------------------------------------

input: f:\threemin.d2v
output: F:\2470_2200.m2v

--------------------
| encoder settings |
--------------------

profile: NORMAL
frames: 0 5021
framerate: 25.00
aspect ratio: 4:3
bitrate Kb/s: 2200
max. bitrate Kb/s: 2470
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no
goplen,B-pic: AUTO
dc_precision: 9
scan method: ZIGZAG
bias: 0
chapter frames: 0
time code: 0 0 0 0
CPU: SSE2
matrix: MPEG

--------------------
| source stats |
--------------------

nr. of frames in source: 5022
width*height: 720*576
fps: 25.00
nr. of frames to encode: 5022
frames to encode: 0 - 5021

---------------------
| encoding - pass 1 |
---------------------

pass 1 encoding time: 0:04:04 (244 s)
average fps: 20.6

--------------------------------
| encoding - intermediate pass |
--------------------------------

bitrate set to: 2200000 b/s
est. outfile length: 53947 kB
intermediate encoding time: 0.0 s

---------------------
| encoding - pass 2 |
---------------------

pass 2 encoding time: 0:02:39 (159 s)
average fps: 31.6

------------------
| encoding stats |
------------------

total encoding time: 0:06:44 (404 s)

intra matrix used
8 16 19 22 26 27 29 34
16 16 22 24 27 29 34 37
19 22 26 27 29 34 34 38
22 22 26 27 29 34 37 40
22 26 27 29 32 35 40 48
26 27 29 32 35 40 48 58
26 27 29 34 38 46 56 69
27 29 35 38 46 56 69 83

non-intra matrix used
16 17 18 19 20 21 22 23
17 18 19 20 21 22 23 24
18 19 20 21 22 23 24 25
19 20 21 22 23 24 26 27
20 21 22 23 25 26 27 28
21 22 23 24 26 27 28 30
22 23 24 26 27 28 30 31
23 24 25 27 28 30 31 33

nr. of gops: 350
nr. of frames: 5022
nr. of I-frames: 350
nr. of P-frames: 1396
nr. of B-frames: 3276
average quant (non linear): 7.769
VBV underflows detected: 0
VBV underflows fixed: 0
minimum bitrate: 1605
maximum bitrate: 2466
average bitrate: 2118
me@work is offline   Reply With Quote
Old 27th October 2006, 20:02   #2  |  Link
hank315
HCenc author
 
Join Date: Nov 2003
Location: Netherlands
Posts: 570
In the first encode (4000/8000) there's a large difference between average/maximum bitrate so the VBR bitrate control works OK.
The second encode is almost like CBR because there's only a small difference between the average and maximum bitrate.
HCenc can't do real CBR so it's harder to keep the avarage bitrate, setting *BIAS 100 might help in this case.
__________________
HCenc at: http://hank315.nl
hank315 is offline   Reply With Quote
Old 1st November 2006, 10:48   #3  |  Link
me@work
Registered User
 
Join Date: Feb 2003
Location: The world is not enough...
Posts: 19
I also thought about the tight difference in max/ave for SVCD, because an 8000/2200 encode came out with exactly 2200 average for the given input.

Further tests showed that a difference of approx 1000 kBit/s appears to be sufficient, at least for the given source. But I'm a little afraid about using a too high max. bitrate for an SVCD which might then not be able to be played correctly in a stand-alone DVD player...

And, as we are at it, the *BIAS parameter does not seem to have too much of an effect at all, at least with my 5000 frames PAL source encoded at the given rates (see logs below).

Furthermore, HCenc complains about not being able to find the MPEG2 decoder when fed with -ini

*INFILE f:\threemin.d2v
*OUTFILE F:\3100_2200.m2v
*LOGFILE F:\3100_2200.log
*BITRATE 2200
*MAXBITRATE 3100
*FRAMES 0 5021
*ASPECT 4:3
*MATRIX mpeg

while HCgui does not feel any of these problems using the same ini.

And here are the *BIAS log infos, shortened for the more related parts:

-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.19.0.0 |
-----------------------------------------

input: f:\threemin.d2v
output: F:\2590_2200_BIAS.m2v

--------------------
| encoder settings |
--------------------

profile: NORMAL
frames: 0 5021
framerate: 25.00
aspect ratio: 4:3
bitrate Kb/s: 2200
max. bitrate Kb/s: 2590
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no
goplen,B-pic: AUTO
dc_precision: 9
scan method: ZIGZAG
bias: 90

<...>

minimum bitrate: 1790
maximum bitrate: 2588
average bitrate: 2125


==================================================
==================================================

-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.19.0.0 |
-----------------------------------------

input: f:\threemin.d2v
output: F:\2590_2200_BIAS.m2v

--------------------
| encoder settings |
--------------------

profile: NORMAL
frames: 0 5021
framerate: 25.00
aspect ratio: 4:3
bitrate Kb/s: 2200
max. bitrate Kb/s: 2590
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no
goplen,B-pic: AUTO
dc_precision: 9
scan method: ZIGZAG
bias: 95

<...>

minimum bitrate: 1737
maximum bitrate: 2589
average bitrate: 2124


==================================================
==================================================

-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.19.0.0 |
-----------------------------------------

input: f:\threemin.d2v
output: F:\2590_2200_BIAS.m2v

--------------------
| encoder settings |
--------------------

profile: NORMAL
frames: 0 5021
framerate: 25.00
aspect ratio: 4:3
bitrate Kb/s: 2200
max. bitrate Kb/s: 2590
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no
goplen,B-pic: AUTO
dc_precision: 9
scan method: ZIGZAG
bias: 100

<...>

minimum bitrate: 1740
maximum bitrate: 2589
average bitrate: 2124


==================================================
==================================================

-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.19.0.0 |
-----------------------------------------

input: f:\threemin.d2v
output: F:\2590_2200_BIAS.m2v

--------------------
| encoder settings |
--------------------

profile: NORMAL
frames: 0 5021
framerate: 25.00
aspect ratio: 4:3
bitrate Kb/s: 2200
max. bitrate Kb/s: 2590
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no
goplen,B-pic: AUTO
dc_precision: 9
scan method: ZIGZAG
bias: 50

<...>

minimum bitrate: 1701
maximum bitrate: 2588
average bitrate: 2117


==================================================
==================================================

-----------------------------------------
| HCenc - MPEG2 encoder - rel. 0.19.0.0 |
-----------------------------------------

input: f:\threemin.d2v
output: F:\2590_2200_BIAS.m2v

--------------------
| encoder settings |
--------------------

profile: NORMAL
frames: 0 5021
framerate: 25.00
aspect ratio: 4:3
bitrate Kb/s: 2200
max. bitrate Kb/s: 2590
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: no
goplen,B-pic: AUTO
dc_precision: 9
scan method: ZIGZAG
bias: 5

<...>

minimum bitrate: 1562
maximum bitrate: 2588
average bitrate: 2084
me@work is offline   Reply With Quote
Old 2nd November 2006, 00:46   #4  |  Link
hank315
HCenc author
 
Join Date: Nov 2003
Location: Netherlands
Posts: 570
Quote:
Originally Posted by me@work
Furthermore, HCenc complains about not being able to find the MPEG2 decoder when fed with -ini
while HCgui does not feel any of these problems using the same ini.
HC supports multiple versions of DGDindex/DGDecode: fileversion 6, 8, 10, 11, 12, 13.
The GUI reads the D2V file to find out which DLL is needed, then it copies the right DLL into the HC directory as DGDecode.dll.
__________________
HCenc at: http://hank315.nl
hank315 is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 02:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.