📺

Live Stream vs On-Demand Stream Differences

Live Stream (Live) Characteristics

Live streams are real-time transmitted video streams with the following characteristics:

Real-time Nature
  • Real-time Transmission: Video content is generated and transmitted in real-time, with latency typically ranging from a few seconds to tens of seconds
  • No Replay: Live content cannot be replayed, once missed it cannot be watched
  • Continuous Updates: Playlist continuously updates, adding new video segments
Playlist Characteristics
  • M3U8 file does not contain #EXT-X-ENDLIST tag
  • Playlist is regularly updated, adding new segments
  • Old segments may be removed
  • Player needs to regularly reload playlist
Technical Implementation
  • Server encodes video in real-time
  • Video is segmented into small pieces
  • M3U8 playlist is continuously updated
  • Client regularly fetches latest playlist

On-Demand Stream (VOD) Characteristics

On-demand streams are pre-recorded video content with the following characteristics:

Pre-recorded
  • Pre-produced: Video content is pre-recorded and encoded
  • Complete Content: All video segments are ready
  • Replayable: Can be played from the beginning at any time
Playlist Characteristics
  • M3U8 file contains #EXT-X-ENDLIST tag
  • Playlist is fixed and will not update
  • All segments are available
  • Player can load complete playlist at once
Technical Implementation
  • Video is pre-encoded and segmented
  • Complete M3U8 playlist is generated
  • All segments are stored on server
  • Client downloads segments on demand

Technical Implementation Differences

Live streams and on-demand streams have obvious differences in technical implementation:

Encoding Method
  • Live Stream: Real-time encoding, encoding and transmitting while recording
  • On-Demand Stream: Pre-encoded, all content prepared in advance
Storage Method
  • Live Stream: Segments temporarily stored, may be regularly cleaned
  • On-Demand Stream: Segments permanently stored, long-term available
Server Load
  • Live Stream: Requires continuous encoding and updates, higher server load
  • On-Demand Stream: Only needs to provide file service, lower server load

Playlist Update Mechanism

The two stream types have different playlist update mechanisms:

Live Stream Updates
  • Player regularly requests playlist (usually every few seconds)
  • Server returns latest playlist
  • Playlist contains latest segment indices
  • Old segment indices are removed
On-Demand Stream Updates
  • Playlist is fixed after video production is complete
  • No regular updates needed
  • Player can cache playlist
  • All segment indices are always available

Latency Issue Handling

Live streams and on-demand streams differ in latency handling:

Live Stream Latency
  • Encoding Latency: Video encoding takes time
  • Transmission Latency: Network transmission takes time
  • Buffering Latency: Player needs to buffer certain segments
  • Total Latency: Usually 10-30 seconds, low-latency live streaming can be reduced to a few seconds
On-Demand Stream Latency
  • No Real-time Latency: Content is pre-prepared
  • Startup Latency: Initial load requires downloading initial segments
  • Seek Latency: Seeking to new position requires downloading corresponding segments

Usage Scenario Selection

Choose appropriate stream type based on different usage scenarios:

Live Stream Use Cases
  • Real-time Events: Sports events, news broadcasts, game streaming
  • Interactive Content: Online education, video conferencing, interactive streaming
  • Time-sensitive Content: Content that needs to be watched in real-time
On-Demand Stream Use Cases
  • Entertainment Content: Movies, TV shows, documentaries
  • Educational Content: Course videos, training materials
  • User-generated Content: User-uploaded videos
  • Archive Content: Content that needs long-term preservation

Hybrid Stream Handling

Some scenarios may require mixing live and on-demand streams:

Live to On-Demand
  • After live streaming ends, live content can be converted to on-demand stream
  • Users can replay live content
  • Facilitates content archiving and distribution
On-Demand to Live
  • On-demand content can be played in live mode
  • Simulates live experience
  • Suitable for specific scenarios
Time-shifted Playback
  • Live streams support time-shift functionality
  • Can replay previous live content
  • Combines characteristics of live and on-demand

How to Identify Stream Type

Stream type can be identified through M3U8 file:

Check Playlist
  • Open M3U8 file to view content
  • If contains #EXT-X-ENDLIST, it is on-demand stream
  • If does not contain #EXT-X-ENDLIST, it may be live stream
Observe Update Behavior
  • Live stream playlists are regularly updated
  • On-demand stream playlists are fixed
  • Can be determined by observing playlist changes

Player Handling Differences

Players handle the two stream types differently:

Live Stream Handling
  • Regularly reload playlist
  • Dynamically add new video segments
  • May need to remove old segments
  • Handle playlist update errors
On-Demand Stream Handling
  • Load complete playlist at once
  • Can cache playlist
  • Support seeking to any position
  • Can display complete duration

Common Questions

Q: How to distinguish live stream from on-demand stream?

A: Check if M3U8 file contains #EXT-X-ENDLIST tag. If it contains, it is on-demand stream; if not, it may be live stream.

Q: Can live stream be paused?

A: Yes, but when resuming playback after pausing, it will start from the current latest content and cannot return to the content at pause time.

Q: Can on-demand stream be fast-forwarded?

A: Yes, on-demand streams support seeking to any position and can quickly browse content.

Q: Can live stream latency be reduced?

A: Can use Low Latency HLS (LL-HLS) technology to reduce latency to a few seconds. But requires both server and player support.

By understanding the differences between live streams and on-demand streams, you can better choose and use appropriate streaming media types for the best viewing experience.

← Back to Articles