We have a game streaming service. I am using libwebrtc and enabled FlexFec-03.
I see fec related stats in webrtc-internals.
I have tried various implementations of the FecController, the FecControllerDefault or my own version.
Looking at webrtc-internals stats:
Our games normally run at 60 fps and without FlexFEC enabled the framesReceived/s is basically at 60 with a varience of +1 (~61) to -2 (~58).
Graph image attached "stream_without_flex_fec.jpg"
With FlexFEC enabled I see it run at 60fps but with a varience of +20 (80) / -43 (17).
Quickly bouncing from high to low 4 to 6 times each 15 seconds.
Graph image attached "stream_with_flex_fec.jpg"
I have adjusted the FecProtectionParams tweaking fec_rate (0-255) and max_fec_frames(0-48).
No matter what I change with these values, even when there are no FEC packets, the framesReceived/s is still erratic which is mirrored in my client side fps.
Any suggestions to fix this?
My hope was to be able to give a percentage of my bitrate to FEC packets.
I don't mind if this means in the end to I have to increase my bitrate.
I have the ability to increase or decrease the FEC packets but I need to fix this instability in my framesReceived/s.
Thank you,
Matt