# rtmp v0.1.0 - API Reference

## Modules

- [RTMP.ChunkStream.Message](RTMP.ChunkStream.Message.md): A fully reassembled RTMP message.
- [RTMP.Commands.Command](RTMP.Commands.Command.md): A decoded command message.
- [RTMP.Connection](RTMP.Connection.md): One process per RTMP connection (a `ThousandIsland.Handler`). Started by
`RTMP.Listener`; you don't use this module directly.

- Server API
  - [RTMP](RTMP.md): A small, correct, hard-to-crash RTMP ingest server.
  - [RTMP.Frame](RTMP.Frame.md): One audio or video frame, as delivered to `c:RTMP.Handler.handle_frame/2`.
  - [RTMP.Handler](RTMP.Handler.md): The behaviour you implement to receive RTMP publishes.
  - [RTMP.Limits](RTMP.Limits.md): Per-connection hard limits.
  - [RTMP.Listener](RTMP.Listener.md): Starts an RTMP server.
  - [RTMP.Telemetry](RTMP.Telemetry.md): Telemetry events emitted by the server.

- Protocol
  - [RTMP.AMF0](RTMP.AMF0.md): AMF0 encoding and decoding.
  - [RTMP.ChunkStream](RTMP.ChunkStream.md): The RTMP chunk stream layer: splits a byte stream into chunks and
reassembles them into messages (`parse/2`), and does the reverse for
outgoing messages (`encode/6`).
  - [RTMP.Commands](RTMP.Commands.md): RTMP command messages (`connect`, `createStream`, `publish`, ...) and data
messages (`@setDataFrame` / `onMetaData`).
  - [RTMP.ControlMessages](RTMP.ControlMessages.md): Protocol control messages (message types 1–6) and User Control events.
  - [RTMP.Handshake](RTMP.Handshake.md): The simple (non-digest) RTMP handshake, server side.

- FLV
  - [RTMP.FLV.AudioTag](RTMP.FLV.AudioTag.md): Parses the body of an RTMP audio message (an FLV audio tag body).
  - [RTMP.FLV.Metadata](RTMP.FLV.Metadata.md): Extracts `onMetaData` from RTMP data messages.
  - [RTMP.FLV.VideoTag](RTMP.FLV.VideoTag.md): Parses the body of an RTMP video message (an FLV video tag body).

