streaming

module
v0.0.0-...-c29a1e3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2025 License: ISC

README

pkgsite 0 dependencies!

This repository contains packages for developing media streaming systems in Go. Watch it being developed live!

We use these packages to self-host the livestream at olowe.co/live.

Contributing

Stuff to do

Larger, fleshed-out tasks are managed in issues.

There are TODO notes in the source code, too. godoc provides a graphic interface to view these with the -notes flag:

godoc -notes TODO

Of course grep works too:

git grep -n TODO

Patches

Patches are preferred via email so that we're not too locked in to GitHub. Post them to the mailing list ~otl/[email protected] (archives). or to Oliver Lowe. See git-send-email.io if you're unfamiliar with the workflow.

git config sendemail.to '~otl/[email protected]'

We also accept changes via pull request.

Commit messages

Commit messages follow the same format used by the Go project (and others). The commit subject starts with the affected package name then a brief description of the change. The body may contain an explanation of the change and why it was made. For example:

sdp: store attributes as key-value pairs

This matches what the spec allows, and lets users not worry about
encoding.

Code review

We try to make all code feel familiar to Go programmers so that it's easier for others to learn from and contribute to in the future.

In general we follow the guidelines laid out in the following articles:

Don't worry if you're asked about changing things around! If there are trivial changes, we may make the changes ourselves. In this case you still retain all authorship and copyright over your submission.

If you've read this far and want to join in but feel a little unsure; I know exactly how you feel. Please feel free to email Oliver Lowe and maybe I can help out :)

License

Unless otherwise noted, this sotfware is licensed under the ISC License. See LICENSE.

Directories

Path Synopsis
Package cair provides a client to version 24.1 of the Cinegy Air HTTP API as documented at https://open.cinegy.com/products/air/24.1/cinegy-air-http-api/.
Package cair provides a client to version 24.1 of the Cinegy Air HTTP API as documented at https://open.cinegy.com/products/air/24.1/cinegy-air-http-api/.
Package cmcd provides types and functions for exchanging Common Media Client Data (CMCD) as specified in CTA-5004.
Package cmcd provides types and functions for exchanging Common Media Client Data (CMCD) as specified in CTA-5004.
cmd
autx
Command autx transmits audio over the network via RTP.
Command autx transmits audio over the network via RTP.
avhelp
Command avhelp serves...
Command avhelp serves...
hlsserve
Command hlsserve serves a live HLS stream from MPEG-TS video received over TCP.
Command hlsserve serves a live HLS stream from MPEG-TS video received over TCP.
internal
jxs
Package jxs ...
Package jxs ...
Package m3u8 implements reading and writing of m3u8 playlists used in HTTP Live Streaming (HLS) as specified in RFC 8216.
Package m3u8 implements reading and writing of m3u8 playlists used in HTTP Live Streaming (HLS) as specified in RFC 8216.
Package mpegts implements encoding and decoding of MPEG-TS packets as specified in ITU-T H.222.0.
Package mpegts implements encoding and decoding of MPEG-TS packets as specified in ITU-T H.222.0.
Package pcap implements decoding and encoding of libcap's savefile format described in [pcap-savefile(5)].
Package pcap implements decoding and encoding of libcap's savefile format described in [pcap-savefile(5)].
Package rtp implements the Real-Time Transport Protocol as specified in RFC 3550.
Package rtp implements the Real-Time Transport Protocol as specified in RFC 3550.
Package scte35 implements a subset of the Digital Program Insertion Cueing Message standard as specified in [ANSI/SCTE 35].
Package scte35 implements a subset of the Digital Program Insertion Cueing Message standard as specified in [ANSI/SCTE 35].
Package sdp implements encoding and decoding of Session Description Protocol formatted data as specified in RFC 8866.
Package sdp implements encoding and decoding of Session Description Protocol formatted data as specified in RFC 8866.
Package wav implements access to WAV (or WAVE) files.
Package wav implements access to WAV (or WAVE) files.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