Video Processor Settings
Overview
The Video Processor Settings page is the central hub for configuring how videos are processed, encoded, displayed, and monetized on your platform. This comprehensive admin page contains five main tabs:
- Processing Settings - Configure video encoding, thumbnails, previews, HLS streaming, and distributed conversion
- Pre-Roll & Post-Roll - Upload and manage videos that play before/after your content
- Video Overlays - Create image and text watermarks that are burned into processed videos
- Video Player - Configure player features, watermarks, overlays, and playlist settings
- Video Player Ads - Set up VAST/IMA advertising and custom overlay ads
[Screenshot: Video Processor Settings page header with tab navigation]
System Requirements
PHP Extensions Required
External Tools Required
libx264, libx265, libvpx-vp9, libopus, and aac codecs for full functionality. Missing codecs will cause encoding failures.PHP Configuration
Permissions
Installation Requirements
Required Folders
Cron Jobs
The video processor will NOT work without these cron jobs running!
# REQUIRED: Site-wide cron (includes processor)
php /path/to/ct/admin/cron/sitecron.php >> /path/to/logs/sitecron.log 2>&1
Features & UI Elements
Tab 1: Processing Settings
This is the main configuration tab with multiple sections:
General Processing Settings
[Screenshot: General Processing Settings section]
Storage & Cleanup Settings
Quality Control Settings
Smart Crop & Transformation
Preview Generation Settings
Thumbnail Generation Settings
Contact Sheet Settings
Video Conversion Settings
HLS Adaptive Streaming Settings
Resolution Variants:
MP4 Encoding Settings
WebM Encoding Settings
FFmpeg Command Configuration
Custom FFmpeg commands can cause processing failures if incorrectly configured. Test thoroughly before enabling in production.
Available Placeholders:
{FFMPEG}- Path to FFmpeg executable{INPUT}- Input video file path{OUTPUT}- Output video file path{START}- Start time for preview segments{DURATION}- Duration for preview segments
Distributed Video Conversion
Cloud Encoding Services
Bunny Stream Settings:
- API Key
- Library ID
- CDN Hostname
- Webhook URL (auto-generated)
- Output Resolutions (2160p, 1440p, 1080p, 720p, 480p, 360p, 240p)
Coconut.co Settings:
- API Key
- Webhook URL (auto-generated)
- Output Format (MP4 H.264, MP4 HEVC, WebM VP9, HLS)
- Storage Target (S3, GCS, Azure, FTP, SFTP, HTTP)
Qencode Settings:
- API Key
- Project ID
- Webhook URL (auto-generated)
- Output Format (HLS, MP4, WebM, DASH)
- Output Destination (S3, GCS, Azure, FTP)
Cloud Storage Destination (for Coconut/Qencode):
- Storage Bucket Name
- Storage Region
- Storage Access Key
- Storage Secret Key
- Storage Path Prefix
[Screenshot: Cloud Encoding Services section with Bunny Stream selected]
Tab 2: Pre-Roll & Post-Roll
Upload videos that automatically concatenate to the beginning (pre-roll) or end (post-roll) of all processed videos.
Current Pre-Roll Video
Displays the currently uploaded pre-roll with:
- Video preview player
- Status indicator (Active/Inactive)
- Filename
- Activate/Deactivate button
- Delete button
Upload New Pre-Roll Video
Current Post-Roll Video
Same layout as pre-roll section.
Upload New Post-Roll Video
[Screenshot: Pre-Roll & Post-Roll tab with both videos configured]
Tab 3: Video Overlays
Create watermarks that are burned into videos during processing.
Add New Overlay
Overlay Type Selector:
- Image Overlay - Upload PNG/GIF file (transparent PNG recommended)
- Text Overlay - Scrolling or static text watermark
Common Fields:
Position Options:
- Top Left, Top Center, Top Right
- Bottom Left, Bottom Center, Bottom Right
- Scrolling - Top, Scrolling - Bottom
Image-Specific Fields:
Text-Specific Fields:
Animation Types:
- None
- Fade In, Fade Out, Fade In & Out
- Slide from Left, Right, Bottom, Top
- Bounce, Blinking, Pulse
Display Timing Options:
- Continuous
- Random Intervals
- Every 30 seconds
- Start & End Only
Existing Overlays
Grid display showing:
- Overlay name and type badge (IMAGE/TEXT)
- Preview (image or styled text)
- Position, opacity, scroll speed, timing
- Status (Active/Inactive)
- Activate/Deactivate and Delete buttons
Manage Custom Fonts
Upload New Font:
- Accepts TTF or OTF files
- Uploaded to
uploads/fonts/
Available Fonts:
- Grid showing font name, extension, and delete button
[Screenshot: Video Overlays tab showing overlay creation form and existing overlays grid]
Tab 4: Video Player
Configure player features, watermarks, and overlays that appear during playback.
Player Features & Mode Configuration
Toggle features for Frontend (public) and Backend (admin) player modes.
Playlist & Sidebar Settings
Autoplay Next Video Settings
Video Watermark / Branding
Text Watermark Settings:
- Watermark Text
- Text Color (color picker)
- Font Family (Arial, Helvetica, Times, etc.)
- Font Size (8-72px)
- Font Weight (normal/bold)
- Text Shadow (enable + color)
- Background Color + Opacity
- Padding
Image Watermark Settings:
- Image URL (PNG with transparency recommended)
Appearance Settings (both types):
- Size (% of video width, 1-50)
- Opacity (0-1)
- Horizontal/Vertical Margin (0-200px)
- Always Visible
- Fade on Hover
[Screenshot: Video Watermark configuration section]
Add New Player Overlay
Overlay Types:
- Info (Blue)
- Warning (Orange)
- Error (Red)
- Success (Green)
- Call-to-Action (Gradient)
Existing Player Overlays
Grid showing:
- Title and type badge
- Message preview
- Position, timing, duration
- Button text and URL
- Options (dismissible, full width)
- Status and action buttons
Tab 5: Video Player Ads
Configure VAST/IMA advertising and custom overlay ads.
Master Control
Ad Type Selection
- VAST/IMA Ads - Industry-standard video ads
- Custom Overlay - Your own image/HTML ads
Custom Overlay Ad Configuration
Ad Placement
Mid-Roll Timing Configuration
Ad Behavior Settings
User Experience Settings
Analytics & Debugging
Test VAST Tags
Sample Google IMA tags for testing:
- Single Inline Linear
- Single Skippable Inline
- VMAP Pre-roll
[Screenshot: Video Player Ads tab with VAST configuration]
Step-by-Step Usage
Setting Up Basic Video Processing
- Navigate to Dashboard > Videos > Processor Settings
- On the Processing Settings tab:
- Set Max Concurrent Jobs based on your server CPU (2-4 for most servers)
- Adjust Job Timeout if processing large 4K videos (increase to 7200)
- Keep Retry Attempts at 3 for reliability
- Scroll to Thumbnail Generation Settings:
- Set Thumbnail Count (5-10 recommended)
- Enable Generate Video Sprites for timeline preview
- Click Save Settings
Start with conservative settings and increase concurrent jobs only after monitoring server load.
Configuring HLS Adaptive Streaming
- On the Processing Settings tab, scroll to HLS Adaptive Streaming Settings
- Check Enable HLS Adaptive Streaming
- Set Minimum Source Height to 720 or 1080
- Configure Active HLS Resolutions (e.g., "hd,high,medium" for 1080p, 720p, 480p)
- Adjust bitrates for each quality level
- Click Save Settings
HLS significantly increases storage requirements. A 100MB source video may generate 400MB+ of HLS files across all quality levels.
Adding a Pre-Roll Advertisement
- Go to the Pre-Roll & Post-Roll tab
- Under Upload New Pre-Roll Video:
- Click Choose File and select your MP4 video
- Check Activate immediately to enable
- Click Upload Pre-Roll Video
- The pre-roll will now be concatenated to all newly processed videos
Creating a Text Watermark
- Go to the Video Overlays tab
- Select Text Overlay type
- Enter an Overlay Name (e.g., "Copyright Notice")
- Set Position to "bottom-right"
- Enter Text Content (e.g., "© 2025 Your Company")
- Customize styling:
- Font Color: #ffffff
- Font Size: 18
- Enable Text Shadow for visibility
- Set Opacity to 0.5 for subtle watermark
- Click Create Overlay
Setting Up Player Branding
- Go to the Video Player tab
- Scroll to Video Watermark / Branding
- Check Enable Watermark
- Select Text or Image type
- For text: Enter your brand name, choose colors and font
- Set Position to "bottom-right"
- Adjust Opacity (0.3-0.5 recommended)
- Check Fade on Hover for better UX
- Click Save Watermark Settings
Configuring VAST Video Ads
- Go to the Video Player Ads tab
- Check Enable Video Ads
- Enter your VAST Tag URL from your ad provider
- Under Ad Placement:
- Check Enable Pre-Roll for ads before video
- Optionally enable mid-roll at specific percentage
- Set Skip Button Delay to 5 seconds
- Enable Click Tracking for analytics
- Click Save Ad Settings
Use the Test VAST Tags section to verify your player works before connecting to your ad server.
Creating a Call-to-Action Overlay
- Go to Video Player tab
- Scroll to Add New Player Overlay
- Fill in:
- Title: "Subscribe for More!"
- Message: "Get unlimited access to premium content"
- Type: Call-to-Action (Gradient)
- Position: center
- Show At: 10 seconds
- Duration: 10 seconds
- Button Text: "Subscribe Now"
- Button URL:
https://yoursite.com/subscribe - Enable Dismissible
- Click Add Player Overlay
Troubleshooting
Videos Stuck in "Pending" Status
Symptom: Videos upload but never get processed.
Solution:
- Check if the cron job is running:
crontab -l | grep videoprocessor
- Test manual execution:
php /path/to/ct/admin/cron/videoprocessor.php
- Check processor logs:
tail -100 /path/to/ct/logs/videoprocessor/videoprocessor.log
- Verify FFmpeg is installed and accessible
- Check file permissions on upload directories
Thumbnails Not Generating
Symptom: Videos process but have no thumbnails.
Solution:
- Verify FFmpeg can extract frames:
ffmpeg -i /path/to/video.mp4 -vframes 1 test.jpg
- Check Thumbnail Count is > 0
- Ensure upload directories are writable
- Look for FFmpeg errors in processing logs
HLS Not Working
Symptom: Videos don't offer quality selection.
Solution:
- Confirm Enable HLS Adaptive Streaming is checked
- Verify source video meets Minimum Source Height requirement
- Check that Active HLS Resolutions is not empty
- Ensure FFmpeg has required codecs:
ffmpeg -codecs | grep x264
- Check for HLS files in video output directory
Watermarks Not Appearing
Symptom: Video overlays configured but not visible on processed videos.
Solution:
- Watermarks are burned in during processing - check if overlay is Active
- Existing videos need reprocessing to apply new watermarks
- Verify image file exists at the stored path
- Check that FFmpeg can read the overlay image:
ffmpeg -i video.mp4 -i overlay.png -filtercomplex "overlay" test.mp4
Player Overlays Not Showing
Symptom: Player overlays configured but not appearing during playback.
Solution:
- Check if overlay is marked Active
- Verify Show At time hasn't passed
- Player overlays don't work with embedded videos (iframes)
- Check browser console for JavaScript errors
- Verify player feature is enabled in Player Features table
VAST Ads Not Playing
Symptom: Ads configured but not appearing.
Solution:
- Check Enable Video Ads is on
- Verify VAST tag URL is valid and accessible
- Test with Google IMA sample tags first
- Enable Debug Mode and check console
- Ensure player is using Video.js (not embedded)
- Check for CORS issues with ad server
Cloud Encoding Webhook Failures
Symptom: Cloud encoding completes but videos aren't updated.
Solution:
- Verify webhook URL is publicly accessible
- Check that SSL certificate is valid (webhooks require HTTPS)
- Look for webhook calls in server access logs
- Test webhook endpoint manually with curl:
curl -X POST https://yoursite.com/api/v1/webhooks/bunny-stream -d "test=1"
Translatable Strings
The following strings are used in this page and should be added to lang/en.json. Strings are organized by category for easier localization.
Page Title & Navigation
{
"videoprocessorsettings": "Video Processor Settings",
"dashboard": "Dashboard",
"videos": "Videos"
}
Tab Labels
{
"processingsettings": "Processing Settings",
"prerollpostroll": "Pre-Roll & Post-Roll",
"videooverlays": "Video Overlays",
"videoplayer": "Video Player",
"videoplayerads": "Video Player Ads"
}
Section Headings
{
"aboutvideoprocessing": "About Video Processing",
"generalprocessingsettings": "General Processing Settings",
"storagecleanupsettings": "Storage & Cleanup Settings",
"qualitycontrolsettings": "Quality Control Settings",
"smartcroptransformation": "Smart Crop & Transformation",
"previewgenerationsettings": "Preview Generation Settings",
"thumbnailgenerationsettings": "Thumbnail Generation Settings",
"thumbnailimageformatsettings": "Thumbnail Image Format Settings",
"animatedgifsettings": "Animated GIF Settings",
"contactsheetsettings": "Contact Sheet Settings",
"videoconversionsettings": "Video Conversion Settings",
"hlsadaptivestreamingsettings": "HLS Adaptive Streaming Settings",
"hlsresolutionvariants": "HLS Resolution Variants",
"mp4encodingsettings": "MP4 Encoding Settings",
"webmencodingsettings": "WebM Encoding Settings",
"distributedvideoconversion": "Distributed Video Conversion",
"cloudencodingservices": "Cloud Encoding Services",
"cloudstoragedestination": "Cloud Storage Destination",
"playeroverlaysystem": "Player Overlay System",
"playerfeaturesmodeconfiguration": "Player Features & Mode Configuration",
"playlistsidebarsettings": "Playlist & Sidebar Settings",
"autoplaynextvideosettings": "Autoplay Next Video Settings",
"videowatermarkbranding": "Video Watermark / Branding",
"textwatermarksettings": "Text Watermark Settings",
"imagewatermarksettings": "Image Watermark Settings",
"appearancesettings": "Appearance Settings",
"addnewplayeroverlay": "Add New Player Overlay",
"existingplayeroverlays": "Existing Player Overlays",
"playlistuicustomization": "Playlist & Sidebar UI Customization",
"videoviewlimitsaccesscontrol": "Video View Limits & Access Control",
"upgradepromptcustomization": "Upgrade Prompt Customization",
"vastimaadsettings": "VAST/IMA Ad Settings",
"adtypeselection": "Ad Type Selection",
"customoverlayadconfiguration": "Custom Overlay Ad Configuration",
"adplacement": "Ad Placement",
"midrolltimingconfiguration": "Mid-roll Timing Configuration",
"adbehavior": "Ad Behavior",
"userexperience": "User Experience",
"analyticsdebugging": "Analytics & Debugging",
"currentstatus": "Current Status",
"testvasttags": "Test VAST Tags"
}
Info Box Content
{
"aboutvideoprocessingtext": "This page allows you to configure how videos are processed, including quality settings, thumbnail generation, HLS streaming, and more. Settings are applied to all new videos that enter the processing queue.",
"aboutprerollpostroll": "Pre-roll videos play before your main content. Post-roll videos play after. These are useful for branding, advertisements, or content warnings.",
"prerollinfo": "Pre-roll videos are concatenated to the beginning of processed videos. Changes only affect newly processed videos.",
"postrollinfo": "Post-roll videos are concatenated to the end of processed videos. Changes only affect newly processed videos.",
"aboutplayeroverlays": "Player overlays appear on top of the video player during playback. They're perfect for:",
"overlayusecasescta": "CTAs (Call-to-Action): Encourage users to subscribe, sign up, or visit other pages",
"overlayusecaseswarnings": "Warnings: Display important notices, age restrictions, or disclaimers",
"overlayusecasespromotional": "Promotional Messages: Promote special offers, new content, or features",
"overlayusecasesinformation": "Information: Provide context, credits, or additional details",
"overlayfeatures": "Features:",
"overlayfeaturetimebased": "Time-based display (show/hide at specific video timestamps)",
"overlayfeaturepositions": "Multiple position options (top, bottom, center, corners)",
"overlayfeaturetypes": "Various types (info, warning, error, success, CTA)",
"overlayfeaturebuttons": "Clickable buttons with custom URLs",
"overlayfeaturedismiss": "Auto-dismiss or user-dismissible options",
"aboutplayerfeatures": "Control which features are enabled for different player modes:",
"playermodefrontend": "Frontend Mode: Full-featured player for public-facing videos /debugplayer.php?mode=frontend (default with playlist, autoplay, overlays, etc.)",
"playermodebackend": "Backend Mode: Minimal player for admin area /debugplayer.php?mode=backend. (useful for video management/preview without distractions)",
"embeddedvideosnotice": "Important Notice About Embedded Videos:",
"embeddedvideosnoticetext": "The player features below (playlist sidebar, overlays, watermark, ads) are not available for embedded videos (importmode = 'embed'). These features only work with videos hosted on your CDN or hotlinked videos that use the Video.js player. Embedded videos use external iframe players that cannot be controlled by your system.",
"thumbnailformatssupported": "Supported Formats:",
"thumbnailformatjpg": "JPG: Universal compatibility, good compression",
"thumbnailformatwebp": "WebP: Modern format, better compression, smaller file sizes",
"thumbnailformatboth": "Both: Generate both formats for maximum compatibility and performance",
"thumbnailformatnote": "Note: Animated GIFs are always generated in GIF format regardless of this setting.",
"animatedgifgeneration": "Animated GIF Generation:",
"animatedgifdescription": "Create engaging animated preview GIFs from your videos.",
"animatedgifcontinuous": "Continuous Mode: Extract one continuous clip from the video",
"animatedgifsegmented": "Segmented Mode: Extract multiple short clips from throughout the video and combine them",
"animatedgifformatnote": "Animated GIFs are always generated in GIF format (not WebP)",
"whatishlsstreaming": "What is HLS Streaming?",
"hlsstreamingdescription": "HTTP Live Streaming (HLS) creates multiple quality versions of your video and allows automatic quality switching based on viewer's bandwidth.",
"hlsadaptivequality": "Adaptive Quality: Viewers get the best quality their connection can handle",
"hlsm3u8playlists": ".m3u8 Playlists: Master playlist coordinates between quality levels",
"hlssegments": "Segments: Videos are split into small chunks for smooth streaming",
"hlsthreshold": "Threshold: Only enabled for videos meeting minimum resolution requirements",
"hlswarning": "Note: HLS generation significantly increases processing time and storage requirements. Each enabled resolution creates a complete copy of your video plus segment files.",
"hlsvariantsdescription": "Select which resolution variants to generate. The processor will only create variants that are smaller than or equal to the source video resolution.",
"hdquality": "HD Quality",
"highquality": "High Quality",
"mediumquality": "Medium Quality",
"lowquality": "Low Quality",
"aboutdistributedconversion": "About Distributed Conversion:",
"distributedconversiondescription": "Distribute video processing workloads across multiple remote servers for faster processing and better scalability.",
"distributedremoteservers": "Remote Servers: Configure dedicated conversion servers to handle processing",
"distributedloadbalancing": "Load Balancing: Jobs are distributed based on server capacity and priority",
"distributedautofailover": "Automatic Failover: Falls back to local processing if remote servers are unavailable",
"distributedhealthmonitoring": "Health Monitoring: Automatic heartbeat checks and alerting",
"distributedconversionnote": "Note: Configure remote servers in Conversion Servers before enabling this feature.",
"uploadmodereturnmain": "Return to Main Server: Conversion server sends processed files back. Main server then uploads to your CDN. More bandwidth but simpler.",
"uploadmodedirectstorage": "Direct to Storage: Conversion server uploads directly to your CDN. Faster and uses less bandwidth. Requires sharing CDN credentials with conversion servers.",
"aboutcloudencoding": "About Cloud Encoding:",
"cloudencodingdescription": "Instead of processing videos locally or on your own conversion servers, you can use third-party cloud encoding services. These services handle all the heavy lifting of video transcoding in the cloud.",
"cloudencodingbenefits": "Benefits:",
"cloudencodingnoinfrastructure": "No Infrastructure: No need to set up or maintain conversion servers",
"cloudencodingscalable": "Scalable: Process hundreds of videos simultaneously",
"cloudencodingpayasyougo": "Pay-as-you-go: Only pay for what you encode",
"cloudencodingfast": "Fast: Enterprise-grade encoding infrastructure",
"bunnystreamdescription": "Bunny Stream is a powerful video hosting and encoding platform by Bunny.net. It offers:",
"bunnystreamhls": "Automatic HLS transcoding to multiple resolutions",
"bunnystreamcdn": "Global CDN delivery included",
"bunnystreamthumbnails": "Thumbnail and preview generation",
"bunnystreampricing": "Starting at $1/TB storage + $1/TB delivery",
"coconutdescription": "Coconut is a cloud video transcoding API. It supports:",
"coconutformats": "Multiple output formats (MP4, WebM, HLS, DASH)",
"coconutupload": "Direct upload to S3, GCS, Azure, FTP",
"coconutthumbnails": "Thumbnail and GIF generation",
"coconutpricing": "Pay-per-minute pricing",
"qencodedescription": "Qencode is an enterprise video encoding platform. Features:",
"qencodehlsdash": "Advanced HLS/DASH adaptive streaming",
"qencodepertitle": "Per-title encoding optimization",
"qencodeupload": "Direct upload to cloud storage",
"qencodeai": "AI-powered quality optimization",
"cloudstoragedescription": "Coconut and Qencode need a storage destination to upload encoded files. Configure your S3-compatible storage credentials here.",
"cloudstoragebunnynote": "Note: If you're using Bunny Stream, encoded files are stored in Bunny's CDN automatically.",
"midrolltimingdescription": "Choose one timing method:",
"midrolltimebased": "Time-based: Show ad at a specific timestamp (e.g., 30 seconds)",
"midrollpercentagebased": "Percentage-based: Show ad at % of video duration (e.g., 50% = halfway)",
"midrollprioritynote": "Note: If both are set, percentage takes priority.",
"testvasttagsdescription": "Google IMA Sample Tags for Testing:",
"testvasttagsinfo": "Use these official Google test tags to verify your ad setup:",
"singleprerolllinear": "Single Pre-roll (Linear):",
"skippablead": "Skippable Ad:",
"vpaidad": "VPAID Ad:",
"testvastnote": "Note: These are sample tags provided by Google for testing purposes. Replace with your actual ad network's VAST tag URL in production."
}
Form Labels
{
"enable": "Enable",
"active": "Active",
"inactive": "Inactive",
"resolution": "Resolution",
"videobitratekbps": "Video Bitrate (kbps)",
"activehlsresolutions": "Active HLS Resolutions",
"activehlsresolutionsdescription": "Select which resolution variants to generate. Use comma-separated values: hd, high, medium, low",
"enablehlsstreaming": "Enable HLS Streaming",
"enabledistributedconversion": "Enable Distributed Conversion",
"enablecloudencoding": "Enable Cloud Encoding Services",
"overlayname": "Overlay Name",
"overlaytype": "Overlay Type",
"position": "Position",
"opacity": "Opacity",
"margin": "Margin",
"fontsize": "Font Size",
"fontcolor": "Font Color",
"fontfamily": "Font Family",
"fontweight": "Font Weight",
"textcontent": "Text Content",
"textshadow": "Text Shadow",
"shadowcolor": "Shadow Color",
"shadowoffsetx": "Shadow Offset X",
"shadowoffsety": "Shadow Offset Y",
"textoutline": "Text Outline",
"outlinecolor": "Outline Color",
"outlinewidth": "Outline Width",
"textglow": "Text Glow",
"glowcolor": "Glow Color",
"textanimation": "Text Animation",
"animationduration": "Animation Duration",
"scrollspeed": "Scroll Speed",
"displaytiming": "Display Timing",
"activateimmediately": "Activate Immediately",
"sidebarposition": "Sidebar Position",
"sidebarwidth": "Sidebar Width",
"maxvideos": "Max Videos",
"sortby": "Sort By",
"categoryfilter": "Category Filter",
"countdowndelayseconds": "Countdown Delay (seconds)",
"showcountdown": "Show Countdown",
"showcountdownoverlay": "Show countdown overlay",
"enablewatermark": "Enable Watermark",
"watermarkenableddescription": "Show watermark on all videos",
"enablewatermarkbranding": "Enable watermark/branding",
"watermarktype": "Watermark Type",
"watermarktext": "Watermark Text",
"textcolor": "Text Color",
"backgroundcolor": "Background Color",
"backgroundopacity": "Background Opacity",
"padding": "Padding",
"paddingpx": "Padding (px)",
"sizevideowidthpercent": "Size (% of video width)",
"horizontalmarginpx": "Horizontal Margin (px)",
"verticalmarginpx": "Vertical Margin (px)",
"alwaysvisible": "Always Visible",
"alwaysshowwatermark": "Always show watermark",
"fadeonhover": "Fade on Hover",
"fadeonuserinteraction": "Fade on user interaction",
"imageurl": "Image URL",
"imageurldescription": "URL to your watermark image (PNG with transparency recommended)",
"overlaytitle": "Overlay Title",
"overlaymessage": "Message",
"showatseconds": "Show At (seconds)",
"hideatseconds": "Hide At (seconds)",
"durationseconds": "Duration (seconds)",
"buttontext": "Button Text",
"buttonurl": "Button URL",
"dismissible": "Dismissible",
"allowuserstodismiss": "Allow users to dismiss",
"fullwidth": "Full Width",
"enablefullwidth": "Enable full width",
"enablevideoads": "Enable Video Ads",
"vasttagurl": "VAST Tag URL",
"prerollads": "Pre-roll Ads",
"enableprerollads": "Enable pre-roll ads",
"midrollads": "Mid-roll Ads",
"enablemidrollads": "Enable mid-roll ads",
"postrollads": "Post-roll Ads",
"enablepostrollads": "Enable post-roll ads",
"midrolltimeseconds": "Mid-roll Time (seconds)",
"midrollpercentage": "Mid-roll Percentage (%)",
"adtimeoutms": "Ad Timeout (ms)",
"maxaddurationseconds": "Max Ad Duration (seconds)",
"skipbuttondelayseconds": "Skip Button Delay (seconds)",
"vpaidmode": "VPAID Mode",
"volumecontrol": "Volume Control",
"enablevolumecontrol": "Enable volume control",
"autoplayadbreaks": "Autoplay Ad Breaks",
"enableautoplay": "Enable autoplay",
"clicktracking": "Click Tracking",
"enableclicktracking": "Enable click tracking",
"debugmode": "Debug Mode",
"enabledebuglogging": "Enable debug logging",
"cloudencodingservice": "Cloud Encoding Service",
"fallbackmethod": "Fallback Method",
"apikey": "API Key",
"libraryid": "Library ID",
"cdnhostname": "CDN Hostname",
"webhookurl": "Webhook URL",
"outputresolutions": "Output Resolutions",
"outputformat": "Output Format",
"storagetarget": "Storage Target",
"outputdestination": "Output Destination",
"projectid": "Project ID",
"storagebucket": "Storage Bucket",
"storageregion": "Storage Region",
"storageaccesskey": "Storage Access Key",
"storagesecretkey": "Storage Secret Key",
"storagepath": "Storage Path"
}
Select Options
{
"positiontopleft": "Top Left",
"positiontopcenter": "Top Center",
"positiontopright": "Top Right",
"positionbottomleft": "Bottom Left",
"positionbottomcenter": "Bottom Center",
"positionbottomright": "Bottom Right",
"positioncenter": "Center",
"positionscrollingtop": "Scrolling - Top",
"positionscrollingbottom": "Scrolling - Bottom",
"positionrightside": "Right Side",
"positionleftside": "Left Side",
"positionbelowplayer": "Below Player",
"overlaytypeinfo": "Info (Blue)",
"overlaytypewarning": "Warning (Orange)",
"overlaytypeerror": "Error (Red)",
"overlaytypesuccess": "Success (Green)",
"overlaytypecta": "Call-to-Action (Gradient)",
"sortmostrecent": "Most Recent",
"sortmostpopular": "Most Popular",
"sortrelatedvideos": "Related Videos",
"sortrandom": "Random",
"fontnormal": "Normal",
"fontbold": "Bold",
"vpaidenabled": "Enabled (Recommended)",
"vpaiddisabled": "Disabled (VAST only)",
"vpaidinsecure": "Insecure (Allow all VPAID)",
"scrollspeednone": "None",
"scrollspeedslow": "Slow",
"scrollspeedmedium": "Medium",
"scrollspeedfast": "Fast",
"timingcontinuous": "Continuous",
"timingrandomintervals": "Random Intervals",
"timingevery30seconds": "Every 30 Seconds",
"timingstartendonly": "Start & End Only",
"animationnone": "None",
"animationfadein": "Fade In",
"animationfadeout": "Fade Out",
"animationfadeinout": "Fade In & Out",
"animationslideleft": "Slide from Left",
"animationslideright": "Slide from Right",
"animationslideup": "Slide from Bottom",
"animationslidedown": "Slide from Top",
"animationbounce": "Bounce",
"animationblinking": "Blinking",
"animationpulse": "Pulse",
"typetext": "Text",
"typeimage": "Image",
"typehtml": "HTML",
"servicebunnystream": "Bunny Stream",
"servicecoconut": "Coconut.co",
"serviceqencode": "Qencode",
"fallbacklocal": "Local Processing",
"fallbackremote": "Remote Servers",
"fallbackqueue": "Queue for Later",
"fallbackfail": "Fail Job"
}
Buttons
{
"savesettings": "Save Settings",
"saveplayerfeatures": "Save Player Features",
"savewatermarksettings": "Save Watermark Settings",
"saveadsettings": "Save Ad Settings",
"addplayeroverlay": "Add Player Overlay",
"createoverlay": "Create Overlay",
"uploadprerollvideo": "Upload Pre-Roll Video",
"uploadpostrollvideo": "Upload Post-Roll Video",
"uploadfont": "Upload Font",
"activate": "Activate",
"deactivate": "Deactivate",
"delete": "Delete",
"refresh": "Refresh",
"copyurl": "Copy URL",
"signupbunny": "Sign Up for Bunny.net",
"signupcoconut": "Sign Up for Coconut.co",
"signupqencode": "Sign Up for Qencode",
"documentation": "Documentation"
}
Status & Messages
{
"settingssavedsuccessfully": "Settings saved successfully!",
"playerfeaturesupdated": "Player features updated successfully!",
"watermarksettingsupdated": "Watermark settings updated successfully!",
"errorsavingsettings": "Error saving settings",
"errorupdatingwatermark": "Error updating watermark",
"somefeaturesfailed": "Some features failed to update",
"changessaved": "changes saved",
"errors": "errors",
"adssystemenabled": "Enabled",
"adssystemdisabled": "Disabled",
"activeplacements": "Active Placements:",
"none": "None",
"notconfigured": "Not configured",
"copiedtoclipboard": "Copied to clipboard!",
"confirmsavesettings": "Are you sure you want to save these settings? This will affect all future video processing jobs.",
"confirmdeleteoverlay": "Are you sure you want to delete this player overlay?",
"nooverlayscreated": "No player overlays created yet. Create your first overlay above!",
"optional": "Optional",
"required": "required"
}
Feature Table Headers
{
"feature": "Feature",
"frontendmode": "Frontend Mode",
"backendmode": "Backend Mode",
"description": "Description",
"nodescription": "No description"
}
Placeholder Text
{
"placeholderjpgwebpboth": "jpg, webp, or both",
"placeholderhdhighmediumlow": "hd,high,medium,low",
"placeholderresolution1920x1080": "1920x1080",
"placeholderresolution1280x720": "1280x720",
"placeholderresolution854x480": "854x480",
"placeholderresolution640x360": "640x360",
"placeholderadminemail": "admin@example.com",
"placeholderapikey": "Your API key",
"placeholderlibraryid": "123456",
"placeholdercdnhostname": "vz-abc123.b-cdn.net",
"placeholderprojectid": "Optional project ID",
"placeholderbucketname": "my-video-bucket",
"placeholderregion": "us-east-1",
"placeholderaccesskey": "Access key",
"placeholdersecretkey": "Secret key",
"placeholderstoragepath": "videos/",
"placeholderbrandname": "Your Brand",
"placeholdercompanycopyright": "© Your Company",
"placeholderimageurl": "https://example.com/watermark.png",
"placeholdersubscribenow": "e.g., Subscribe Now!",
"placeholderpremiumcontent": "e.g., Get unlimited access to premium content",
"placeholderlearnmore": "e.g., Learn More",
"placeholderexampleurl": "https://example.com",
"placeholdercategoryids": "e.g., 1,2,5",
"placeholderwidthpercentage": "e.g., 300px or 20%",
"placeholdervasttag": "e.g., 30",
"placeholdertime": "e.g., 30",
"placeholderpercentage": "50"
}
VPAID Help Text
{
"vpaidhelptext": "VPAID enables interactive ads but requires JavaScript execution"
}
Pre-Roll & Post-Roll Tab
{
"currentprerollvideo": "Current Pre-Roll Video",
"currentpostrollvideo": "Current Post-Roll Video",
"uploadnewpreroll": "Upload New Pre-Roll Video",
"uploadnewpostroll": "Upload New Post-Roll Video",
"videofile": "Video File",
"mp4recommended": "MP4 recommended for best compatibility",
"status": "Status",
"filename": "Filename"
}
Video Overlays Tab
{
"addnewoverlay": "Add New Overlay",
"selectoverlaytype": "Select Overlay Type",
"imageoverlay": "Image Overlay",
"imageoverlaydescription": "Upload PNG/GIF file (transparent PNG recommended)",
"textoverlay": "Text Overlay",
"textoverlaydescription": "Scrolling or static text watermark",
"existingoverlays": "Existing Overlays",
"managecustomfonts": "Manage Custom Fonts",
"uploadnewfont": "Upload New Font",
"acceptsttfotf": "Accepts TTF or OTF files",
"availablefonts": "Available Fonts",
"customfont": "Custom Font",
"systemfonts": "System Fonts",
"defaultfont": "Default"
}
Playlist UI Customization
{
"playlistitemstyle": "Playlist Item Style",
"thumbnailsize": "Thumbnail Size",
"showduration": "Show Duration",
"showviews": "Show Views",
"hovereffect": "Hover Effect",
"activeitemindicator": "Active Item Indicator"
}
Video View Limits
{
"viewlimitsdescription": "Control how many videos guests and free users can watch before requiring registration or upgrade.",
"guestviewlimit": "Guest View Limit",
"guestviewlimitdescription": "Number of videos guests can watch before prompting registration (0 = unlimited)",
"freeuserviewlimit": "Free User View Limit",
"freeuserviewlimitdescription": "Number of videos free users can watch per day before prompting upgrade (0 = unlimited)",
"limitresetperiod": "Limit Reset Period",
"limitresetdescription": "How often the view counter resets",
"daily": "Daily",
"weekly": "Weekly",
"monthly": "Monthly",
"never": "Never"
}
Upgrade Prompt Customization
{
"upgradeprompttitle": "Upgrade Prompt Title",
"upgradepromptmessage": "Upgrade Prompt Message",
"upgradebuttontext": "Upgrade Button Text",
"upgradebuttonurl": "Upgrade Button URL",
"showregisteroption": "Show Register Option",
"registeroptiontext": "Register Option Text"
}
Related Documentation
- Video Upload & Processing System - How videos are processed
- Storage Server System - CDN and file storage
- Conversion Servers - Distributed processing configuration
- Video Management - Video listing and management
String Count Summary
Last Updated: 2026-01-04*