How to set encoding complexity in RV10
What it all comes down to is the encoding complexity setting to the RV9/10 encoder. It is the same encoder, this is true, but for RealVideo 10 relative to RealVideo 9, the complexity scale was shifted, as illustrated below:
Code:
85 RV10 high
75 RV10 medium
65 RV9 high RV10 low
57 RV9 medium
50 RV9 low
You can to set your complexity level in one of two ways, either choose codec name + high/medium/low, or just codec name and direct complexity as a number. The recommended quality is RV10 High = Complexity level '85'.
Method one, preferred, "official" method
Code:
<videoStream>
<pluginName type="string">rn-videocodec-realvideo</pluginName>
<codecName type="string">rv10</codecName>
<encodingComplexity type="string">high</encodingComplexity>
<codecProperties type="bag">
<customPacketSize type="uint">16000</customPacketSize>
</codecProperties>
</videoStream>
encodingComplexity takes a string:
'high', 'medium', 'low'
or
command line option to producer :
-eco <complexity>, where complexity is high, medium, or low. This means that you can simply run producer 10 on the command line with '-eco high' for the best quality.
Method two, direct codec control, inside the <codecProperties> tag. This is undocumented, except here in this forum
Code:
<videoStream>
<pluginName type="string">rn-videocodec-realvideo</pluginName>
<codecName type="string">rv10</codecName>
<codecProperties type="bag">
<encoderComplexity type="uint">85</encoderComplexity>
<customPacketSize type="uint">16000</customPacketSize>
</codecProperties>
/videoStream>
encoderComplexity takes a number, here is the mapping:
100: RV 10 max
85 : RV 10 high
75 : RV 10 medium
65 : RV 10 Low = RV 9 High
57 : RV 9 Medium
50 : RV 9 Low
(note than 100 is "undocumented", and just a tiny better than 85, but slower, may be improved in the future, as time permits)
Again, I am sorry these settings have been changing, but that happens during development.