Repository navigation
Technical Plugin Meet
Integrates conferencing, meeting access and recording/live-related workflows.
Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.
- Review date: 2026-10-29. Method: static source analysis; runtime/provider behavior was not exercised.
- Code ownership: AVideo Streamer repository.
- Reported version:
3.0. - Source revision:
7d48f2dfc0289236718a3f9fba7c5ffecff4a37f. - Entry class file: Meet.php.
Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.
No literal dependency declaration was extracted. This does not prove the plugin is standalone.
Literal runtime plugin references: Live. These calls do not mean every referenced plugin is mandatory.
| Override | Implementation |
|---|---|
getTags() |
Meet.php:33 |
updateScript() |
Meet.php:47 |
getPluginMenu() |
Meet.php:240 |
getHTMLMenuRight() |
Meet.php:327 |
getUploadMenuButton() |
Meet.php:629 |
getPermissionsOptions() |
Meet.php:640 |
These are direct assignments inside getEmptyDataObject(), not evaluated effective defaults. Stored plugins.object_data, globals, structured values and conditional branches may alter runtime behavior. Private/default credential values are omitted.
| Field | Literal default or expression type | Literal source label/help | Evidence |
|---|---|---|---|
secret |
Private setting; value omitted | — | source |
invitation |
Computed/structured; inspect source | — | source |
server |
Computed/structured; inspect source | — | source |
CUSTOM_JITSI_DOMAIN |
"jitsi.ca1.ypt.me" |
— | source |
JWT_APP_ID |
"my_jitsi_app_id" |
— | source |
JWT_APP_SECRET |
Private setting; value omitted | — | source |
hideTopButton |
true |
Hide Top Button: This will hide the button on the top menu bar | source |
buttonTitle |
'Meet' |
— | source |
This inventory distinguishes implementation files from an API specification. Includes, templates, callbacks and CLI workers are not interchangeable HTTP endpoints. Request-field names below are direct source references, not a complete schema or permission declaration.
| File | Source role | Direct request fields observed |
|---|---|---|
| Meet.php | plugin entry class | debug |
| Objects/Meet_join_log.php | class/helper implementation | — |
| Objects/Meet_schedule.php | class/helper implementation |
order, sort
|
| Objects/Meet_schedule_has_users_groups.php | class/helper implementation | — |
| View/Meet_join_log/add.json.php | JSON entry point; inspect caller and guard |
id, ip, meet_schedule_id, user_agent, users_id
|
| View/Meet_join_log/delete.json.php | JSON entry point; inspect caller and guard | id |
| View/Meet_join_log/index.php | PHP page/include/worker; inspect caller | — |
| View/Meet_join_log/index_body.php | PHP page/include/worker; inspect caller | — |
| View/Meet_join_log/index_head.php | PHP page/include/worker; inspect caller | — |
| View/Meet_join_log/list.json.php | JSON entry point; inspect caller and guard | — |
| View/Meet_schedule/add.json.php | JSON entry point; inspect caller and guard |
finish, id, live_stream, meet_code, name, password, public, starts, status, topic, users_id
|
| View/Meet_schedule/delete.json.php | JSON entry point; inspect caller and guard | id |
| View/Meet_schedule/index.php | PHP page/include/worker; inspect caller | — |
| View/Meet_schedule/index_body.php | PHP page/include/worker; inspect caller | — |
| View/Meet_schedule/index_head.php | PHP page/include/worker; inspect caller | — |
| View/Meet_schedule/list.json.php | JSON entry point; inspect caller and guard |
draw, manageMeetings, meet_scheduled
|
| View/Meet_schedule_has_users_groups/add.json.php | JSON entry point; inspect caller and guard |
id, meet_schedule_id, users_groups_id
|
| View/Meet_schedule_has_users_groups/delete.json.php | JSON entry point; inspect caller and guard | id |
| View/Meet_schedule_has_users_groups/index.php | PHP page/include/worker; inspect caller | — |
| View/Meet_schedule_has_users_groups/index_body.php | PHP page/include/worker; inspect caller | — |
| View/Meet_schedule_has_users_groups/index_head.php | PHP page/include/worker; inspect caller | — |
| View/Meet_schedule_has_users_groups/list.json.php | JSON entry point; inspect caller and guard | — |
| View/editor.php | PHP page/include/worker; inspect caller | — |
| all.css.php | PHP page/include/worker; inspect caller | — |
| api.js.php | PHP page/include/worker; inspect caller | startLiveMeet |
| checkServers.php | PHP page/include/worker; inspect caller | newServer |
| checkToken.json.php | JSON entry point; inspect caller and guard | secret |
| confirmMeetPassword.php | PHP page/include/worker; inspect caller | meet_password |
| external_api.js | browser/worker JavaScript; verify loader | — |
| getMeetInfo.json.php | JSON entry point; inspect caller and guard |
meet_schedule_id, meet_scheduled
|
| getRoomLink.json.php | JSON entry point; inspect caller and guard | roomName |
| getUploadMenuButton.php | PHP page/include/worker; inspect caller | — |
| iframe.php | PHP page/include/worker; inspect caller |
meet_password, nameIdentification
|
| index.php | PHP page/include/worker; inspect caller |
newServer, redirectUri
|
| install/install.sql | schema/migration SQL | — |
| install/updateV3.0.sql | schema/migration SQL | — |
| key.php | PHP page/include/worker; inspect caller | — |
| meet.js | browser/worker JavaScript; verify loader | — |
| meet_log.php | PHP page/include/worker; inspect caller |
rowCount, sort
|
| meet_manager.php | PHP page/include/worker; inspect caller | — |
| meet_scheduled.php | PHP page/include/worker; inspect caller |
manageMeetings, meet_scheduled
|
| saveMeet.json.php | JSON entry point; inspect caller and guard |
RoomPasswordNew, RoomTopic, id, live_stream, public, starts, status, userGroups
|
| uploadRecordedVideo.json.php | JSON entry point; inspect caller and guard | upl |
| validateMeet.php | PHP page/include/worker; inspect caller | meet_schedule_id |
Tables named in available CREATE TABLE statements: meet_join_log, meet_schedule, meet_schedule_has_users_groups.
Apply installation/update behavior through the owning plugin; this reference is not a script for running historical migrations manually.
Visibility and implementation semantics must be checked in source. Nonempty string defaults are represented as . This is a symbol reference, not a stable public API promise.
| Function or method | Source |
|---|---|
getTags() |
33 |
getPluginVersion() |
42 |
updateScript() |
47 |
getDescription() |
60 |
getName() |
66 |
getUUID() |
71 |
getEmptyDataObject() |
76 |
getTokenArray($meet_schedule_id, $users_id = 0) |
111 |
getToken($meet_schedule_id, $users_id = 0) |
166 |
getSecret() |
178 |
getAPPID() |
192 |
getISS() |
206 |
getAUD() |
220 |
getMeetServer() |
234 |
getPluginMenu() |
240 |
getDomainURL() |
246 |
getJoinURL() |
262 |
getRoomID($meet_schedule_id) |
270 |
isCustomJitsi() |
295 |
validateRoomName($room) |
304 |
createRoomName($topic, $users_id = 0) |
309 |
getHTMLMenuRight() |
327 |
getMeetLink($meet_schedule_id) |
344 |
getMeetShortLink($meet_schedule_id) |
354 |
canManageSchedule($meet_schedule_id) |
364 |
canJoinMeet($meet_schedule_id) |
375 |
canJoinMeetWithReason($meet_schedule_id) |
381 |
isModerator($meet_schedule_id) |
427 |
getButtons($meet_schedule_id) |
445 |
userGroupMatch($meet_schedule_id, $users_id) |
505 |
getServer() |
527 |
createJitsiButton($title, $svg, $onclick, $class = "'<string>''<string>'") |
536 |
createJitsiRecordStartStopButton($rtmpLink, $dropURL) |
564 |
getInvitation($meet_schedule_id) |
571 |
getIframeURL($meet_schedule_id) |
597 |
validatePassword( $meet_schedule_id, #[\SensitiveParameter] $password ) |
604 |
getUploadMenuButton() |
629 |
getPermissionsOptions() |
640 |
canCreateMeet() |
648 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
Declared classes: Meet_join_log.
| Named symbol | Source |
|---|---|
getAllFromSchedule($meet_schedule_id) |
13 |
getAllFromUser($users_id) |
44 |
getSearchFieldsNames() |
75 |
getTableName() |
80 |
getAllMeet_schedule() |
85 |
getAllUsers() |
106 |
setId($id) |
127 |
setMeet_schedule_id($meet_schedule_id) |
132 |
setUsers_id($users_id) |
137 |
setIp($ip) |
142 |
setUser_agent($user_agent) |
147 |
getId() |
153 |
getMeet_schedule_id() |
158 |
getUsers_id() |
163 |
getIp() |
168 |
getUser_agent() |
173 |
log($meet_schedule_id) |
178 |
save() |
188 |
Declared classes: Meet_schedule.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
20 |
getTableName() |
25 |
getAllUsers() |
30 |
setId($id) |
54 |
setUsers_id($users_id) |
59 |
setStatus($status) |
64 |
setPublic($public) |
75 |
setLive_stream($live_stream) |
80 |
setPassword( #[\SensitiveParameter] $password ) |
85 |
setTopic($topic) |
93 |
setStarts($starts) |
98 |
setFinish($finish) |
103 |
setName($name) |
108 |
setMeet_code($meet_code) |
114 |
getId() |
119 |
getUsers_id() |
124 |
getStatus() |
129 |
getPublic() |
140 |
getLive_stream() |
145 |
getPassword() |
150 |
getTopic() |
155 |
getStarts() |
160 |
getFinish() |
165 |
getName() |
170 |
getCleanName() |
175 |
getMeet_code() |
181 |
getMeetLink() |
186 |
getMeetShortLink() |
192 |
getSQLTime($time, $sort = true) |
198 |
getAllFromUsersId($users_id, $time = "", $canAttend = false, $hideIfHasPassword = false) |
226 |
getTotalFromUsersId($users_id, $time = "", $canAttend = false, $hideIfHasPassword = false) |
314 |
getAll($time = "") |
355 |
getTotal($time = "") |
399 |
canManageSchedule() |
419 |
getTimezone() |
433 |
_setTimezone($timezone) |
438 |
save() |
443 |
getFromName($name, $refreshCache = false) |
454 |
Declared classes: Meet_schedule_has_users_groups.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
13 |
getTableName() |
18 |
getAllFromSchedule($meet_schedule_id) |
23 |
getAllMeet_schedule() |
57 |
getAllUsers_groups() |
81 |
setId($id) |
105 |
setMeet_schedule_id($meet_schedule_id) |
110 |
setUsers_groups_id($users_groups_id) |
115 |
getId() |
120 |
getMeet_schedule_id() |
125 |
getUsers_groups_id() |
130 |
saveUsergroupsToMeet($meet_schedule_id, $user_groups_ids) |
135 |
deleteAllFromMeet($meet_schedule_id) |
150 |
- Check the installed/enabled version and the dependencies/settings above.
- Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
- Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
- Reproduce the relevant workflow in a test environment. External provider, Encoder, live-server, storage, payment and authenticated flows require their real integrations.
Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.
Start
Install and update
- Install on Ubuntu 24.04 or 26.04
- Installation Setup Page
- Scheduler cron job (required)
- Set up email
- Use HTTPS
- Own Encoder
- Docker
- Update AVideo
- Backup
- Secure file permissions
- Server command-line tools
- Hidden configuration options
Videos
- Upload a video
- Local Encoder (on your computer)
- Bulk upload by FTP
- Import a channel
- Publish on YouTube and social media
- Privacy options
- Only for logged-in users
- Resolutions by user group
- Storage options
- Move and protect video files
- Video does not play
Users
Live
- Make a live stream
- Stream with OBS
- Own live server
- One live server, many sites
- Live server install errors
- Live does not play
Plugins
Problems
Other
- Translate your site
- Write a plugin (developers)
- Technical reference (developers and advanced administrators)
Old and retired guides