1
0
mirror of https://github.com/muxfd/multipath-udp synced 2025-02-28 16:37:59 +00:00
Kevin Wang 1856c179b9 cleanup
2021-08-09 19:46:48 +00:00
2021-04-09 08:16:18 +00:00
2021-04-09 08:16:18 +00:00
2021-04-25 10:35:07 +00:00
2021-04-09 08:16:18 +00:00
2021-08-09 19:46:48 +00:00
2021-04-29 14:52:07 -04:00
2021-04-29 14:52:07 -04:00
2021-04-16 11:53:35 -04:00

multipath-srt

This is a tool that sends an SRT stream over various network interfaces and receives them with a configurable jitter buffer. After the jitter buffer, the stream is sent to SRT.

Usage

To run the sender:

go run cmd/sender/main.go

To run the receiver:

go run cmd/receiver/main.go

Design

Demuxer

  • Read from librtmp, depacketize

  • Packetize, add sequence number packet header

  • Loop through InterfaceSet on demuxer

  • Schedule and send through interfaces

  • Read from InterfaceSet bandwidth rates

Muxer

  • Receive connection with sessionID
    • If new connection, open SRT connection with sessionID
  • Respond with handshake
  • Read UDP packets until error
  • Depacketize, read sequence number
  • Reorder, deduplicate
  • Write to SRT, ignoring dropped packets (receiver will handle)

InterfaceSet

NewInterfaceSet(sessionID []byte)  # for handshaking
AddInterface()
RemoveInterface()
S
Description
streaming
Readme 1.8 MiB
Languages
Go 96.9%
Dockerfile 3.1%