Search code examples
compressionreal-timetransfermultimedia

What's real-time transfer?


I'm taking a multimedia course this semester, and we have a lecture about compression.

In the reasons to compress it says:

-Allow real-time transfer at a given data rate.

I Could not understand what does real- time transfer mean? Can anyone explain it to me please?


Solution

  • I guess in this context it means that the available bandwidth isn't sufficient for streaming raw video. For example 30p FullHD would take 1920 * 1080 * 3 * 30 bytes / second = 187 MB/s or 1490 Mb/s of bandwidth, most consumer internet download speeds are 2 - 25 Mb/s (depending on country and region of course). The non-real-time is to wait one minute to watch one second video (1490/25 = 59.6), which wouldn't be a pleasant experience. (Also buffering has a role here but this explanation is getting way too long already.)

    Compression enables us to see near-perfect or sufficiently good video at a bit rate which is more suitable for our available bandwidth. But as bandwidth gets lower the more the content has to be compressed and worse it looks.

    An other aspect is to be able to compress a live-stream (such as major events or gaming) in real-time for others to see, for a low-power CPU it might take 2 seconds to compress 1 second of video so the "live feed" and thus unusable.

    I hope I got my math and details right, way too often I mix MB/s and Mb/s.