#video #streaming #rtmp

rml_rtmp

Rust library for handling aspects of the RTMP protocol

7 releases

0.3.0 Jan 28, 2019
0.2.1 Jan 28, 2019
0.2.0 Jul 19, 2018
0.1.3 May 16, 2018
0.1.2 Apr 15, 2018

#17 in Video

Download history 656/week @ 2018-11-15 282/week @ 2018-11-22 158/week @ 2018-11-29 205/week @ 2018-12-06 144/week @ 2018-12-13 60/week @ 2018-12-20 15/week @ 2018-12-27 49/week @ 2019-01-03 41/week @ 2019-01-10 29/week @ 2019-01-17 22/week @ 2019-01-24 9/week @ 2019-01-31 7/week @ 2019-02-07 4/week @ 2019-02-14 8/week @ 2019-02-21

123 downloads per month
Used in 1 crate

MIT license

460KB
8K SLoC

rust-media-libs

Rust based libraries for misc media functionality

Libraries

There are currently 2 supported libraries in this project:

  • rml_amf0 - Crate supporting the serialization and deserialization of amf0 encoded data.
  • rml_rtmp - Crate providing high and low level APIs for supporting the Adobe RTMP protocol.

Examples

Several examples have been created that utilize these libraries

  • mio_rtmp_server - This is a semi-advanced example of creating a mio application that can act as both a client and a server. It supports:

    • Clients can connect and publish video to a stream.
    • Clients can connect and play video that is being published to a stream.
    • The server can pull live video from a remote server and relay the video stream to subscribed players.
    • The server can take a video stream that a client is publishing and republish that out to another RTMP server.
  • threaded_rtmp_server - This is a very simple RTMP server that allows clients to publish video and players to watch video.

Tools

Several tools are provided in this repository:

  • rtmp-log-reader - Allows the reading of raw RTMP binary that are encoded in a file. This is used for debugging RTMP conversations between two parties.

  • handshake-tester - Tool to verify handshaking can be performed with another RTMP server.

Dependencies

~1.5MB
~23K SLoC