Skip to content

epitech-labfree/encre-rtmpd

Repository files navigation

Introduction

encre-rtmpd is a version of crtmpserver (www.rtmpd.com) server, including an UCEngine-enabled application. It allows you to write UCEngine application with rtmp streaming. It notifies via UCE your client when new stream are pusblished or when they are stopped, and use UCE to check wether a client has the right to publish or to play streams.

UCEngine

UCEngine is a fast Pubsub server with persistence and replay written in Erlang by AF83 (www.af83.com), initally for the ENCRE project, a french government-funded project labeled by Cap-Digital competitivity cluster

Requirements

Ruby gems

- ruby 1.9.x with dev headers/tools (untested with 1.8.x) and rubygems, i suggest you use rvm
- bundler gem (gem install bundler)
- Automatically fetch and install dependancies: cd sources/applications/encre/src && bundle install

System packages (dedian)

- build-essential
- cmake
- libopenssl-dev
- libboost-all-dev
- ucengine (if there isn't a package for your distribution yet, go to www.ucengine.org > Documentation > installation)

Install

$> ./cleanup.sh
$> cd builders/cmake && cmake . && ./run
$> cd sources/applications/encre/src/ && bundle install && ./uce-connector.rb

Ucengine setup

v 0.3.0

_deprecated_ Use 0.6.0 instead (you'll save yourself a lot of time)

v 0.5.0

You first need to create an user for the encre-video component.

./bin/ucengine-admin user add --domain localhost --name encre-video --auth password --credential '123456'
./bin/ucengine-admin role add --domain localhost --name encre-video
./bin/ucengine-admin role access add --domain localhost --name encre-video --object presence --action add
./bin/ucengine-admin role access add --domain localhost --name encre-video --object presence --action delete
./bin/ucengine-admin role access add --domain localhost --name encre-video --object event --action list
./bin/ucengine-admin role access add --domain localhost --name encre-video --object event --action get
./bin/ucengine-admin role access add --domain localhost --name encre-video --object roster --action list
./bin/ucengine-admin user role add --domain localhost --name encre-video --role encre-video

Then, you might want to add some users to ucengine to be able to use the component, you will also need a meeting, and give some right on the meeting to these users.

./bin/ucengine-admin meeting add --domain localhost --name 'test-meeting'
./bin/ucengine-admin role add --domain localhost --name video-access
./bin/ucengine-admin role access add --domain localhost --name video-access --object presence --action add
./bin/ucengine-admin role access add --domain localhost --name video-access --object presence --action delete
./bin/ucengine-admin role access add --domain localhost --name video-access --object 'roster' --action 'add' --meeting 'test-meeting'
./bin/ucengine-admin role access add --domain localhost --name video-access --object 'roster' --action 'delete' --meeting 'test-meeting'
./bin/ucengine-admin role access add --domain localhost --name video-access --object 'user' --action 'get'

./bin/ucengine-admin user add --domain localhost --name toto --auth password --credential '123456'
./bin/ucengine-admin user add --domain localhost --name tata --auth password --credential '123456'
./bin/ucengine-admin user role add --domain localhost --name toto --role video-access
./bin/ucengine-admin user role add --domain localhost --name tata --role video-access

0.6.0

You first need to create an user for the encre-video component.

./bin/ucengine-admin localhost user add encre-video password '123456'
./bin/ucengine-admin localhost role add encre-video
./bin/ucengine-admin localhost role access add encre-video add presence
./bin/ucengine-admin localhost role access add encre-video delete presence
./bin/ucengine-admin localhost role access add encre-video list event
./bin/ucengine-admin localhost role access add encre-video get event
./bin/ucengine-admin localhost role access add encre-video list roster
./bin/ucengine-admin localhost user role add encre-video encre-video

Then, you might want to add some users to ucengine to be able to use the component, you will also need a meeting, and give some right on the meeting to these users.

./bin/ucengine-admin localhost meeting add 'test-meeting'
./bin/ucengine-admin localhost role add video-access
./bin/ucengine-admin localhost role access add video-access add presence
./bin/ucengine-admin localhost role access add video-access delete presence
./bin/ucengine-admin localhost role access add video-access add roster --meeting test-meeting
./bin/ucengine-admin localhost role access add video-access delete roster --meeting test-meeting
./bin/ucengine-admin localhost role access add video-access get user

./bin/ucengine-admin localhost user add a password '123456'
./bin/ucengine-admin localhost user role add a video-access
./bin/ucengine-admin localhost user add b password '123456'
./bin/ucengine-admin localhost user role add b video-access
./bin/ucengine-admin localhost user add c password '123456'
./bin/ucengine-admin localhost user role add c video-access
./bin/ucengine-admin localhost user add d password '123456'
./bin/ucengine-admin localhost user role add d video-access

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages