I’m having a strange realization while working on a project I’m having.
I created a streaming solution where i stream a image with the resolution 480×640 totaling at 30’720 pixels, and every pixel contains 32bits of data and by my calculations this means that every frame totals to 1,2MB of data which means that 30fps would total to a 36MB/s line.
So to my question how does a streaming solution stream 30fps over f.ex 2mbit/s line?
I’m guessing that the same question can probably used to explain how a jpg image with a 480×640 resolution takes up <100KB
Compression is your friend.
I don’t know the specifics of your solution, but a few assumptions can be made.
First off, even if you send each frame as a full frame, they should be compressed. Even lossless compression should get you some pretty good compression rates, but if you go with something lossy (like jpg) then you can get even more.
But that’s not all you get. Any good video codec should provide significant compression as well. Parts of the image that don’t change between frames don’t need to be sent at all, and other parts can be compressed nicely too (I don’t know much specifics about the compression used, but there’s a lot of stuff that’s done to compress it).
This all adds up to a lot of savings over sending a full 32bit bitmap for every frame.