Skip to content

elixir-streaming/ex_rtmp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExRTMP

Hex.pm API Docs

RTMP server and client library for Elixir.

Installation

The package can be installed by adding ex_rtmp to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_rtmp, "~> 0.4.1"}
  ]
end

Enhanced RTMP

Enhanced RTMP is supported to some extent, there's a lack of support for Multitrack and ModEx packet types for audio and video.

Usage

See the examples folder.

save_to_flv.exs

A client publish to an RTMP server and the server stores into flv file.

To publish a stream to the server use ffmpeg:

ffmpeg -re -i input_file.mp4 -c:v copy -c:a copy -f flv rtmp://localhost:1935/live/test

send_mp4.exs

The server stream an mp4 file to connected clients. The mp4 file must have AAC audio and H264/AVC video.

To start the server:

elixir examples/send_mp4.exs "input_file.mp4"

and to play the stream, you can use vlc or ffplay:

ffplay -i rtmp://localhost:1935/live/test

read_to_flv.exs

A client connects to an RTMP server and saves the stream into an flv file.

elixir examples/read_to_flv.exs "rtmp://localhost:1935/live" test output.flv

publish_mp4.exs

A client publishes an mp4 file to an RTMP server.

elixir examples/publish_mp4.exs "input_file.mp4"

About

RTMP server and client

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages