HTTP Live Uplink Streaming via Chunked Transfer Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current uplink streaming technologies, such as RTMP, face limitations including firewall and NAT traversal issues due to proprietary nature and lack of widespread adoption, and do not efficiently support video, audio, or closed-captioning solutions, whereas HTTP offers broader security and infrastructure benefits but requires innovative solutions for live uplink streaming.

Innovation Solution

Implementing HTTP-based live uplink streaming with an HTTP client on the client device, using HTTPS connections and HTTP Chunked Transfer Encoding to adapt bitrate dynamically, allowing for elastic transport and leveraging existing HTTP libraries and infrastructures, while enabling media encoding and post-processing functions like de-jitter buffers and ABR transcoders.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RTMP protocol is used for uplink streaming, then reliable streaming is achieved, but firewall and NAT traversal issues occur and widespread adoption is limited

Engineering Contradiction:
Improvestreaming reliabilityVSAvoidfirewall and NAT compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mechanism where the client initiates the connection through HTTP requests that are allowed by firewalls and NATs, rather than having the server initiate connections which are blocked. The HTTP protocol acts as a mediator that traverses network security boundaries, enabling the streaming connection to be established where RTMP directly fails.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If HTTP protocol is used for uplink streaming, then widespread adoption and security benefits are achieved, but efficient live streaming requires innovative solutions

Engineering Contradiction:
Improveprotocol compatibility and securityVSAvoidstreaming implementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes the HTTP protocol multi-functional by enabling it to serve both as a request/response protocol and as a continuous streaming transport protocol. The same HTTP connection and headers are used for both initial connection establishment and ongoing media data transmission, eliminating the need for separate streaming protocol infrastructure and reducing implementation complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Device complexity

If HTTP client is located on server side as in prior art, then streaming infrastructure is simplified, but firewall and NAT traversal fails

Engineering Contradiction:
Improveinfrastructure complexityVSAvoidconnection establishment reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent inverts the traditional server-client role arrangement for streaming. Instead of placing the streaming client on the server side (ingest server), the patent places the HTTP client on the user equipment side, allowing the client to initiate connections through firewalls and NATs, while the server becomes the passive receiver. This role inversion solves the firewall traversal problem.

Inventive Principle:
Principle #13The other way round (Inversion)

4Device complexity

If fixed bitrate streaming is used, then transmission control is simplified, but adaptation to available link bitrate is slow

Engineering Contradiction:
Improvetransmission control complexityVSAvoidbitrate adaptation speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent implements dynamic bitrate adaptation by monitoring the transmit buffer level and adjusting the media encoding bitrate in real-time. When the buffer level indicates congestion or slowdown, the bitrate is reduced; when buffer levels are healthy, the bitrate can be increased. This dynamic adjustment allows the system to quickly adapt to changing network conditions while maintaining simplified transmission control through buffer-level-based decisions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3643032B1Apparatuses and methods for live uplink adaptive streaming
Publication Date: 2021.04.07 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • EP3643032B1 patent drawingFigure 1
  • EP3643032B1 patent drawingFigure 2
  • EP3643032B1 patent drawingFigure 3

AI summary

A method performed by a client for upstreaming to a server a live media feed is provided. The method includes the client establishing a transport layer connection with the server; transmitting to the server an HTTP Request message having a header and a body; and storing in a transmit buffer media data corresponding to the live media feed as the media data is generated. The header does not indicate the size of the body. A quality setting is used to generate the media data. Transmitting the body includes: 1) transmitting to the server at least a portion of the media data; 2) removing from the transmit buffer said at least a portion of the media data; 3) determining whether the client should modify the quality setting that is used to generate the media data, and 4) repeating steps (1), (2) and (3) until a cease transmission trigger is detected.