Replies: 15 comments 2 replies
-
If I config it in /etc/kurento/modules/kurento/MediaElement.conf.ini - perfect. 3M constant. But this is a room setting, I would like to set it programmatically. |
Beta Was this translation helpful? Give feedback.
-
Confirmed. The programmatic setting of min/max encoder bitrate does not work :( I swear, it worked in the compiled version I made last week from 7.0.0-dev. I was using EDIT: That being said I see a regression here. EDIT2: I also double checked that I'm setting the proper values: 2023-03-23T17:32:48.772Z info: setEncoderBitrate 3000000 setMinEncoderBitrate 300000 setMaxEncoderBitrate 3000000 |
Beta Was this translation helpful? Give feedback.
-
This does look like a regression that I'll have to look into. The So the If you set the minimum at e.g. 100 Kbps, the maximum at 10,000 Kbps, and the average target at 5,000 Kbps, you should see an average bitrate output of 5 Mbps which depending on the scene, might raise up to 10 Mbps or go as low as 100 Kbps (always according to the decisions made by the encoder). If that's not the behavior you're seeing, then something is definitely wrong in there. Please try that instead of setting everything to the same value. Another thing that might be happening is that the min/max collision detection has a bug and when setting everything to the same value, the code is becoming a bit crazy... I'll look at the logic behind this to see if there is anything suspicious. |
Beta Was this translation helpful? Give feedback.
-
Do I have to set these values as "kBps" or as "bps"? |
Beta Was this translation helpful? Give feedback.
-
I tried "kbps" first. Publisher side: Subscriber side: Setting: 2023-03-23T19:33:25.459Z info: setEncoderBitrate 5000 setMinEncoderBitrate 100 setMaxEncoderBitrate 10000 Verdict: Doesn't work Will try "bps" next. |
Beta Was this translation helpful? Give feedback.
-
With "bps" Publisher: Subscriber: Setting: 2023-03-23T19:37:41.374Z info: setEncoderBitrate 5000000 setMinEncoderBitrate 100000 setMaxEncoderBitrate 10000000 Verdict: I don't know. Seems to not work |
Beta Was this translation helpful? Give feedback.
-
I was wrong. It does also not work with the kms7-dev version I installed last week. Very weird... |
Beta Was this translation helpful? Give feedback.
-
Q: I suppose the |
Beta Was this translation helpful? Give feedback.
-
Hi Juan, is there any progress here? Any hint, what to examine? |
Beta Was this translation helpful? Give feedback.
-
I really wonder, what the problem is: The publisher pumps with constant 3M, but the subscriber (transcoding) is not getting significantly more that 500K. Even though I'm reportedly setting everything right: 2023-03-27T10:45:01.828Z info: getEncoderBitrate 3000000, getMinEncoderBitrate 1500000, getMaxEncoderBitrate 4500000 Why does this not work? It works fine, if I set the variables in the *.ini. |
Beta Was this translation helpful? Give feedback.
-
It is definitely only working with static config: For the API I'm now convinced, that there is a bug. For instance: The order of "setMin/Max" is deciding. If you set MIN before MAX you will get this warning: 2023-03-27T12:06:04,775792 25283 0x00007ffa93842700 warning kmselement kmselement.c:1294 kms_element_set_property() Ignoring requested bitrate min > max; setting max: 0 This is all so weird... Very disappointing.... |
Beta Was this translation helpful? Give feedback.
-
Also a nice one:
Or this:
on this sequence:
Don't get it... |
Beta Was this translation helpful? Give feedback.
-
I think the only way out of this dilemma is to a) drop all that more or less stupid validation |
Beta Was this translation helpful? Give feedback.
-
OK, giving up here. This is entirely broken. Only fix configuration kind of works. "Kind of": It keeps the target bitrate, no min, no max. Any attempt to configure whatever bitrate later on (even with all verifications removed) does fail silently. Subscriber side this looks like so then (the received bitrate meanders around 300k, even all logs confirm the proper setup).
This is buggy 101 |
Beta Was this translation helpful? Give feedback.
-
Hi, I've been fixing other bug caused by newer versions of GStreamer: f226f46 Regarding this bug, please follow up in the bug tracker issue, #18 |
Beta Was this translation helpful? Give feedback.
-
The upgrade statements says:
Since my code is still compatible to 6.18 I'm reflecting this like so:
Branch passed here the "else" branch.
I'm now having a room setting
config.maxBandwidth
, which defines the bandwidth to be configured at several occasions in kBps. It is set to 3000 currently.In a publisher-filter-subscriber scenario this now leads to a publisher stream of constant 3MBit/s, which is then treated by the filter (transcoded before the delivery to OpenCV) and re-encoded, same standard H.264.
In previous version 6.18. I was able to see, that - if no movement is in the publisher video - the subscriber's input bitrate was about 300kBps, which matches the
setMinEncoderBitrate
setting. And it did follow up to 3MBit/s,.But regardless of how many changes I produce publisher side in KMS 7.0.0, these subscriber video bitrate never exceeds 1 MBit/s.
EDIT: And the video quality subscriber side is accordingly bad.
Why is that so?
Beta Was this translation helpful? Give feedback.
All reactions