Multiplexing
What is it?
Multiplexing is a technique for sending multiple data streams or signals over a single shared transmission channel. In network fundamentals and web technologies this means arranging multiple HTTP or media sessions over one TCP/UDP connection so bandwidth and latency are used more efficiently (e.g., HTTP/2 or RTP transport). For Audio/Video and maker projects, multiplexing covers software methods (container formats, RTP/multicast, statistical packet scheduling) as well as hardware approaches (analog/digital multiplexer ICs, TDM on microcontrollers), and it helps to make better use of pins, channels or frequency bands. There are different types—time-division (TDM), frequency-division (FDM) and statistical/packet multiplexing—each with trade-offs related to throughput, latency and jitter.
Practical example
Audio/Video: in a live stream audio, video and subtitle tracks are often multiplexed into a container or into MPEG-TS/RTP packets so a single stream travels over the network and the receiver can demultiplex and decode them. Maker: on a microcontroller with a single ADC channel you can read multiple analog sensors using an analog multiplexer (e.g., CD4051) by applying time-division multiplexing to save pins and cost. Web: a modern web app uses HTTP/2 multiplexing to send simultaneous resource requests (JS, CSS, images) over one TCP connection, or uses WebRTC to multiplex multiple media tracks and data channels over the same peer connection; this reduces overhead and improves latency but requires bandwidth allocation and packet scheduling. In all three contexts you must consider network fundamentals—bandwidth, latency, jitter and packet loss—because they determine which multiplexing strategy and parameters are appropriate.
Test your knowledge
Which form of multiplexing dynamically allocates bandwidth among incoming streams based on current demand and is commonly used in packet-switched networks and modern streaming protocols?