ComusThumbz 文档
管理员登录

Video Admin Details

Overview

The Video Admin Details page is a comprehensive modal-based interface for viewing and editing all aspects of a single video. It provides administrators with a complete view of video metadata, technical specifications, engagement statistics, media assets, storage locations, and more - all in a single, organized interface.

This page is typically accessed as a modal overlay from the main Video Admin listing page (Admin Panel → Content → Videos) by clicking on a video's detail icon or preview.

[Screenshot: video-admin-details-full-modal-view]

Key Capabilities

  • Inline Editing - Edit video title, description, and metadata fields directly with auto-save
  • Video Playback - Built-in Video.js player with HLS streaming support, sprite thumbnails, and debug console
  • Technical Analysis - View codec information, resolution, bitrate, duration, and file sizes
  • Engagement Metrics - Track views, likes, dislikes, comments, ratings, impressions, clicks, and CTR
  • Analytics Dashboard - Performance trends with sparkline charts and category comparisons
  • Media Asset Management - Preview poster, thumbnails, animated GIF, contact sheet, and preview video
  • Chapter Management - Add, edit, and delete video chapters/markers with timestamp syncing
  • Category/Tag/Model Assignment - Manage video associations with intuitive tag-style UI
  • Storage Server Migration - Move video files between CDN/storage servers
  • SEO Configuration - Full meta tags, Open Graph, and Twitter Card settings
  • Report Management - View and process user reports (copyright, broken video, etc.)
  • Customizable Layout - Drag-and-drop section ordering with visibility toggles

System Requirements

 

Configuration Required:
This page requires the following system dependencies to function properly.

 

PHP Requirements

Requirement Minimum Recommended Notes
PHP Version 8.0 8.3+ Uses stricttypes and modern syntax
memorylimit 128M 256M For large video metadata processing
maxexecutiontime 60 120 Standard for modal display
session.autostart Off Off Uses custom session handler

Required PHP Extensions

Extension Required Purpose
mysqli Yes Database connectivity
json Yes API responses, configuration parsing
mbstring Yes Multibyte string handling for titles
session Yes User authentication
date Yes Date/time formatting and calculations

Required PHP Functions

Function Required Purpose
sessionstart() Yes Session management
jsonencode() / jsondecode() Yes Data serialization
date() / strtotime() Yes Date formatting
gmdate() Yes Duration formatting
numberformat() Yes Display formatting
bin2hex() / randombytes() Yes CSRF token generation

External Dependencies

Dependency Required Purpose
Video.js 8.10+ Yes Video player (CDN-loaded)
Material Icons Yes Button icons (Google Fonts CDN)
videojs-hotkeys Recommended Keyboard shortcuts for player
videojs-sprite-thumbnails Recommended Scrubbing preview thumbnails
videojs-playlist Optional Playlist sidebar functionality

Database Requirements

  • MySQL/MariaDB 5.7+ or 8.0+
  • InnoDB engine (for transaction support)
  • utf8mb4 character set

Folder Permissions

Folder Permission Purpose
ct/admin/js/ 755 Player JavaScript files
ct/admin/css/ 755 Stylesheets
ct/uploads/ 755 Media asset access

Features & UI Elements

Modal Header

[Screenshot: video-admin-details-header]

The modal header displays:

  • Video ID Badge - Shows the numeric videoid in a green badge
  • Editable Title - Click to edit the video title inline (contenteditable)
  • Close Button - X button to close the modal

 

Card Visibility & Order Panel

[Screenshot: video-admin-details-visibility-panel]

A green gradient panel at the top provides control over which sections are visible and their display order:

Toggle Section Controlled
Player Video Player section
Technical Technical Details
Engagement Engagement Statistics
Analytics Analytics & Performance
Thumbnails Thumbnail gallery
Chapters Video Chapters & Markers
Media Media Assets
Metadata Additional Metadata
Schedule Schedule settings
Sponsors Sponsors & Monetization
SEO & Social SEO & Social Media
Production Production Details
Content Flags Content Flags & Optimization
User Reports User Reports
Storage Server Storage Server Location
File Paths File Paths (CDN URLs)
Tip: Drag the toggle cards to reorder sections. Your preferences are saved to localStorage and persist across sessions.

