Streaming
In short: The continuous transmission of video or audio data that is already played back at the recipient while it’s being received, instead of having to be downloaded completely first.
In more detail: The data stream is split into small segments and continuously reloaded (buffering), while parts already available are being played. Adaptive streaming methods adjust the quality dynamically to the available bandwidth to avoid dropouts.
In Depth
Modern video streaming services mostly use adaptive streaming (e.g. HLS or DASH): the video is available on the server in several quality levels at the same time (e.g. 480p, 720p, 1080p, 4K), each split into small segments of a few seconds. The player continuously measures the currently available bandwidth and chooses the suitable quality level for each new segment — if the connection drops, it automatically switches to a lower resolution instead of playback stalling completely.
Live streaming (e.g. video calls, gaming streams) has different priorities from video on demand: here low latency matters more than perfect picture quality, which is why such applications often use UDP instead of TCP — a single lost packet (a brief picture glitch) is less disruptive than the delay a TCP retransmission would cause. With recorded video streaming, on the other hand, somewhat more buffering time is acceptable, which is why TCP-based protocols over HTTP are also widespread there.