Did a test with my quality Australian Internet™.
People might need to consider adding a
bitrate variable.
Twitch also has a section dedicated to their encoding specs
-b:v | specifies the target (average) bit rate for the encoder to use (-b:a for audio)
-minrate | specifies a minimum tolerance to be used
-maxrate | specifies a maximum tolerance. this is only used in conjunction with bufsize
-bufsize | specifies the decoder buffer size, which determines the variability of the output bitrate
You can use abbreviations like
K for kBit/s and
M for MBit/s.
A constant bit rate would ask for the min, max and buf to be all the same values.
It's also recommended to use the presets, ffmpeg defaults you to medium, which is conveniently the best for x264 Twitch.
It's a tradeoff between compression efficiency and encoding speed.
For streaming veryfast is usually the recommended one.
-preset veryfast
-preset faster
-preset fast
-preset medium
Another thing to note, is that it looks like roughly the first 5 seconds will be lost.
Don't know how to go about this other than padding which unfortunately I forgot the command to on ffmpeg.
--
If for whatever reason you want to see the test and what I gathered.
Video Used: Tetris 99 - 150 Lines Mode (8:40 test)
Twitch Video - Will be deleting eventually as it was more of a test. (Probably automatically from twitch in 30 days)
Refrence from YouTube
What was used was the original video, not a download.
Duration : 8 min 41 s
Bit rate mode : Variable
Bit rate : 20.0 Mb/s
Maximum bit rate : 40.0 Mb/s
A bit overkill for Twitch.