EventSync Documentation
Synchronized video playback and interactive experiences across hundreds of iPads and Apple TVs for live events.
Overview
EventSync coordinates video content and interactive modules across iPad and Apple TV devices with frame-accurate synchronization. Whether you're running a gala dinner with table iPads, a conference with audience participation, or an immersive experience with hundreds of devices, EventSync keeps everything in perfect sync.
Key Capabilities
- Synchronized Playback – Frame-accurate video sync across all devices
- LiveSync Streaming – Low-latency live video (~250ms) to devices
- Interactive Modules – Polling, Q&A, auctions, photo booths, and more
- Flexible Grouping – Different content to different zones (tables, LED walls, backstage)
- Automatic Transcoding – Optimized versions for iPad and Apple TV
- Show Control – Cue-based triggering with external protocol support
Architecture
EventSync consists of three server components and a Dashboard for control, all launched from the EventSync Launcher.
Components
| Component | Port | Purpose |
|---|---|---|
| EventSync Server | 8080 | Main sync server – handles device connections, content distribution, cue triggering |
| LiveSync Server | 8081 | Low-latency live video streaming to devices |
| Dashboard | — | Control interface for configuration and show operation |
EventSync Launcher
The Launcher starts all three components in sequence. For typical single-Mac setups, click Start All and you're ready. For distributed setups (e.g., servers on one Mac, Dashboard on another), components can be launched individually.
Device Discovery
Devices discover the EventSync Server automatically via Bonjour (_eventsync._tcp). No manual IP configuration required on iPads – they find the server and connect.
Workflow
EventSync follows a three-stage workflow:
Configure – Set up your server connection, create events, define groups for different device zones.
Curate – Import content, manage transcoding, configure modules and LiveSync streams.
Coordinate – Build cue lists, monitor connected devices, run the show.
Settings
The Settings page configures server connection, network interfaces, licensing, and global preferences.
Settings page showing server connection and network configuration
Server Connection
The Dashboard auto-discovers EventSync Servers via Bonjour. Discovered servers show their IP address, port, version, role (Primary/Backup), and connection status. Use the Scan button if auto-discovery doesn't find your server.
Network Configuration
For reliable operation, we recommend a dual-network setup:
- EventSync Network – Isolated network for iPad/device communication
- WAN (Internet) – Separate interface for licensing and updates
Select your network interfaces from the dropdown. The server supports USB Ethernet adapters, Wi-Fi, Thunderbolt, and multiple adapters. Changes require Save & Restart.
💡 Best Practice
Use dedicated event network infrastructure (UniFi or similar) isolated from venue internet. This prevents bandwidth contention and ensures reliable multicast/streaming.
Content Settings
Simultaneous Transcodes (1–10) – How many videos to transcode at once. Higher values speed up import but use more CPU. Tune based on your Mac's capabilities.
Distribution Settings
Concurrent Devices (1–100) – How many iPads to distribute content to simultaneously. Better network = higher value. This controls distribution speed vs. network load.
Pre-distribute Content – When enabled (with Auto-Distribute), content is sent to devices as soon as they connect, before group assignment. Useful for pre-loading hundreds of iPads, then assigning groups on event day based on physical placement.
Cue Settings
Global Cue Buffer (0.2s–3.0s, default 2.0s) – Time between triggering a cue and playback starting. Gives devices time to prepare for synchronized playback.
Content, Distribution, and Cue settings
💡 Cue Buffer Tuning
With a well-configured network following our recommendations, buffer times of 0.2–0.5 seconds are achievable for snappy cue response. The 2 second default is conservative. Per-group adjustments available in Group settings.
Import / Export
Export your entire event (content, groups, modules, cues, LiveSync setup) to a .eventsync file. Always keep backups! Import creates a new event from the file.
Client Log Reporting
Pull logs from iPad clients back to the server for troubleshooting. Configure by log level (Debug/Info/Warning/Error) and target specific groups.
⚠️ Network Impact
Client log reporting adds network traffic. Enable only for troubleshooting specific groups, then disable before show time.
Client App Settings
Configure the hidden Operator Menu on iPad clients. Access by tapping 5 times on the device. Can be passcode-protected (default: 1234).
Client App Settings and About section
The Operator Menu provides:
- Deregister Device – Remove from current group, allow re-selection
- Identify on Dashboard – Flash this device in the Clients view
- Clear Cache – Remove downloaded content (individual items or all)
iPad Operator Menu (tap 5 times to access)
Support
Two options for getting help:
- Email to Support – Copies template and log file for manual email to support@eventsync.co.uk
- Upload to EventSync – Direct upload with issue description. Includes system info automatically.
About
Shows version numbers for Dashboard, Server, LiveSync, and Client Apps. Useful when contacting support.
Events
An Event is the top-level container for your show – it holds all groups, content, modules, and cues.
Events page showing Active and Inactive events
Managing Events
Events display as cards showing Active/Inactive status and last modified date. Only one event can be active at a time.
- Create Event – Enter event name
- Make Active – Switch to a different event
- Edit Event – Change name, set background image
- Delete Event – Remove event and all its data
Background Image
The event background image displays on devices when idle (between cues). Select from images uploaded to Content. Individual groups can override this.
Event card showing custom background image
Groups
Groups organize devices into logical zones that receive the same content. Examples: "Table 1", "LED Wall", "Operator iPad", "Backstage Monitor".
Groups page showing device counts per group
Group List
Groups display as cards showing device count and lock status. Create as many groups as needed for your event layout.
Group Settings
Edit Group dialog with playback target, device settings, and orientation options
Playback Target
Lock a group to only play specific content (a cue stack or module). Useful for groups that should ignore general cues.
Device Join Settings
Automatically configure devices when they join this group:
- Set Volume on Join – Auto-set device volume (0–100%)
- Set Brightness on Join – Auto-set screen brightness (0–100%)
Orientation Lock
Force device orientation for this group: Any Orientation, Portrait, or Landscape.
Zoom Settings
Disable Pinch-to-Zoom – Prevents audience from zooming content. LiveSync cues can override individually.
Cue Timing
Cue Buffer Offset – Adjust timing relative to global cue buffer. Negative = play earlier, Positive = play later. Fine-tune sync for different network conditions per zone.
Override Event Background Image
Set a custom idle image for this group instead of the event default.
Content
The Content page manages all media for your event – videos and images that will play on devices.
Content library showing videos and images with transcoding status
Content Library
Content displays as cards showing thumbnail, type (VIDEO/IMAGE), resolution variants, file sizes, duration, and frame rate. Status badges show Ready/Processing/Queued/Failed.
Importing Content
Click Import to add media files. Supported formats include MP4, PNG, JPG, GIF. When importing:
- The original file is copied into EventSync's folder structure
- The event becomes self-contained (no external dependencies)
- Transcodes are saved alongside originals
Use Locate Files if EventSync's files have been moved and need reconnecting.
Transcoding
EventSync creates optimized versions for each device type:
| Version | Resolution | Use Case |
|---|---|---|
| Original | As imported | Source file (required) |
| iPad Universal | 2732×2048 | Optimized for all iPad models |
| Apple TV | 3840×2160 | 4K for TV displays |
Select which versions to create when editing content. Transcoding happens in background based on your Simultaneous Transcodes setting.
Edit Content
Edit Content dialog with preview, metadata, and transcoding options
- Video Preview – Scrub through video, preview playback
- Set Thumbnail – Choose any frame as the thumbnail
- Display Name – Rename for easier identification
- Tags – Organize content with searchable tags
- Transcoding Resolutions – Select which versions to create
Distribution
Distribution pushes content from the server to connected devices. Content must be distributed before it can play.
Distribution page with Auto-Distribute enabled
Auto-Distribute (Recommended)
With Auto-Distribute: On, content is automatically sent to all connected devices with the appropriate transcoded version. Devices are ready to play any content regardless of which group they're assigned to.
Manual Distribution
For complex workflows, manually distribute content to specific groups:
- Resolution – Auto (Best Match), Original, iPad Universal, or Apple TV
- Target Groups – All Groups or select specific groups
Use cases: "Only LED Wall needs this 4K video" or "Tables only need the smaller version".
Distribution Status
Content cards show distribution status:
- Synced – Content is on devices and ready
- Not Distributed – Content hasn't been sent yet
- X On Devices – Number of devices with this content
Modules
Modules are interactive features that run alongside or instead of video playback. EventSync includes 11 built-in modules.
Built-in modules with Index, Control, and Results views
Built-in Modules
| Module | Description |
|---|---|
| Auction | Live bidding with real-time updates |
| Countdown Timer | Visual countdown display with color triggers |
| Group Photo | Coordinated photo capture |
| Guest List | Attendee information and check-in |
| Happy Face Survey | Quick emoji-based feedback (sad/neutral/happy) |
| Leaderboard | Scoring and rankings display |
| PhotoBooth | Self-service photo capture |
| Polling | Audience voting with live results |
| Q&A | Audience questions with moderation |
| Raise Your Hand | Audience attention indicator with queue |
| Word Cloud | Aggregated text responses |
Module Views
Each module has three views that can be sent to different device groups:
- Index – Guest-facing interactive view (voting, photo taking, answering)
- Control – Operator view for setup and moderation
- Results – Display view showing outcomes (poll results, word cloud, photos)
💡 Example: PhotoBooth Setup
Index → "PhotoBooth iPad" group (the actual booth)
Control → "Operator" group (backstage moderation)
Results → "LED Wall" group (display photos to room)
The purple Index, Control, and Results buttons on each module card open those views directly in the Dashboard – operate modules and monitor results without needing separate iPads.
Module Management
- Enabled/Disabled toggle – Turn modules on when needed
- ModuleSync indicator – Real-time state sync across devices
- Edit – Configure module settings
- Assets – Upload module-specific media (backgrounds, logos)
- Duplicate – Create a copy with same settings
💡 Multiple Instances
Built-in modules cannot be deleted (they're templates). To run multiple instances – e.g., two different surveys or photo booths at different locations – use Duplicate to create copies. Duplicates can be deleted.
Common Module Features
Most modules share these control options:
- Appearance – Background color, text color, custom images
- Response Settings – Allow multiple responses, anonymous mode
- Data Export – Export responses to CSV or JSON with timestamps
- Reset – Clear responses/reset to defaults
- Apply Settings – Push changes to connected devices
Happy Face Survey
Quick three-option feedback using emoji faces.
Happy Face Survey – Index view (guest-facing)
Happy Face Survey – Results view with live counts
Control options:
- Question text and thank you message
- Allow multiple responses toggle
- Face customization – change colors or use custom images
- Export responses to CSV/JSON
Countdown Timer
Synchronized countdown display across all devices.
Countdown Timer – Index view (clean display)
Countdown Timer – Control view
Control options:
- Start / Stop / Reset controls
- Set time (hours:minutes:seconds)
- Countdown or count-up mode
- Broadcast message – display text on all devices
- Color triggers – change timer color at specific times (e.g., green at 60s, orange at 30s, red at 10s)
- Display colors – background and text
Raise Your Hand
Audience attention and participation tracking.
Raise Your Hand – Index view (tap to raise)
Raise Your Hand – Control view with queue
Control options:
- Queue Mode – Number hands by order raised
- Categories – Question, Comment, Help, etc.
- Anonymous – Hide names, show count only
- Auto-Lower – Lower hand when acknowledged
- Lock Hand Raising – Prevent new hands
- Clear All Hands – Reset
Custom Modules
Beyond the built-in modules, you can create fully custom interactive experiences using HTML5.
Create Module dialog with HTML editor for each view
Custom modules use the same three-view structure:
- Index (required) – Guest-facing HTML, displayed fullscreen on iPads. Use
EventSync.send(data)to submit responses. - Control (optional) – Dashboard controls. Use
EventSync.send(state)to update module state. - Results (optional) – Aggregated response display in the dashboard.
Features:
- Full HTML/CSS/JavaScript support
- Preview button to test each view
- Results auto-refresh every 2 seconds
- Use External URL – Load content from an external website instead of stored HTML:
- Proxied – Server fetches, caches, and serves to iPads (maintains air-gap – iPads only talk to EventSync server)
- Direct – iPads load URL themselves (event network must provide internet/WiFi access)
💡 Use Cases
Custom modules let you build anything: branded quiz games, custom voting interfaces, integration with external systems, or embed existing web applications directly on event iPads.
LiveSync
LiveSync streams live video to devices with approximately 250ms latency (in ideal network conditions). Use for presentations, IMAG, accessibility, or any real-time video source.
LiveSync page showing 4 available streams with settings panel
LiveSync Server
LiveSync runs on port 8081 as a separate component from the main EventSync Server. You can configure between 1 and 4 simultaneous streams. Status indicators show:
- Connected – LiveSync Server is running and reachable
- Disconnected – Server not running, use Retry Connection
- X/Y LiveSyncing – Active streams out of total configured
- X Clients – Devices currently receiving live streams
Use Cases
- Presentation slides – Stream PowerPoint/Keynote to table iPads. Enable zoom in LiveSync cues so guests can pinch-to-zoom on detailed content like financial reports.
- Restricted view seating – Send live video feed of the stage to seats with obstructed views.
- Accessibility – Stream audio and video with subtitles for hearing-impaired guests. Guests can connect Bluetooth hearing aids to their iPad for direct audio.
- Live demos – Closeup camera shots of product demonstrations, cooking shows, or detailed work.
Stream Configuration
Each LiveSync stream can be independently configured:
LiveSync with video and audio sources configured, ready to stream
Sources:
- Video – Any video input to the Mac: capture cards (Magewell, Blackmagic, Elgato), UVC cameras, iPhone via Continuity Camera, or software sources like NDI and SRT feeds
- Audio – Any audio input, or None for silent streams
Quality:
- Resolution – Output resolution (1080p, 720p, etc.)
- Frame Rate – 30 fps typical for presentations, 60 fps for smoother motion
- Bitrate – 8-12 Mbps recommended (higher = better quality, more bandwidth)
Controls
- Start All / Stop All – Control all streams at once
- Play/Stop per stream – Individual stream control in the list
- Monitor: On/Off – Toggle local preview (disable to save resources)
💡 Typical Setup
Any video source visible to macOS can be streamed: connect a capture card for HDMI from your presentation laptop or camera switcher, use an iPhone as a Continuity Camera, or route NDI/SRT feeds from your video production system. Select your source, configure quality based on network capacity, then trigger LiveSync cues to send streams to device groups.
Cues
Cues are the commands that control what plays on devices. Build cue lists to run your show.
Cues page with Cue Stacks panel and cue list
Cue Stacks
Cue Stacks are separate cue lists – like different rundowns for different parts of your event. New events include a default Main Cue Stack. Create additional stacks for pre-show, breakout sessions, backup sequences, etc.
Create New Cue Stack dialog
Cue Types
EventSync provides 13 cue types across four categories:
All available cue types
Content Cues:
- Video – Play video content on devices
- Image – Display static image
- Module – Show module view (Index, Control, or Results)
- Colour – Display solid colour
Playback Control:
- Pause – Pause current playback
- Resume – Resume paused playback
- Stop – Stop playback entirely
- Seek – Jump to specific position in video
Flow Control:
- Wait – Pause cue execution for specified time
- Go To – Jump to different cue in the stack
Device Control:
- Volume – Set device volume
- Brightness – Set screen brightness
Streaming:
- LiveSync – Start/stop live video stream to devices
Cue Configuration
Configuring a Video cue
Common options across cue types:
- Cue Name – Label for identification in the cue list
- Target – All Devices or Specific Groups
- Auto-follow – Automatically trigger the next cue when this one completes
Video/Image Playback Settings:
- Content – Select from imported content
- Start Position – Begin playback from specific timecode
- Fade In / Fade Out – Transition duration in seconds
- When Video Ends – End behavior:
- Transition to Idle – Return to event background
- Hold Last Frame – Freeze on final frame
- Loop (Synchronized) – Repeat playback in sync across devices
Running Cues
Cue list with GO and Stop controls
- GO – Trigger the selected cue
- Stop – Stop all playback
- Select – Choose which cue is next without triggering
Cue States
Auto-follow sequence in progress: Video completed → Wait running → Image on standby
Each cue displays its current state:
- Checkmark (gray) – Cue has completed
- RUNNING – Cue is currently active
- STANDBY – Cue is queued to run next
Auto-Follow
The down arrow (↓) on a cue indicates Auto-follow is enabled – when that cue completes, the next cue triggers automatically. Chain multiple cues together to create automated sequences:
- Video plays → auto-follows to Wait cue (10 second pause) → auto-follows to Image display
- Progress bar shows timing for Wait cues
- Mix manual GO triggers with auto-follow sections as needed
💡 Global Cue Buffer
The Global Cue Buffer (shown top-right, default 2.0s) is the time between triggering a cue and playback starting. This allows all devices to prepare for synchronized playback. Adjust in Settings or per-group for fine-tuning.
Clients
The Clients page shows all connected iPad and Apple TV devices in real-time with detailed status monitoring.
Clients view showing connected devices with status, battery, storage, and WiFi signal
Status Overview
The header bar shows counts for:
- Online – Connected and responding
- Offline – Previously connected, now unreachable
- Licenses – License-related issues
- Errors – Devices with problems
- Warnings – Devices needing attention
Device Cards
Each connected device displays as a card showing:
- Group name – Which group the device belongs to
- Device info – Model, resolution, iOS version
- Healthy – Overall device health status
- Battery – Charge level and charging status
- Storage – Used/total with percentage
- WiFi – Network name and signal quality (Excellent/Good/Fair/Poor)
- Volume / Brightness – Current device settings
- IP Address – Device network address
- Items synced – Content distribution status
Filtering
Use the toolbar filters to find specific devices:
- WiFi signal – Filter by connection quality
- Status – Online, offline, or all
- Groups – Show specific groups
- Compact View – Condensed layout for large deployments
Device Detail
Click any device card to open the detail panel:
Device detail showing full metrics and content sync status per item
- Full device info – Model, iOS version, app version
- All metrics – Battery, storage, volume, brightness, WiFi, IP
- Content list – Every item on the device with sync status
- Filter by status – All, Synced, Syncing, Pending, Failed
Device Actions
- Identify – Flash the device screen and highlight in dashboard
- Deregister – Remove device from its group
- Deregister All – Clear all device assignments
- Clear Inactive – Remove offline devices from list
Identify
Finding a specific iPad among hundreds is easy:
Device being identified – flashing green/red border in dashboard and on iPad screen
Click Identify on any device card. Both the dashboard card and the iPad screen flash green and red alternately. Click Stop to end identification.
💡 Two-Way Identification
Works both ways: tap 5 times on any iPad to open the Operator Menu, then select "Identify on Dashboard" to highlight that device in the Clients list.
Server
The Server page in the Dashboard monitors system health, network performance, and backup status.
Server page showing system metrics, bandwidth graph, and event log
System Metrics
Real-time gauges show server health at a glance:
- CPU Usage – Processor load and active cores
- Memory – RAM usage (turns red when high)
- Network – Total bandwidth to devices
- Licenses – Available connections from your pool
- Backup Server – Failover status and sync state
The Critical indicator appears when any metric needs attention.
Bandwidth Usage
Live graph showing network throughput over time. Useful for monitoring content distribution and LiveSync streaming load.
Network Interfaces
Shows active network adapters with current throughput. Toggle between Active interfaces only or All available interfaces.
Server Events
Log of errors and warnings. Green checkmark indicates no issues.
EventSync Server App
The standalone EventSync Server app (launched from the Launcher) provides debug output and log management:
EventSync Server app with debug output and log export options
- Debug Output – Real-time server logs for troubleshooting
- Open Log Files – View logs locally in Finder
- Email to Support – Copy logs for manual email
- Upload to EventSync – Direct upload with issue description
Backup/Failover
For critical events, run a second Mac as a Backup server. If the Primary fails, the Backup automatically takes over. Devices reconnect seamlessly.
Licensing
EventSync uses a per-device licensing model with flexible allocation.
Pricing
| License Type | Price per iPad |
|---|---|
| Free tier | 2 connections included |
| 7-day license | £10 |
| 30-day license | £25 |
License Workflow
- Create account at eventsync.co.uk
- Purchase licenses on website
- Link server to account in Dashboard Settings (enter email/password)
- Allocate licenses to server via web portal
- Use server
- Return licenses early if needed elsewhere
License Management
The Manage Licenses button in Settings opens the license portal:
- Overview – Pool connections, active servers, allocated/available counts
- Servers – All linked servers with status and last check-in
- Subscription – Plan type, connection count, days remaining
Check-in Behavior
Servers check in when internet is available. Auto-renew check-in typically occurs at 3am the day before renewal. There's a 24-hour grace period after expiry, with a total 48-hour window before degradation.
Returning Licenses
Return licenses when an event ends to reallocate elsewhere:
- Return – Specify quantity to return to pool
- Unlink Server – Returns all licenses and disconnects server from account
Networking
Network configuration recommendations for reliable EventSync operation.
Recommended Setup
For best results, use a dedicated event network isolated from venue/public internet:
- Dedicated WiFi – Use enterprise-grade access points (UniFi, Cisco, etc.)
- Isolated network – Keep EventSync traffic separate from general internet
- Wired server connection – Connect the Mac server via Ethernet, not WiFi
- Dual-network on server – One interface for devices, one for internet/licensing
Bandwidth Planning
- Content Distribution – One-time transfer, scales with Concurrent Devices setting
- LiveSync Streaming – 8-12 Mbps per stream × number of receiving devices
- Cue Sync – Minimal bandwidth, sub-millisecond timing
Firewall / Ports
- 8080 – EventSync Server
- 8081 – LiveSync Server
- 5353 – Bonjour discovery (mDNS)
⚠️ Venue Networks
Avoid running EventSync over venue WiFi or shared networks. Bandwidth contention and firewall restrictions often cause issues. Always bring your own dedicated network infrastructure.
iPad & Apple TV Apps
Client app installation and operation.
Installation
Download the EventSync client app from the App Store on each iPad or Apple TV. The app is free – licensing is handled server-side.
Connecting to Server
The app automatically discovers EventSync servers on the local network via Bonjour. No manual IP configuration required. Simply:
- Open the EventSync app
- Select your server from the list
- Choose a group (or wait for operator assignment)
Operator Menu
Access by tapping 5 times anywhere on screen. Enter passcode if configured (default: 1234).
iPad Operator Menu
- Deregister Device – Leave current group, return to group selection
- Identify on Dashboard – Flash this device in the Clients view
- Cached Content – View/clear downloaded content
Kiosk Mode
For unattended deployments, use Apple's Guided Access or MDM (Mobile Device Management) to lock iPads to the EventSync app and prevent guests from exiting.
© EventSync Ltd 2025