Hello Mr Young, how are you?
Over the last weeks I was able to advance in the project to a state where I can already collect results and metrics. I thank you for helping me get to this point.
I have one last problem though: When analyzing the results, using WebRTC internals, I noticed the client browser's bitrate fluctuates at around 250 kbits/sec. But, on my media pipeline I configured nvh264enc for a bitrate of 2250 kbit/sec:
dxgiscreencapsrc cursor=true ! capsfilter caps="video/x-raw,framerate=60/1" ! queue ! nvh264enc bitrate=2250 rc-mode=cbr gop-size=-1 qos=true preset=low-latency-hq ! capsfilter caps="video/x-h264,profile=high" ! queue ! rtph264pay ! capsfilter caps="application/x-rtp,media=video,encoding-name=H264,width=1280,height=720,payload=123"
I know WebRTC limits the bitrate based on bandwidth constraints, but I am doing all my experiments in LAN. I expected bitrate to be much closer to 2250 kbit/sec from the GStreamer pipeline encoder.
How can I make sure where this limitation is coming from (pipeline or client browser)? I tried reading the bitrate from the GStreamer pipeline but couldn't find anything using DEBUG logs because it's too verbose. I have also tried reading the "bitrate" property on some Bin elements (found some SO answer related to it) but couldn't find anything useful either.
Also, is there any possibility this limitation is coming from the client browser?
Like you said, of course you can't debug my pipeline remotely. Still, any directions you can give me are really useful.
Again, thanks for the help so far.