Repository navigation
Technical Plugin CustomizeAdvanced
Defines advanced settings consumed by multiple Streamer components.
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.0. - Source revision:
7d48f2dfc0289236718a3f9fba7c5ffecff4a37f. - Entry class file: CustomizeAdvanced.php.
Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.
A setting's definition does not identify every workflow that consumes it. Search its exact field name in the relevant component and distinguish stored data, default construction and the effective runtime value. Structured selectors can use type/value objects.
| Plugin | Required by declaration | Source reason |
|---|---|---|
| VideoHLS | Optional | Optional HLS-related advanced customization options |
| Scheduler | Optional | Optional scheduled task customization options |
| Subscription | Optional | Optional subscription-related menu customization |
Literal runtime plugin references: Scheduler, Subscription, VideoHLS. These calls do not mean every referenced plugin is mandatory.
| Override | Implementation |
|---|---|
getTags() |
CustomizeAdvanced.php:17 |
getDataObjectDeprecated() |
CustomizeAdvanced.php:42 |
getDataObjectExperimental() |
CustomizeAdvanced.php:53 |
getDataObjectAdvanced() |
CustomizeAdvanced.php:59 |
navBar() |
CustomizeAdvanced.php:602 |
getHelp() |
CustomizeAdvanced.php:611 |
getModeYouTube($videos_id) |
CustomizeAdvanced.php:618 |
getEmbed($videos_id) |
CustomizeAdvanced.php:643 |
getFooterCode() |
CustomizeAdvanced.php:647 |
getUploadMenuButton() |
CustomizeAdvanced.php:675 |
getHTMLMenuRight() |
CustomizeAdvanced.php:686 |
getHTMLMenuLeft() |
CustomizeAdvanced.php:702 |
getVideoWhereClause() |
CustomizeAdvanced.php:710 |
getVideosManagerListButton() |
CustomizeAdvanced.php:723 |
getHeadCode() |
CustomizeAdvanced.php:732 |
onReceiveFile($videos_id) |
CustomizeAdvanced.php:759 |
afterNewVideo($videos_id) |
CustomizeAdvanced.php:764 |
getManagerVideosAddNew() |
CustomizeAdvanced.php:776 |
getManagerVideosEdit() |
CustomizeAdvanced.php:782 |
getManagerVideosEditField($type='<string>') |
CustomizeAdvanced.php:788 |
saveVideosAddNew($post, $videos_id) |
CustomizeAdvanced.php:798 |
showAds($videos_id): bool |
CustomizeAdvanced.php:896 |
getGalleryActionButton($videos_id) |
CustomizeAdvanced.php:900 |
getWatchActionButton($videos_id) |
CustomizeAdvanced.php:905 |
executeEveryHour() |
CustomizeAdvanced.php:943 |
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 |
|---|---|---|---|
enableVideoModeration |
false |
Video moderation: When enabled, leaves all videos unpublished. Only the administrator and video moderators have the authority to activate and make these videos public | source |
logoMenuBarURL |
"" |
— | source |
encoderNetwork |
Computed/structured; inspect source | — | source |
useEncoderNetworkRecomendation |
false |
— | source |
doNotShowEncoderNetwork |
true |
— | source |
doNotShowUploadButton |
false |
— | source |
uploadButtonDropdownIcon |
"fas fa-video" |
— | source |
uploadButtonDropdownText |
"" |
— | source |
encoderNetworkLabel |
"" |
— | source |
doNotShowUploadMP4Button |
true |
Disable direct upload | source |
disablePDFUpload |
false |
— | source |
disableImageUpload |
false |
— | source |
disableZipUpload |
true |
— | source |
disableMP4Upload |
false |
— | source |
disableMP3Upload |
false |
— | source |
uploadMP4ButtonLabel |
"" |
— | source |
doNotShowImportMP4Button |
true |
— | source |
importMP4ButtonLabel |
"" |
— | source |
doNotShowEncoderButton |
false |
— | source |
encoderButtonLabel |
"" |
— | source |
showLocalEncoder |
true |
Show Local Encoder: Show the Local Encoder download page in upload screens and recommend it when URL imports fail. The Web Encoder remains required for AVideo media services. | source |
doNotShowEmbedButton |
false |
— | source |
embedBackgroundColor |
"white" |
— | source |
embedButtonLabel |
"" |
— | source |
embedCodeTemplate |
Computed/structured; inspect source | — | source |
embedCodeTemplateObject |
Computed/structured; inspect source | — | source |
htmlCodeTemplate |
Computed/structured; inspect source | — | source |
BBCodeTemplate |
Computed/structured; inspect source | — | source |
embedControls |
Computed/structured; inspect source | — | source |
embedAutoplay |
false |
— | source |
embedLoop |
false |
— | source |
embedStartMuted |
false |
— | source |
embedShowinfo |
true |
— | source |
doNotShowEncoderHLS |
false |
— | source |
doNotShowEncoderResolutionLow |
false |
— | source |
doNotShowEncoderResolutionSD |
false |
— | source |
doNotShowEncoderResolutionHD |
false |
— | source |
openEncoderInIFrame |
false |
— | source |
showOnlyEncoderAutomaticResolutions |
true |
— | source |
doNotShowEncoderAutomaticHLS |
false |
— | source |
doNotShowEncoderAutomaticMP4 |
false |
— | source |
doNotShowEncoderAutomaticWebm |
false |
— | source |
doNotShowEncoderAutomaticAudio |
false |
— | source |
singleResolution |
Computed/structured; inspect source | Save MP4 videos in a single resolution: Select the maximum resolution to save each video. Videos will not be upscaled to higher resolutions (Must enable automatic resolutions) | source |
saveOriginalVideoResolution |
false |
Save the original video resolution: This option will make your encoder at the end trancode the video into the original format resolution | source |
doNotShowExtractAudio |
false |
— | source |
doNotShowCreateVideoSpectrum |
false |
— | source |
doNotShowLeftMenuAudioAndVideoButtons |
false |
— | source |
doNotShowWebsiteOnContactForm |
false |
— | source |
doNotUseXsendFile |
false |
— | source |
makeVideosInactiveAfterEncode |
false |
— | source |
makeVideosUnlistedAfterEncode |
false |
— | source |
defaultVideoStatus |
Computed/structured; inspect source | Default video status: When you submit a video that will be the default status | source |
usePermalinks |
false |
Do not show video title on URL: This option is not good for SEO, but makes the URL clear | source |
canonicalURLType |
Computed/structured; inspect source | — | source |
disableAnimatedGif |
false |
— | source |
removeBrowserChannelLinkFromMenu |
false |
— | source |
removeBrowserChannelPerGroupLinkFromMenu |
true |
— | source |
browserChannelPerGroupLinkFromMenuLabel |
'Channels by Group' |
— | source |
EnableMinifyJS |
false |
— | source |
disableShareAndPlaylist |
false |
— | source |
disableShareOnly |
false |
— | source |
disableEmailSharing |
false |
— | source |
splitBulkEmailSend |
50 |
— | source |
disableComments |
false |
— | source |
commentsMaxLength |
200 |
— | source |
commentsNoIndex |
false |
— | source |
disableYoutubePlayerIntegration |
false |
— | source |
utf8Encode |
false |
— | source |
utf8Decode |
false |
— | source |
menuBarHTMLCode |
Computed/structured; inspect source | — | source |
underMenuBarHTMLCode |
Computed/structured; inspect source | — | source |
footerHTMLCode |
Computed/structured; inspect source | — | source |
signInOnRight |
true |
— | source |
signInOnLeft |
true |
— | source |
forceCategory |
false |
— | source |
showCategoryTopImages |
true |
— | source |
autoPlayAjax |
false |
— | source |
disableInstallPWAButton |
false |
— | source |
disablePlayLink |
false |
— | source |
disableHelpLeftMenu |
false |
— | source |
disableAboutLeftMenu |
false |
— | source |
disableContactLeftMenu |
false |
— | source |
disableAnimations |
false |
— | source |
disableNavbar |
false |
— | source |
disableNavBarInsideIframe |
true |
— | source |
autoHideNavbar |
true |
— | source |
autoHideNavbarInSeconds |
0 |
— | source |
videosCDN |
"" |
— | source |
useFFMPEGToGenerateThumbs |
false |
— | source |
thumbsWidthPortrait |
170 |
— | source |
thumbsHeightPortrait |
250 |
— | source |
thumbsWidthLandscape |
640 |
— | source |
thumbsHeightLandscape |
360 |
— | source |
usePreloadLowResolutionImages |
false |
— | source |
showImageDownloadOption |
false |
— | source |
doNotDisplayViews |
false |
— | source |
doNotDisplayLikes |
false |
— | source |
doNotDisplayCategoryLeftMenu |
false |
— | source |
doNotDisplayCategory |
false |
— | source |
doNotDisplayGroupsTags |
false |
— | source |
doNotDisplayPluginsTags |
false |
— | source |
showNotRatedLabel |
false |
— | source |
showShareMenuOpenByDefault |
false |
— | source |
showEllipsisMenuOnVideoItem |
true |
— | source |
showCreationTimeOnVideoItem |
true |
— | source |
showChannelPhotoOnVideoItem |
true |
— | source |
showChannelNameOnVideoItem |
true |
— | source |
askRRatingConfirmationBeforePlay_G |
false |
— | source |
askRRatingConfirmationBeforePlay_PG |
false |
— | source |
askRRatingConfirmationBeforePlay_PG13 |
false |
— | source |
askRRatingConfirmationBeforePlay_R |
false |
— | source |
askRRatingConfirmationBeforePlay_NC17 |
true |
— | source |
askRRatingConfirmationBeforePlay_MA |
true |
— | source |
filterRRating |
false |
— | source |
doNotShowLeftHomeButton |
false |
— | source |
doNotShowLeftTrendingButton |
false |
— | source |
CategoryLabel |
"Categories" |
— | source |
CategoryShowOnlySuggested |
false |
— | source |
ShowAllVideosOnCategory |
false |
— | source |
hideCategoryVideosCount |
false |
— | source |
hideEditAdvancedFromVideosManager |
false |
— | source |
categoryLiveCount |
true |
— | source |
paidOnlyUsersTellWhatVideoIs |
false |
Only Paid Users Can see option: This will create an option on videos manager to only let paid users to see this video | source |
paidOnlyShowLabels |
false |
— | source |
paidOnlyLabel |
"Premium" |
— | source |
paidOnlyFreeLabel |
"Free" |
— | source |
removeSubscribeButton |
false |
— | source |
removeThumbsUpAndDown |
false |
— | source |
videoNotFoundText |
Computed/structured; inspect source | — | source |
siteMapRowsLimit |
100 |
— | source |
siteMapUTF8Fix |
false |
— | source |
showPrivateVideosOnSitemap |
false |
— | source |
disableSiteMapVideoDescription |
false |
— | source |
enableOldPassHashCheck |
true |
— | source |
disableHTMLDescription |
false |
— | source |
disableShowMOreLessDescription |
false |
— | source |
disableVideoSwap |
false |
— | source |
makeSwapVideosOnlyForAdmin |
false |
— | source |
disableCopyEmbed |
false |
— | source |
disableDownloadVideosList |
false |
— | source |
videosManegerRowCount |
Computed/structured; inspect source | — | source |
videosListRowCount |
Computed/structured; inspect source | — | source |
videosManegerBulkActionButtons |
true |
— | source |
twitter_site |
Computed/structured; inspect source | — | source |
twitter_player |
true |
— | source |
twitter_summary_large_image |
false |
— | source |
footerStyle |
Computed/structured; inspect source | — | source |
disableVideoTags |
false |
— | source |
doNotAllowEncoderOverwriteStatus |
false |
— | source |
doNotAllowUpdateVideoId |
false |
— | source |
makeVideosIDHarderToGuess |
false |
— | source |
timeZone |
Computed/structured; inspect source | — | source |
keywords |
Private setting; value omitted | — | source |
doNotSaveCacheOnFilesystem |
false |
— | source |
robotsTXT |
Computed/structured; inspect source | robots.txt file content: robots.txt is a plain text file that follows the Robots Exclusion Standard. A robots.txt file consists of one or more rules. Each rule blocks (or allows) access for a given crawler to a specified file path in that website. | source |
beforeNavbar |
Computed/structured; inspect source | Add some code before the navbar HTML | source |
trendingOnLastDays |
Computed/structured; inspect source | Trending Days: For the result of trending videos, use the statistics contained in the last few days | source |
removeVideoList |
false |
— | source |
sortVideoListByDefault |
Computed/structured; inspect source | Sort Video List By Default | source |
showVideoDownloadedLink |
false |
Show video Downloaded Link: Show the video source URL above the video description | source |
videosForKids |
true |
— | source |
autoConvertVideosToMP3 |
false |
— | source |
allowDownloadMP3 |
true |
— | source |
disableFeeds |
false |
— | source |
rssItunesCategory |
Computed/structured; inspect source | RSS/Podcast iTunes Category: The Apple Podcasts / iTunes category used on the tag of the RSS feed | source |
ffmpegParameters |
"-c:v libx264 -preset veryfast -crf 23 -c:a aac -b:a 128k" |
FFmpeg conversion parameters: Output options used when FFmpeg converts a video (e.g. HLS to MP4 downloads). Only allowed options separated by spaces are accepted (codecs, preset, crf, bitrates, audio rate/channels, scale, faststart); anything else is rejected and the default profile is used. | source |
showHumanTimingOnVideoItem |
true |
Show human timing on video item: This will show the time since the video was uploaded in a human readable format, like "2 days ago" instead of the exact date and time | source |
showHumanTimingOnVideoItemDateFormat |
"Y-m-d H:i" |
Show human timing on video item date format: This will set the date format for the human timing, you can use any format supported by PHP date function, like "Y-m-d H:i:s" | source |
verifySSLCertificates |
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 |
|---|---|---|
| CustomizeAdvanced.php | plugin entry class | rrating |
| LocalEncoderLogin.php | class/helper implementation | — |
| actionButton.php | PHP page/include/worker; inspect caller | playlist_id |
| actionButtonGallery.php | PHP page/include/worker; inspect caller | — |
| advancedCustom.json.php | JSON entry point; inspect caller and guard | — |
| autoHideNavbar.js | browser/worker JavaScript; verify loader | — |
| autoHideNavbarInSeconds.js | browser/worker JavaScript; verify loader | — |
| confirmRating.php | PHP page/include/worker; inspect caller | — |
| deleteThumbs.php | PHP page/include/worker; inspect caller | videos_id |
| getManagerVideosAddNew.js | browser/worker JavaScript; verify loader | — |
| getManagerVideosEdit.js | browser/worker JavaScript; verify loader | — |
| localEncoder.php | PHP page/include/worker; inspect caller | — |
| localEncoderLauncher.js | browser/worker JavaScript; verify loader | — |
| localEncoderLogin.json.php | JSON entry point; inspect caller and guard |
action, challenge, code, verifier
|
| localEncoderPromo.php | PHP page/include/worker; inspect caller | — |
| managerVideosEdit.php | PHP page/include/worker; inspect caller | — |
| managerVideosEditSEO.php | PHP page/include/worker; inspect caller | — |
| menuLeft.php | PHP page/include/worker; inspect caller | — |
| menuRight.php | PHP page/include/worker; inspect caller | — |
| mvideo.script.js | browser/worker JavaScript; verify loader | — |
| updateDiskUsage.php | PHP page/include/worker; inspect caller | — |
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 |
|---|---|
getPluginDependencies() |
9 |
getTags() |
17 |
getDescription() |
24 |
getName() |
30 |
getUUID() |
34 |
getPluginVersion() |
38 |
getDataObjectDeprecated() |
42 |
getDataObjectExperimental() |
53 |
getDataObjectAdvanced() |
59 |
getEmptyDataObject() |
186 |
showDirectUploadButton() |
561 |
directUploadFiletypes() |
578 |
navBar() |
602 |
getHelp() |
611 |
getModeYouTube($videos_id) |
618 |
getEmbed($videos_id) |
643 |
getFooterCode() |
647 |
getLocalEncoderURL() |
666 |
getUploadMenuButton() |
675 |
getHTMLMenuRight() |
686 |
getHTMLMenuLeft() |
702 |
getVideoWhereClause() |
710 |
getVideosManagerListButton() |
723 |
getHeadCode() |
732 |
onReceiveFile($videos_id) |
759 |
afterNewVideo($videos_id) |
764 |
createMP3($videos_id) |
769 |
getManagerVideosAddNew() |
776 |
getManagerVideosEdit() |
782 |
getManagerVideosEditField($type='<string>') |
788 |
saveVideosAddNew($post, $videos_id) |
798 |
setDoNotShowAds($videos_id, $doNotShowAdsOnThisVideo) |
813 |
setDoNotShowAdsOnChannel($videos_id, $doNotShowAdsOnThisChannel) |
827 |
getDoNotShowAds($videos_id): bool |
837 |
getDoNotShowAdsChannel($videos_id): bool |
843 |
setRedirectVideo($videos_id, $code, $url) |
851 |
getRedirectVideo($videos_id) |
865 |
setShortSummaryAndMetaDescriptionVideo($videos_id, $ShortSummary, $MetaDescription, $checkUserPermission = true) |
871 |
getShortSummaryAndMetaDescriptionVideo($videos_id) |
890 |
showAds($videos_id): bool |
896 |
getGalleryActionButton($videos_id) |
900 |
getWatchActionButton($videos_id) |
905 |
autoConvert() |
910 |
executeEveryHour() |
943 |
__construct($iclass, $img = '') |
960 |
getHref() |
965 |
getClass() |
969 |
getTitle() |
973 |
getIclass() |
977 |
getImg() |
981 |
getOnclick() |
985 |
setHref($href): void |
989 |
setClass($class): void |
993 |
setTitle($title): void |
997 |
setIclass($iclass): void |
1001 |
setImg($img): void |
1005 |
setOnclick($onclick): void |
1009 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
Declared classes: LocalEncoderLogin.
| Named symbol | Source |
|---|---|
__construct($directory = null) |
9 |
issue($usersId, $passwordVersion, $challenge) |
15 |
consume($code, $verifier) |
45 |
path($code) |
67 |
- 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