MCPcopy Create free account
hub / github.com/GrowthEase/LLS-Player

github.com/GrowthEase/LLS-Player @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,651 symbols 2,526 edges 101 files 151 documented · 9% updated 3y ago★ 2439 open issues

Browse by type

Functions 1,316 Types & classes 335
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Overview of GrowthEase Low Latency Player SDK

A low-latency player SDK is implemented by GrowthEase based on WebRTC. Developers only need to access the SDK and make small changes to the player to have low-latency ability of live streaming.

The SDK provides a set of simple and easy-to-use interfaces, allowing developers to quickly integrate the low-latency live streaming function into existing players by calling the API of the SDK. At the same time, the SDK also encapsulates the API into a kind of FFmpeg plug-in, which is a type of FFmpeg demuxer. Developers only need to compile the SDK and FFmpeg plug-in source code into their own FFmpeg, and do not need to modify the player.By replacing the playback URL, you can directly reuse the original process to have low-latency playback capabilities.

Features

  • Low-latency pull streaming, and high anti-weak network performance
  • Support OPUS and AAC, of which AAC supports ADTS and LATM, including AAC-LC, AAC-HE, AAC-HEv2
  • Support H264
  • Support WHIP
  • Video callback H264 bit stream, audio callback PCM data
  • Support Windows platform

SDK component architecture

The SDK is mainly divided into three modules:

  • FFmpeg plug-in: Rtd Demuxer

  • RtdEngineImpl: WebRTC encapsulation layer, including API、engine creation、signaling establishment、media data reception and callback, etc.

  • WebRTC: Media establishment、data reception、packet sequencing and framing, etc.

SDK API call mode

  • FFmpeg plugin integration method

Directly put the src/rtd/ffmpeg/rtd_dec.c file and SDK dynamic library(rtd.dll) into FFmpeg and compile them together. The player does not need to be changed. Low-latency live streaming can be achieved simply by replacing the pull stream URL.

  • API integration method

Overview of Integration Methods

Windows Integration

iOS Integration

Android Integration

Introduction in Chinese

Core symbols most depended-on inside this repo

Shape

Method 1,203
Class 303
Function 113
Enum 32

Languages

C++98%
C2%

Modules by API surface

src/media/engine/webrtc_video_engine.cc126 symbols
src/media/engine/webrtc_voice_engine.cc119 symbols
src/modules/audio_coding/neteq/neteq_impl.cc66 symbols
src/modules/audio_device/include/fake_audio_device_impl.h64 symbols
src/modules/rtp_rtcp/include/rtp_rtcp_defines.h63 symbols
src/media/base/media_channel.h59 symbols
src/video/video_receive_stream2.cc55 symbols
src/pc/stats_collector.cc54 symbols
src/pc/channel.cc53 symbols
src/audio/channel_receive.cc49 symbols
src/rtd/src/rtd_engine_impl.cpp48 symbols
src/video/rtp_video_stream_receiver2.cc43 symbols

For agents

$ claude mcp add LLS-Player \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page