I'm having trouble getting a 30fps source stream to play on a Roku 3 with 7.1.0 firmware. I used ffmpeg to change it from 29.97fps source to 23.98fps and it started working. The video encoding guidelines at https://sdkdocs.roku.com/display/sdkdoc/Video+Encoding+Guidelines#VideoEncodingGuidelines-SupportedV...
say H.264 should play with either frame rate, so I'm not sure what else might be the problem.
Here is what ffprobe tells me each stream is...
Does not play (Video SG node give error -5 : Video error -5 - malformed data):
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720, 1016 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720, 957 kb/s, 23.98 fps, 23.98 tbr, 19184 tbn, 47.96 tbc (default)
Audio streams are identical.