Video Player Section

[Screenshot: video-admin-details-player]

A fully-featured Video.js player with:

Debug Stats Panel

Shows real-time playback information:

  • Current Source - HLS or MP4
  • HLS Quality - Current bitrate/resolution
  • Player State - Playing, Paused, etc.
  • Buffered - Buffer percentage
  • Errors - Error count

Player Features

  • HLS adaptive streaming support
  • MP4 fallback
  • Poster image display
  • Sprite thumbnail scrubbing
  • Keyboard hotkeys (space, arrows, etc.)
  • Quality selector (for HLS)
  • Debug console toggle

Playlist Sidebar

Optional sidebar showing related videos (if enabled in player features).

 

Note: The player operates in "backend mode" which may have different features enabled compared to the frontend player.

 

Basic Information Section

[Screenshot: video-admin-details-basic-info]

Field Type Description
Title Contenteditable Video title (full width)
Status Dropdown pending, processing, active, error, deleted
Access Type Dropdown free, members, subscription, ppv, private
Video Quality Display Detected quality level
Upload Date Display When video was uploaded
Publish Date Display When video was published
Last Updated Display Last modification date
Description Textarea Full video description

Technical Details Section

[Screenshot: video-admin-details-technical]

Field Value Example Notes
Duration 01:23:45 (5025 seconds) Formatted + raw
Resolution 1920 × 1080 Width × Height
FPS 30 fps Frames per second
Bitrate 5,000,000 bps (5000.00 Kbps) Bits per second
File Size 750.25 MB Megabytes
Codec h264 Video codec
Audio Codec aac Audio codec
Import Mode Dropdown downloadkeep, downloadprocessdelete, embed, hotlinkonly
Language Text input Language code

Engagement Statistics Section

[Screenshot: video-admin-details-engagement]

A grid of stat cards showing:

Stat Description Override Available
Views Actual view count Yes
Likes Actual likes Yes
Dislikes Actual dislikes Yes
Comments Comment count No
Rating Star rating (1-5) Vote count override
Downloads Download count Yes
Impressions Total impressions No
Clicks Total clicks No
CTR Click-through rate No (calculated)
Tip: Override fields allow you to set a minimum display value for social proof. The actual tracked value is always shown separately.

Analytics & Performance Section

[Screenshot: video-admin-details-analytics]

Collapsible section with tabs:

Performance Tab

  • Watch Time & Engagement - Average watch time, completion rate, bounce rate
  • Views Trend - 30-day sparkline chart with totals
  • Activity & Resources - Last viewed time, bandwidth used

Processing Tab

  • Processing status indicator (pending, processing, active, error)
  • Timeline showing start/complete times
  • Processing duration
  • Import mode used

Playlists Tab

  • List of playlists containing this video
  • Position in each playlist

Status Badges

  • Trending badge (if score > 70)
  • Optimized badge (if SEO optimized)
  • Flagged badge (if reports exist)
  • Processing badge (if currently processing)

Thumbnails Section

[Screenshot: video-admin-details-thumbnails]

Gallery grid of all video thumbnails with:

  • Primary indicator - Animated green/red border on main thumbnail
  • Set Main button (M) - Make this the poster image
  • Delete button (D) - Remove thumbnail from CDN
  • Sequence number - Display order
  • Timestamp - When in video the thumbnail was captured
  • Lightbox - Click to view full size

 

Warning: Deleting a thumbnail removes it from the storage server permanently. This action cannot be undone.

 

Video Chapters & Markers Section

[Screenshot: video-admin-details-chapters]

Chapter management with video sync:

Playback Info Panel

  • Current video time display (updates live)
  • Video duration display
  • "Add Chapter Here" button - captures current timestamp

Chapter Controls

  • Add Chapter Manually - Opens form without timestamp
  • Refresh - Reload chapter list from database

Chapter Grid

Each chapter card shows:

  • Chapter number
  • Clickable timestamp (jumps to position)
  • Title
  • Description (if set)
  • Edit button
  • Delete button

Chapter Form

When adding/editing:

  • Timestamp display with formatted time
  • "Update from Player" - Sync current position
  • "Preview" - Jump player to entered time
  • Title field (required)
  • Description field (optional)
  • Timestamp in seconds (required)
  • Display order (optional override)
  • Save/Cancel buttons

Media Assets Section

[Screenshot: video-admin-details-media-assets]

Grid of additional media files:

Asset Description Actions
Preview Video Short clip for hover preview Plays on hover
Poster Image Main thumbnail image Click to lightbox
Animated GIF Animated preview loop Click to lightbox
Contact Sheet Frame montage grid Click to lightbox

Additional Metadata Section

Field Type Description
Featured Checkbox Mark as featured video
HLS Enabled Checkbox HLS streaming available
CDN Distributed Checkbox Files on CDN
Original File Deleted Display Original removed after processing
Source URL Text input Original source location
Uploader Text input Uploader name

Schedule Section

Field Type Description
Start Date Datetime picker When video becomes visible
End Date Datetime picker When video becomes hidden

Sponsors & Monetization Section

Field Type Description
Primary Sponsor Dropdown Main sponsor selection
Sub-Sponsor Dropdown Loads based on primary sponsor
Cam Site Dropdown Associated cam site
Price Number PPV price
Currency Dropdown USD, EUR, GBP, CAD, AUD, JPY
Note: Sub-sponsors automatically load via AJAX when the primary sponsor is changed.

SEO & Social Media Section

[Screenshot: video-admin-details-seo]

Field Max Length Description
Meta Title 70 chars SEO title tag (with counter)
Meta Description 160 chars SEO description (with counter)
Meta Keywords - Comma-separated keywords
URL Slug - SEO-friendly URL path
Open Graph Title - Facebook/LinkedIn share title
Open Graph Description - Facebook/LinkedIn share description
Open Graph Image - Social share image URL
Twitter Title - Twitter card title
Twitter Description - Twitter card description
Twitter Image - Twitter card image URL

Production Details Section

Field Type Description
Release Date Date picker Official release date
Production Year Number (1900-2100) Year produced
Studio Text input Production studio
Director Text input Director name
Producer Text input Producer name
Series Name Text input Series/show name
Episode Number Number Episode in series
Season Number Number Season number
Orientation Dropdown landscape, portrait, square

Content Flags & Optimization Section

Field Type Description
Copyright Claimed Checkbox Has copyright claim
DMCA Notices Number Count of DMCA notices
SEO Optimized Checkbox SEO configuration complete
Social Media Optimized Checkbox Social tags configured
Mobile Optimized Checkbox Mobile-friendly

User Reports Section

[Screenshot: video-admin-details-reports]

Shows all user reports for this video with:

  • Report count badge in header
  • Report reason (copyright, broken video, etc.)
  • Status badge (pending, reviewed, resolved, dismissed)
  • Report date/time
  • Reporter username (if logged in)
  • IP address
  • Details text
  • Admin notes (if added)
  • Action buttons: Mark Reviewed, Resolve, Dismiss

 

Warning: Always investigate reports before dismissing. DMCA and copyright reports may have legal implications.

 

Admin Notes Section

Large textarea for internal administrative notes. Auto-saves on blur.

Categories, Tags, and Models Section

Three-column layout for associations:

Categories Card

  • Display of assigned categories as badges
  • Click X to remove
  • Dropdown selector to add (max 10)
  • Add button

Tags Card

  • Display of assigned tags as badges
  • Click X to remove
  • Text input with Enter to add
  • Suggestions button for popular tags
  • Add button

Models Card

  • Display of assigned models as badges
  • Click X to remove
  • Search input with autocomplete
  • Results dropdown with "Create new" option

Storage Server Location Section

[Screenshot: video-admin-details-storage]

Shows current storage information:

  • Current server name and type
  • Server group
  • Health status indicator
  • Total file count

 

Migration Controls

  • Destination server dropdown (grouped by server group)
  • Health status icons in dropdown
  • "Migrate All Files" button
  • Confirmation dialog before migration

 

