voximal/asterisk-vonference
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Introduction App_Vonference is a channel-independent video conference application. It features efficient audio mixing algorithms as well as video selection support based on VAD, DTMF or CLI (it is a fork of the Konference project). Design goals App_vonference has several design goals which are different than Meetme: * It does not require a zap channel for timing. * It is very efficient when used with channels which support DTX (silence detection/discontinuous transmission). * It can do VAD on channels which do not support DTX (although this is more expensive than just mixing them, but less expensive then encoding; therefore it might still be a win). * It presents messages on the Monitor interface for determine which speakers are active. Mixing design * Minimize encoding/decoding, minimize mixing. * Minimize generational loss from trancoding. * Usual cases are handled very efficiently: o One speaker: That speaker's frame is sent directly to each participant which uses the same codec. It is trancoded _once_ for each additional codec type used by participants. o Two speakers: Each speaker gets the other speaker's frames. The two speaker's frames are decoded and mixed, and then encoded _once_ for each codec type used by participants. Video features * Video passthrough: video from selected member is passed to every member of the conference. * Multiple ways to select video - VAD - DTMF from conference members - CLI * Ability to set default video sources and to lock/unlock video sources. License Naturally, app_vonference is GPL. The GIT repository also includes parts of libspeex, which is distributed under a BSD-style license. See LICENSE for more details. Getting app_vonference app_vonference is available via GIT from github: * https://github.com/voximal/asteisk-vonference Compiling app_vonference * Checkout sources * Modify Makefile to point to your Asterisk include directory * make * sudo make install Using app_vonference There is no configuration file. Conferences are created on-the-fly. Dialplan syntax: Vonference(NAME,FLAGS[,MAXUSERS][,TYPE][,SPY][,VADSTART][,VADCONTINUE][,VIDEOSTART][,VIDEOSTOP]) * NAME: whatever you want to identify the conference * FLAGS: dialplan flags, see Flags.txt for a comprehensive list * MAXUSERS: limit conference participants to max_users * TYPE: conference type identifier * SPY: channel name to spy * VADSTART: "probability" to use to detect start of speech. * VADCONTINUE: "probability" to use to detect continuation of speech. * VIDEOSTART: length of speech before assuming that a member is speaking * VIDEOSTOP: length of silence before assuming that a member has stopped speaking CLI Commands Please look at CLI.txt for a comprehensive list of CLI commands and parameters. Manager Events app_vonference generates several detailed manager events so that applications interfacing with the manager API can monitor conferences: * ConferenceJoin: join conference * ConferenceLeave: leave conference * ConferenceDTMF: dtmf received * ConferenceState: speaking state changed * ConferenceSoundComplete: sound completed * ConferenceMemberMute: mute member * ConferenceMute: mute conference * ConferenceMemberUnmute: unmute member * ConferenceUnmute: unmute conference * ConferenceCameraDisabled: camera disabled * ConferenceCameraEnabled: camera enabled * ConferenceStopVideoTransmit: stop video * ConferenceStartVideoTransmit: start video * ConferenceUnlock: unlock conference video * ConferenceLock: lock conference video * ConferenceVideoBroadcastOff: video broadcast off * ConferenceVideoBroadcastOn: video broadcast on * ConferenceVideoMute: mute video * ConferenceVideoUnmute: unmute video * ConferenceDefault: set video default * ConferenceVideoSwitch: video switched Benchmarking It would be nice to have solid benchmarks to present, but a good size machine should be able to handle many callers when either (a) they are using DTX, or (b) they are listen-only. It's used often with hundreds of simultaneous callers. ---
About
Fork of the old Asterisk module Konference with video support.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published