Skip to content

eyeson-team/eyeson-ruby

Repository files navigation

Eyeson

Build Status

eyeson ruby sdk for service app implementation

Installation

Add this line to your application's Gemfile:

gem 'eyeson'

And then execute:

$ bundle install

Configuration

Eyeson.configure do |config|
  config.api_key      = 'YOUR_API_KEY'
  config.api_endpoint = 'https://api.eyeson.team'
end

Receive webhooks for specific events

Eyeson::Webhook.create!(
  url: url, # Webhooks will be sent to this URL
  types: [] # supported types: 'room', 'team', 'user', 'presentation', 'broadcast', 'file'
)

Meeting reference

Join a meeting room

Puts a user to a (specific) meeting room.

If no arbitrary ids are given, random ids will be generated.

room = Eyeson::Room.join(id:   'ARBITRARY_ID',     # optional, e.g. to join a specific room
                         name: 'DISPLAY_NAME',     # optional
                         user: {
                        	 id:     'ARBITRARY_ID', # optional, e.g. your internal user_id
                        	 name:   'DISPLAY_NAME', # required!
                        	 avatar: 'IMAGE_URL'     # optional
                         })

The meeting room will be available immediately:

# Temporary access key - only valid for current session:
# access_key = room.access_key

redirect_to room.url

Upload a presentation file from remote URL

Uploads and converts any external stored PDF file for presentation.

Eyeson::FileUpload.new(access_key).upload_from('FILE_URL')

Start a live broadcast (YouTube only at the moment)

Eyeson::Broadcast.new(access_key).create(
  platform:   'youtube',
  stream_url: 'YOUTUBE_STREAM_URL' # see YouTube documentation on how to get a stream url.
)

Stop specific broadcast

Eyeson::Broadcast.new(access_key).destroy(
  platform: 'youtube'
)

Stop all broadcasts

Eyeson::Broadcast.new(access_key).destroy_all

Send a message into meeting chat

Eyeson::Message.new(access_key).create(
  type:    'chat',
  content: 'YOUR_MESSAGE'
)

Insert an image into video

Eyeson::Layer.new(access_key).create(
  file:   FILE, # either file or url must be provided!
  url:    URL,  # either file or url must be provided!
  index:  1,    # (optional) use 1 (default) to set as foreground image and -1 to set as background image
  layout: nil   # (optional) currently supported: 'auto' (meeting participants will be arranged automatically), 'fixed' (meeting participants will be rendered at the bottom of the video, so your background content can be fully displayed.)
)

Get download URL of a specific recording

It is assumed that the recording_id is known (e.g. from a webhook request).

recording = Eyeson::Recording.find(recording_id)
redirect_to recording.url

License

The gem is available as open source under the terms of the MIT License.

About

eyeson video conferencing API package for Ruby

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages