Headless Browser for Live Stream Content Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing media streaming technologies face delays and suboptimal performance when adding additional content to live streams due to issues with encoding, as the encoder may stall or crash while retrieving additional content, leading to less than optimal playback for end-users.

Innovation Solution

Implementing a headless browser as a separate service from the encoding circuitry in hardware encoders to retrieve and add additional content to live streams, allowing the encoding process to continue uninterrupted even if the headless browser experiences suboptimal performance, ensuring timely transmission of the live stream.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the encoder retrieves additional content and encodes it into the live stream, then the end-user experience is enhanced, but encoding delays and crashes may occur

Engineering Contradiction:
Improveenhanced end-user experienceVSAvoidencoding stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system separates the additional content retrieval function into a distinct headless browser service, independent from the core encoding circuitry. This segmentation allows the encoder to continue processing the live stream even when the headless browser experiences delays or failures, thus maintaining encoding stability while still enabling enhanced user experience through additional content integration.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the encoder integrates additional content into the live stream, then content richness is improved, but encoding latency increases

Engineering Contradiction:
Improvecontent richnessVSAvoidencoding latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The headless browser acts as an intermediary service that retrieves additional content separately from the main encoding path. By using this intermediary approach, the system can integrate rich additional content into the live stream without causing the encoder to stall, as the encoding circuitry operates independently and can proceed without waiting for the headless browser to complete content retrieval.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the encoder retrieves additional content in real-time, then stream interactivity is enhanced, but system complexity increases

Engineering Contradiction:
Improvestream interactivityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The headless browser service provides a universal interface for retrieving additional content, which can be applied to various types of live streams and content sources. This multi-functional service handles different web content retrieval scenarios through a standardized approach, reducing the need for multiple specialized components and thereby managing system complexity while enhancing stream interactivity.

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

Data Source

PatentUS10904305B2Media streaming using a headless browser
Publication Date: 2021.01.26 WOWZA MEDIA SYSTEMS LLC
  • US10904305B2 patent drawing
  • US10904305B2 patent drawing
  • US10904305B2 patent drawing

AI summary

A method includes receiving an input media stream at a hardware encoder. The method also includes executing, at a processor of the hardware encoder, a headless browser to retrieve an instance of a dynamic web page that includes additional content. The method also includes storing the additional content at a memory that is accessible to the processor and encoding circuitry of the hardware encoder. The method further includes retrieving, at the encoding circuitry, the additional content from the memory and encoding the input media stream to generate an output media stream. At least one frame of the output media stream includes at least a portion of the additional content in conjunction with at least a portion of a corresponding frame of the input media stream.