shithub: rtmp

ref: 5745445bdf695dc69d3c15189e083432f2c1f42c
dir: /README.md/

View raw version
# rtmp

RTMP streaming for Plan 9.  Tested with Twitch and PeerTube.  Can
stream to several RTMP urls at the same time.

## Usage (until I write a manpage)

	video/hj264 -f 25 /dev/screen | video/rtmp -a /dev/audio rtmp://.... rtmp://...

For how to use `rtmp` with Twitch, refer to the documentation they
provide.  All you need is the correct RTMP URL.  Preferably of a
server that is close to you, for lower latency, see [the list of
ingest endpoints](https://stream.twitch.tv/ingests).

To stream with audio from the microphone, make sure it works, you can
test it with [pitch](https://git.sr.ht/~ft/pitch).  Make sure
[audio/aacenc](https://git.sr.ht/~ft/aacenc) is installed.  Then run
this (change according to your preferences):

	video/hj264 -f 25 /dev/screen | video/rtmp -a /dev/audio rtmp://....

For audio loopback you can do the following (make sure you have latest 9front):

	audio/mixfs -s mixfs -m /n/mixfs
	# this already binds on top of /dev/audio in that window

	# in another window, provide silence so there are _always_ samples available for aacenc
	mount /srv/mixfs /n/mixfs
	dd -bs 8192 -if /dev/zero -of /n/mixfs/audio

	# streaming, another window
	mount /srv/mixfs /n/mixfs
	video/hj264 -f 30 /dev/screen | video/rtmp -a /n/mixfs/audio $url

You can also mix in audio from the microphone by mounting mixfs and
writing PCM data from your phone to `/n/mixfs/audio`.