Repository navigation
Technical Plugin PlayerSkins
Configures player skins and related media presentation/hooks.
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:
1.1. - Source revision:
7d48f2dfc0289236718a3f9fba7c5ffecff4a37f. - Entry class file: PlayerSkins.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: CustomizeAdvanced, CustomizeUser. These calls do not mean every referenced plugin is mandatory.
| Override | Implementation |
|---|---|
getTags() |
PlayerSkins.php:11 |
getHeadCode() |
PlayerSkins.php:259 |
getStart() |
PlayerSkins.php:431 |
getFooterCode() |
PlayerSkins.php:457 |
getVideoTags($videos_id) |
PlayerSkins.php:902 |
getWatchActionButton($videos_id) |
PlayerSkins.php:993 |
getGalleryActionButton($videos_id) |
PlayerSkins.php:999 |
executeEveryHour() |
PlayerSkins.php:1005 |
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 |
|---|---|---|---|
skin |
"avideo" |
— | source |
playbackRates |
Computed/structured; inspect source | — | source |
playerCustomDataSetup |
"" |
— | source |
showSocialShareOnEmbed |
true |
— | source |
showLoopButton |
true |
— | source |
showPictureInPicture |
true |
— | source |
showFullscreenToggle |
Computed/structured; inspect source | — | source |
showLogo |
false |
— | source |
showShareSocial |
true |
— | source |
showShareAutoplay |
true |
— | source |
forceAlwaysAutoplay |
false |
— | source |
showLogoOnEmbed |
false |
— | source |
showLogoAdjustScale |
"0.4" |
— | source |
showLogoAdjustLeft |
"-74px" |
— | source |
showLogoAdjustTop |
Computed/structured; inspect source | — | source |
disableEmbedTopInfo |
false |
— | source |
contextMenuDisableEmbedOnly |
false |
— | source |
contextMenuLoop |
true |
— | source |
contextMenuCopyVideoURL |
true |
— | source |
contextMenuCopyVideoURLCurrentTime |
true |
— | source |
contextMenuCopyEmbedCode |
true |
— | source |
contextMenuShare |
true |
— | source |
playerFullHeight |
false |
— | source |
playsinline |
true |
— | source |
showVideoSEOViewForBots |
true |
— | source |
hideButtonFromPlayerIfIsSmallPictureInPicture |
true |
— | source |
hideButtonFromPlayerIfIsSmallPlayerLogo |
true |
— | source |
hideButtonFromPlayerIfIsSmallSeek |
true |
— | source |
hideButtonFromPlayerIfIsSmallLoop |
true |
— | source |
hideButtonFromPlayerIfIsSmallAutoplay |
true |
— | source |
autoGenerateAndCacheEPG |
false |
— | source |
chromeCast |
false |
— | source |
airPlay |
false |
— | 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 |
|---|---|---|
| PlayerSkins.php | plugin entry class |
autoplay, catName, evideo, hideAutoplaySwitch, isEmbedded, isMediaPlaySite, mute, playlist_index, playlists_id, t, u, videoName
|
| actionButton.php | PHP page/include/worker; inspect caller | — |
| actionButtonGallery.php | PHP page/include/worker; inspect caller | — |
| allowAutoplay/chrome.php | PHP page/include/worker; inspect caller | — |
| allowAutoplay/firefox.php | PHP page/include/worker; inspect caller | — |
| allowAutoplay/index.php | PHP page/include/worker; inspect caller | — |
| allowAutoplay/safari.php | PHP page/include/worker; inspect caller | — |
| autoplayButton.js | browser/worker JavaScript; verify loader | — |
| buffering.debug.php | PHP page/include/worker; inspect caller | — |
| contextMenu.php | PHP page/include/worker; inspect caller | disableContextMenu |
| epg.php | PHP page/include/worker; inspect caller |
json, rowCount, videos_id
|
| epgButton.js | browser/worker JavaScript; verify loader | — |
| events/playerAdsEvents.js | browser/worker JavaScript; verify loader | — |
| events/playerAdsEventsMobile.js | browser/worker JavaScript; verify loader | — |
| events/playerAdsFunctions.js | browser/worker JavaScript; verify loader | — |
| events/playerReady.js | browser/worker JavaScript; verify loader | — |
| events/playerReadyMobile.js | browser/worker JavaScript; verify loader | — |
| events/playerReadyMuted.js | browser/worker JavaScript; verify loader | — |
| events/playerReadyUnmuted.js | browser/worker JavaScript; verify loader | — |
| events/vmap_ad_scheduler.js | browser/worker JavaScript; verify loader | — |
| fixCurrentSources.js | browser/worker JavaScript; verify loader | — |
| fullscrenCheck.js | browser/worker JavaScript; verify loader | — |
| logo.js | browser/worker JavaScript; verify loader | — |
| loopbutton.js | browser/worker JavaScript; verify loader | — |
| mediaSession.json.php | JSON entry point; inspect caller and guard | — |
| mediaSession.php | PHP page/include/worker; inspect caller | — |
| pipButton.js | browser/worker JavaScript; verify loader | — |
| player.js | browser/worker JavaScript; verify loader | — |
| playerSample.php | PHP page/include/worker; inspect caller | playerSkin |
| saveThumbnail.php | PHP page/include/worker; inspect caller | — |
| seo.php | PHP page/include/worker; inspect caller | — |
| shareButton.js | browser/worker JavaScript; verify loader | — |
| skipintro.js | browser/worker JavaScript; verify loader | — |
No CREATE TABLE names were extracted from available plugin SQL. The plugin can still use core tables, PHP-created schema or another component's data. 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() |
11 |
getDescription() |
20 |
getName() |
38 |
getUUID() |
43 |
getPluginVersion() |
48 |
getEmptyDataObject() |
53 |
getPlaysinline() |
102 |
isYoutubeIntegrationEnabled() |
111 |
getMediaTag($filename, $htmlMediaTag = false) |
124 |
getHeadCode() |
259 |
showAutoplay() |
425 |
getStart() |
431 |
showSkipIntro() |
445 |
getFooterCode() |
457 |
includeFullscreenBlock() |
560 |
getDataSetup($str = "") |
573 |
getStartPlayerJS($onPlayerReady = "'<string>'", $noReadyFunction = false) |
616 |
addOnPlayerReady($onPlayerReady) |
627 |
getStartPlayerJSCode($noReadyFunction = false, $currentTime = 0) |
632 |
getCurrentTime() |
746 |
setIMAADTag($tag) |
779 |
playerJSCodeOnLoad($videos_id, $nextURL = "") |
785 |
prepareStartPlayerJS($onPlayerReady = "'<string>'") |
867 |
isAutoplayEnabled() |
886 |
getVideoTags($videos_id) |
902 |
createMarker($markersList, $width = 10, $color = '<string>') |
953 |
getWatchActionButton($videos_id) |
993 |
getGalleryActionButton($videos_id) |
999 |
executeEveryHour() |
1005 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
| Named symbol | Source |
|---|---|
getEPGCacheFolder() |
208 |
setEPGCache($name, $content) |
214 |
getEPGCache($name) |
225 |
cmpPrograms($a, $b) |
247 |
cmpChannels($a, $b) |
256 |
getDurationInMinutes($start, $stop) |
260 |
setMaxDate($date) |
270 |
setMinDate($date) |
283 |
createEPG($channel) |
296 |
| Named symbol | Source |
|---|---|
extractKeywords($description) |
10 |
- 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