Skip to content

Getting Started

Introduction

Current support encode

protocolvideo codecsaudio codecs
WHIPAV1, VP9, VP8, H264Opus, G722
WHEPAV1, VP9, VP8, H264Opus, G722

live777-apps

Current client support

ApplicationAV1VP9VP8H264OPUSG722
Browser whip
Browser whep
Gstreamer whip📺 1
Gstreamer whep📺 2
Gstreamer rtp-into📺 1
Gstreamer rtp-from📺 2
FFmpeg rtp-into💩
FFmpeg rtp-from💩
VLC rtp-into💩💩💩
VLC rtp-from💩💩💩
OBS Studio whip📺 3💩💩💩
  • ⭐ It's working
  • 💩 Don't support
  • 💡 I don't know, No testing
  • 📺 Note have some problem
    1. Working, But Browser can't player this video, Gstreamer to Gstreamer is working
    2. I don't know why av1 and whep error
    3. OBS av1 codec can't play

Components

Live777 Core (liveion)

A Pure Single SFU Server for WebRTC.

Only WHIP / WHEP protocol supported.

a core SFU server, If you need a single server, use this

Live777 Manager (liveman)

Live777 Cluster manager.

If I have so many servers (live777 core cluster), I need this manage them all.

Cluster mode must liveman

live777-cluster

whipinto and whepfrom

Stream protocol convert tool.

  • RTP => WHIP
  • WHEP => RTP
  • TODO: RTSP => WHIP
  • TODO: WHEP => RTSP

whipinto

NOTE: About pkt_size=1200

WebRTC must need pkt_size=1200

If pkt_size > 1200 (most tool > 1200, for example: ffmpeg default 1472), we need to de-payload after re-payload

But now, We support re-size pkt_size in VP8 and VP9, You can use any pkt_size value in VP8 and VP9

CodecAV1VP9VP8H264OPUSG722
pkt_size > 1200💩💩💩
  • ⭐ It's working
  • 💩 Don't support

This tool is rtp2whip

bash
whipinto -c vp8 -u http://localhost:7777/whip/777 --port 5003

whepfrom

This tool is whep2rtp

Build

bash
cargo build --package=whepfrom --release

Use WHEP protocol pull stream convert rtp sender

bash
whepfrom -c vp8 -u http://localhost:7777/whep/777 -t localhost:5004

Web WHIP/WHEP client

Open your browser, enter the URL: http://localhost:7777/

Debugger

example: http://localhost:7777/tools/debugger.html

You can use this test WebRTC-SVC

Single Page Player

example: http://localhost:7777/tools/player.html?id=web-0&autoplay&controls&muted&reconnect=3000

URL params:

  • id: string, live777 Stream ID
  • autoplay: boolean
  • controls: boolean
  • muted: boolean, whether to mute by default
  • reconnect: number, reconnect timeout in millisecond

Minimize Running

Run Live777 using docker:

DANGER

You must use network host mode

sh
docker run --name live777-server --rm --network host ghcr.io/binbat/live777-server:latest live777

Open your browser, enter the URL: http://localhost:7777/

Released under the MPL-2.0 License.