Warning: Storage migration moves files between CDN servers. This process may take time for large files and cannot be interrupted.

 

File Paths Section

Lists all CDN/storage URLs for the video:

  • Main Video (Web MP4)
  • Poster Image
  • Preview Video
  • Animated GIF
  • Contact Sheet
  • HLS Master Playlist
  • Sprite Image
  • Sprite VTT

 

All paths are clickable links that open in new tabs.

[Screenshot: video-admin-details-footer]

Button Action
Close Closes modal without additional action
Save All Changes Confirms auto-saved data (visual feedback)
Open in Main Admin Opens video.admin.php filtered to this video

Step-by-Step Usage

Viewing Video Details

  1. Navigate to Admin Panel → Content → Videos
  2. Find the video you want to view
  3. Click the video thumbnail, title, or detail icon
  4. The Video Admin Details modal opens

Editing Basic Information

  1. Click on any field with a dashed border (editable fields)
  2. Make your changes
  3. Click outside the field or press Tab
  4. Changes auto-save immediately
  5. Console shows "Field 'fieldname' auto-saved successfully"

Managing Thumbnails

Set Main Thumbnail

  1. Scroll to Thumbnails section
  2. Find the desired thumbnail
  3. Click the green "M" badge
  4. Confirm the action
  5. The thumbnail gets the animated border indicating it's primary

Delete Thumbnail

  1. Click the red "D" badge on the thumbnail
  2. Confirm deletion
  3. Thumbnail is removed from CDN and database

Adding Video Chapters

Add at Current Time

  1. Play the video to the desired timestamp
  2. Click "Add Chapter Here" in the chapters section
  3. Enter a title and optional description
  4. Click "Save Chapter"

Add Manually

  1. Click "Add Chapter Manually"
  2. Enter timestamp in seconds
  3. Click "Preview" to verify position
  4. Enter title and description
  5. Click "Save Chapter"

Managing Categories/Tags/Models

Add Category

  1. Select category from dropdown
  2. Click "+ Add"
  3. Category badge appears

Remove Category

  1. Click X on the category badge
  2. Category is removed (auto-saved)

Add Tag

  1. Type tag in input field
  2. Press Enter or click "+ Add"
  3. Tag badge appears

Add Model

  1. Type model name in search field
  2. Wait for autocomplete results
  3. Click on desired model
  4. Or click "Create new model" option

Migrating Storage Server

  1. Scroll to Storage Server Location section
  2. Select destination server from dropdown
  3. Click "Migrate All Files"
  4. Confirm the migration
  5. Wait for completion (page reloads)

Processing User Reports

  1. Scroll to User Reports section
  2. Review the report details
  3. Click one of:
  • Mark Reviewed - Acknowledge receipt
  • Resolve - Issue fixed
  • Dismiss - Invalid report
  1. Page reloads with updated status

Troubleshooting

Common Errors

 

Error:
Error: "Invalid video ID"
The video
id parameter is missing or invalid. Ensure you're accessing the page with a valid ?videoid=123 parameter.

 

 

Error:
Error: "Video not found"
The specified video
id does not exist in tblVideos. The video may have been deleted.

 

 

Error:
Error: Video player shows black screen
  • Check if the video file exists at the CDN URL
  • Verify HLS master playlist is accessible
  • Check browser console for 404 errors
  • Try toggling to MP4 fallback

 

 

Error:
Error: "Failed to save models"
  • Check that ajax/savevideofield.php exists
  • Verify CSRF token is valid
  • Check browser console for network errors

 

 

Error:
Error: Chapters not loading
  • Verify tblVideoChapters table exists
  • Check ajax/managechapters.php permissions
  • Look for JavaScript errors in console

 

 

Error:
Error: Storage migration fails
  • Verify target server is healthy
  • Check server has sufficient space
  • Ensure source files exist
  • Review storage server logs

 

Video Player Issues

