Does a video stream compressed with MJPEG have a less variable output bit rate than others.

If I make a little list, start with YUYP420, MJPEG, MPEG2, MPEG4, MPEG4_Part10HEVC(h264), SNOW? Given the same test input content consisting of some highly complex still scenes, some extremely simplistic still scenes, some high similar temporal shifted frames, some extremely dissimilar temporal shifted frames, what's the variation in bitrate for each codec. The point of this is basically when you put the datastream on the LEO transponder, I bet you 50% 60% of the bandwidth is MUXED WITH NULLs anyway so....why would I care if the bitrate for x264 is highly variable.

  • @SlimSCSI Including, but not limited to, the above representative scenarios. In a general sense, does it, have, less variable bitrate, than any other temporal intra-frame compression scheme. – Andyz Smith Oct 3 '18 at 22:52
  • temporal intra-frame compression scheme sounds like an oxymoron. But MJPEG is intra-coded, so as content changes, so will the instantaneous bitrate. But it also depends on the encoder and how much it can and does vary quantization. – Gyan Oct 4 '18 at 5:29
  • @Gyan I think I got my terms mixed up. Nomenclature notwithstanding, can you separate MJPEG from the bunch by confirming it has less variable bitrate? – Andyz Smith Oct 4 '18 at 11:31
  • I edited some comments into the post. Andyz, can you please edit updates into the question to fix the nomenclature problem. – Dr Mayhem Oct 11 '18 at 7:36
  • MJPEG doesn't perform any compare between frames, or "interframe" compression. Does this make it's bitrate less variable? – Andyz Smith Oct 12 '18 at 11:35

I have seen MJPEG produce highly variable bitrate, when you encode 1000 frames of a banner screen, all white background with big black blocky letters, you get 1000 encoded frames at about 2MB/s. When you get more complex content, a leopard standing, a static rainbow, a silhouette of a mountain, static clouds, you'll get 1000 frames out at about 8M/s. So the bitrate is actually very variable with each 2000 frame sample.

Now if you do the same thing with H264, you'll get one keyframe at 1MB/S super burst, then you'll get 999 frames out at 400 KB/S. And then you'll get 1 keyframes at 1MB/S super burst and then you'll get 999 frames out at 700 KB/S.

So it is very variable, even over a two frame sample, if you look to the first keyframes and the next delta frame.

So I guess it could be said MJPEG is less variable, but not really, all you have to do is look a little further back and forth in the stream and you find just as much magnitude of variation. I would say, in conclusion, the "VARIATION OF THE VARIATION" the VARITION of the first derivative, the instantaneous velocity vector of variation, will VARY MORE in H264.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.