I have two questions:

1- If I want to transfer a photo via bluetooth, how should I find how long it takes to transfer? I mean the formula between the image size, bluetooth bandwidth and time.

2- If I want to transfer video in real time, how should I calculate the bandwidth is needed to transfer the video via bluetooth/WiFi? What's the formula between video resolution(VGA,2K,4K,etc) and transferring bandwidth if we want to do it in real-time?

For example: If I have 1920*1080*30(fps) video, I think I should multiply it by 3 or 4(respect to colored image type) then I have about 180~240 million bytes to transfer per second. So it means I need about 200MBps bit-rate! And I only should use 802.11n protocol for that!

Did I calculate the things right?

EDIT: I found this calculator that I am not sure but I think it's the thing I was looking for (https://www.cctvcalculator.net/en/calculations/bandwidth-calculator/). what do you think about this? Why does it calculate local bandwidth bigger than network bandwidth? it's strange for me!

  • $\begingroup$ Please use "bit-rate" for the MBps instead of "bandwidth". $\endgroup$ – Furkan Küçük Jan 6 '18 at 8:38

First of all, you mistakenly assume that those multimedia source files are sent as raw bits (or bytes); no but instead in compressed form. Hence you shall not compute the raw bitrates of those file types unless you really want to send the raw bits associated with an uncompressed PCM audio file or RGB-BMP image-video file. The actual bits which are sent come from their compressed formats such as mp3, jpeg, h264, h265 etc. You have correctly calculated the raw bit rate of a 1080p 4:4:4 video file size in

For example: If I have 1920*1080*30(fps) video, I think I should multiply it by 3 or 4(respect to colored image type) then I have about 180~240 million bytes to transfer per second.

But the compressed file will have a bit-rate (depending on the quality settings!) of about 1000 kpbs for a typical web broadcasting or up to 40000 kpbs for (often unnecessarily) better blu-ray representation.

Then as Furkan has outlined you also should consider the protocol mechanism of sending the bits in the form of packets and the layout of those packets. In short the actual bit rate that is between the transmitter and receiver is reduced by the protcol overhead to some degree (but not as dramatic as the reduction encountered on the compression stage)

  • $\begingroup$ Can you give me some examples about common formats like h264 or m-jpeg? If I want to do video streaming via bluetooth or WiFi by a 1MP or 2MP camera at 30fps, how can I find a module with enough transfer rate? $\endgroup$ – user8663682 Jan 6 '18 at 15:55
  • $\begingroup$ The formats are extremely detailed. Start from Wiki please. But, what all you need is the bitrate of the stream and that depends on the chosen quality and bitrate settings. You can specify a fixed bitrate or quality and left quality or bitrate be free then. So first determine your bluetooth max transmission rate. Then set your data quality or bitrate accordingly. It's a complex issue to optimally use the channel. You can develop some strategies. It really depends on what you want to achieve. $\endgroup$ – Fat32 Jan 6 '18 at 17:04

Your calculations are wrong. You have misunderstood the concept. The files may contain an amount of bits as you calculated but transferring that information is a bit different.

First of all, you send information as PACKETS. Here is an example packet type which is being used in Bluetooth.

enter image description here

The only place you send the actual information is called PAYLOAD. As you can see, payload is occupying a smaller area than you expected in a packet. The size of payload can smaller or larger depending which type of packet you are using, or which type of standards you are working with etc. And your bit rate is determined by which modulation type you use, how many bits your one symbol contains etc.

And not to forget, if your conditions are not perfect (which is the general situation) you WILL send some packets which is corrupt and you need to send them again. Which also reduces your actual bit-rate.

So there is different calculations for different combinations of the different techniques.

I hope the answer is clear.

As always, Have a nice day.

  • $\begingroup$ Yes, you right! I also found that they don't use raw data for video streaming, and encoding it by encoders like H.264/265 and it decreases the bandwidth requirments alot. $\endgroup$ – user8663682 Jan 6 '18 at 9:02

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.