We have been struggling to get the output streams to work well with youtube and twitch but the output streams are a big mess and both youtube and twitch give errors.
The RTMP inputs work fine (we can push rtmp to it) and the RTMP pulls also work fine if we pull the rtmp from another platform. But the rtmp output streams that we define with each input starts giving errors any time unexpectedly (but consistently).
Stream is a good platform but there are a couple quirks like this that makes it unusable in production. Does anyone know how to get over this issue? Can we set any parameters for the output - I can see only the url and the key. Can we set the output bitrate etc for every output too somewhere? Twitch gives bitrate errors and youtube shows garbled video if the problem starts.
FYI: The stream works fine if I send to youtube or twitch directly from my encoder instead of sending to CF input which outputs it to twitch or youtube. So my encoder settings are ok for twitch and youtube. But if I send the stream via cf input then it is a big mess.
Note added for error details as requested by tt2468:
My encoder is obs and I use these settings: 2500 kbps bitrate, 1280x720 res 30 fps gop 2 seconds (60 frames)
As mentioned the streams are fine if I send them straight out to youtube or twitch.
If I send it to cf input i can do an rtmp pull and that is fine. Even the hls/dash player plays it out fine.
But if i attach outputs to that input (to twitch or youtube) then it plays fine for a while but then it starts giving issues. The issues are glitchy frames on youtube (bad video). On twitch either the video frames go bad (on twitch app) or it gives an error 1000 in browser. the error 1000 usually means that bitrate or some other parameter is out of bounds in the stream.
I understand that cf does not transcode while sending the output - but it definitely sends some data in the output that I do not send in my stream - perhaps some metadata or some other setting or configuration that makes the output stream unusable on youtube and twitch. OR perhaps it ignore some data that i am sending in my original stream and since yt does not get that info, it fails.
I am not sure what cf is doing on the output since cf does not give any details of the output (it does give some details of the input). Clearly what i am sending to the cf input from my encoder is not what is going to yt and twitch from the cf output. And there is no way to debug the situation.