Issue Solution
No playback Check CDN URLs in File Paths section
Poor quality Verify HLS variants exist
Buffering Check server health status
No scrub preview Verify sprite.jpg and sprite.vtt URLs
Hotkeys not working Ensure videojs-hotkeys loaded

Auto-Save Issues

Issue Solution
Changes not saving Check browser console for errors
CSRF token expired Refresh the page
Network errors Verify ajax endpoints accessible
Field not editable Check for data-field attribute

Translatable Strings

The following text elements should be added to backendtranslations.md:

Section Headers

  • "Video Player"
  • "Basic Information"
  • "Technical Details"
  • "Engagement Statistics"
  • "Analytics & Performance"
  • "Thumbnails"
  • "Video Chapters & Markers"
  • "Media Assets"
  • "Additional Metadata"
  • "Schedule"
  • "Sponsors & Monetization"
  • "SEO & Social Media"
  • "Production Details"
  • "Content Flags & Optimization"
  • "User Reports"
  • "Admin Notes"
  • "Categories"
  • "Tags"
  • "Models"
  • "Storage Server Location"
  • "File Paths"

Field Labels

  • "Title"
  • "Status"
  • "Access Type"
  • "Video Quality"
  • "Upload Date"
  • "Publish Date"
  • "Last Updated"
  • "Description"
  • "Duration"
  • "Resolution"
  • "FPS"
  • "Bitrate"
  • "File Size"
  • "Codec"
  • "Audio Codec"
  • "Import Mode"
  • "Language"
  • "Views"
  • "Likes"
  • "Dislikes"
  • "Comments"
  • "Rating"
  • "Downloads"
  • "Impressions"
  • "Clicks"
  • "Click-Through Rate (CTR)"
  • "Featured"
  • "HLS Enabled"
  • "CDN Distributed"
  • "Original File Deleted"
  • "Source URL"
  • "Uploader"
  • "Start Date"
  • "End Date"
  • "Primary Sponsor"
  • "Sub-Sponsor"
  • "Cam Site"
  • "Price"
  • "Currency"
  • "Meta Title"
  • "Meta Description"
  • "Meta Keywords"
  • "URL Slug"
  • "Open Graph Title"
  • "Open Graph Description"
  • "Open Graph Image"
  • "Twitter Title"
  • "Twitter Description"
  • "Twitter Image"
  • "Release Date"
  • "Production Year"
  • "Studio"
  • "Director"
  • "Producer"
  • "Series Name"
  • "Episode Number"
  • "Season Number"
  • "Orientation"
  • "Copyright Claimed"
  • "DMCA Notices"
  • "SEO Optimized"
  • "Social Media Optimized"
  • "Mobile Optimized"

Button Labels

  • "Save All Changes"
  • "Close"
  • "Open in Main Admin"
  • "Add Chapter Here"
  • "Add Chapter Manually"
  • "Refresh"
  • "Save Chapter"
  • "Cancel"
  • "Update from Player"
  • "Preview"
  • "Migrate All Files"
  • "Mark Reviewed"
  • "Resolve"
  • "Dismiss"
  • "+ Add"
  • "Suggestions"

Status Values

  • "Pending"
  • "Processing"
  • "Active"
  • "Error"
  • "Deleted"
  • "Free Access"
  • "Members Only"
  • "Subscription Required"
  • "Pay-Per-View (PPV)"
  • "Private Access"

Messages

  • "Loading..."
  • "No categories assigned"
  • "No tags assigned"
  • "No models assigned"
  • "No chapters yet. Click 'Add Chapter' to create one."
  • "No user reports for this video"
  • "All Changes Auto-Saved!"
  • "Error: Video ID not found"
  • "Please enter a chapter title"
  • "Please enter a valid timestamp"

Tooltips

  • "Set as main thumbnail"
  • "Delete thumbnail"
  • "Click to jump to this time"
  • "Edit"
  • "Delete"

  • Video Admin - Main video listing and management
  • Video Processing - Batch processing queue
  • Storage Servers - CDN/storage server management
  • Categories - Category management
  • Models - Model/performer management
  • Player Settings - Video player configuration

Version History

Version Date Changes
1.0.0 2026-01-04 Initial documentation