Pixels Guyana Inc. — Media, Traffic Information & Digital Advertising
Building a live traffic streaming and digital advertising platform
Pixels Guyana Inc. needed a reliable way to deliver live traffic camera streams to the public while turning that traffic into a manageable digital advertising product for sponsors and campaigns.
Published · By Timothy Indarsingh
Case Study
Turning traffic camera feeds into a practical media platform
Pixels Guyana Inc. needed more than camera embeds. The business needed a dependable streaming pipeline, a publishing layer for the public website, and an advertising system that could be managed without touching server code.
Firelinkx built and continues to manage a two-VPS platform for Pixels Guyana. One server hosts the public WordPress website, where the team manages camera pages, popup ads, and standard ad inventory. A second server handles live traffic camera ingest, HLS delivery, HTTPS routing, stream health, and recovery.
The result is a practical media and advertising platform: viewers get access to real-time traffic visibility, the Pixels Guyana team gets a structured CMS for website and ad inventory management, and sponsors get digital placements tied to a high-utility local audience.
The Challenge
Traffic camera infrastructure does not naturally translate into a reliable public web experience.
Many camera systems produce RTSP feeds, which are not directly playable in most modern browsers. Pixels Guyana needed those camera sources transformed into public streams that could load across desktop and mobile devices without asking viewers to install special software.
The business also needed advertising support that matched how sponsorships are actually sold. The site needed below-stream image placements, full-screen sponsor messages, rotating priority, scheduled campaign windows, and a simple way to review ad performance.
Reliability mattered as much as the front end. The platform depends on live camera sources, browser playback behavior, server updates, WordPress updates, plugin maintenance, camera network interruptions, and recovery workflows. The system had to be built with ongoing operations in mind.
Project Goals
The platform had to serve viewers, the website team, advertisers, and the ongoing operations workflow at the same time.
Deliver browser-compatible live streams
Transform traffic camera feeds into public HLS streams that can be viewed over HTTPS in modern browsers across desktop and mobile devices.
Keep content management inside WordPress
Give the Pixels Guyana team a familiar CMS for camera pages, standard ads, popup ads, and page content without making WordPress responsible for live video processing.
Create a practical sponsor ad product
Support scheduled image banners, weighted popup sponsor ads, campaign windows, impression tracking, skip or close tracking, and filtered reporting.
Separate website and streaming operations
Keep the public website and live video stack on separate managed VPS environments so each server can be maintained, updated, and tuned for its own responsibility.
Plan for live operations
Build scripts and routines for health checks, watchdog recovery, playlist generation, stream metrics, server updates, plugin maintenance, and camera availability changes.
The Solution
Firelinkx built and manages a two-server architecture for the public website and live streaming infrastructure.
The website VPS hosts the public WordPress site. The site uses Elementor for page building and Crocoblock JetEngine for structured custom post types, including cameras, popup ads, and standard ads. This gives Pixels Guyana a practical admin interface for managing camera content and advertising inventory.
The streaming VPS runs the live video stack. Camera RTSP feeds are configured in MediaMTX and exposed as HLS streams. Caddy acts as the public HTTPS edge, serving master playlists and proxying live HLS media from MediaMTX. Docker Compose keeps the streaming services isolated, repeatable, and easier to maintain.
The streaming setup uses camera-provided quality variants where available, including 1080p, 720p, and 360p streams. By avoiding unnecessary always-on transcoding, the platform keeps VPS load practical while still giving players multiple quality levels to choose from.
Streaming Infrastructure
The live stream server is built around MediaMTX, FFmpeg, Caddy, Docker, and HLS.
MediaMTX ingest and HLS output
MediaMTX handles ingest from remote traffic cameras and produces HLS output that can be consumed by browser players.
Caddy as the HTTPS edge
Caddy serves public HTTPS traffic, routes HLS playlists and segments, applies browser-safe headers, supports CORS, sets correct MIME types, and keeps live-video cache windows short.
Docker-based service isolation
Docker Compose keeps streaming services repeatable and easier to maintain, while internal RTSP, HLS, and API ports stay bound locally behind the public Caddy layer.
Native quality variants
Where cameras expose multiple native feeds, the platform uses available 1080p, 720p, and 360p variants instead of forcing the VPS to transcode every stream continuously.
Generated master playlists
Playlist generation scripts probe available HLS variants and write master playlists so players can choose from the quality levels available for each camera.
Named camera locations
The system includes 12 named traffic camera locations, including Harbour Bridge East and West, Diamond East Bank, DSL Junction, Grove East Bank, Houston East Bank, UG Road, Vreed en Hoop, Jaguar Roundabout, Mon Repos, and Mandela / Harpy Eagle Roundabout.
Adaptive Playback
The browser player work focuses on live stream resilience rather than treating traffic cameras like static video files.
hls.js and native HLS support
The player uses hls.js for non-Safari browsers and native HLS playback where supported, giving the platform broad browser coverage.
Live-stream recovery behavior
The player supports muted autoplay, tap-to-play fallback, connection status indicators, live-edge recovery, buffer gap handling, retry logic, and staged recovery from stalls.
Quality fallback
When higher-quality streams fail to start or fragments repeatedly fail to load, the player can fall back to lower quality streams instead of leaving the viewer with a frozen feed.
Conservative adaptive switching
An advanced player version uses measured bandwidth, buffer health, recent stall events, and cautious upgrade probing so it can downshift on weak connections and later test higher quality after playback stabilizes.
WordPress Website and CMS Layer
The public website is managed separately from the streaming server, with WordPress used where it is strongest.
Structured camera content
Crocoblock JetEngine custom post types organize camera entries so the website team can manage traffic camera pages through WordPress.
Elementor page management
Elementor gives the team a familiar page-building workflow for public pages and layouts while the streaming server handles video delivery separately.
Advertising inventory in the CMS
Popup ads and standard ads are managed as structured content, allowing the team to update campaigns without editing the live streaming stack.
Ongoing maintenance
Firelinkx continues to manage WordPress core updates, plugin updates, VPS administration, server updates, plugin maintenance, and general technical support.
Custom Advertising System
The ad layer was built around the way Pixels Guyana sells sponsor visibility, not around a generic ad network.
Scheduled below-stream image ads
A custom image ad banner plugin creates an image_ad_banner post type and lets administrators assign image banners to specific 30-minute time slots.
Media-library based setup
The banner plugin integrates with the WordPress media library so admins can select ad images without manually pasting URLs.
Shortcode placement
Each banner exposes a shortcode that can be placed inside Elementor layouts or camera pages, making scheduled ad units practical to reuse.
Weighted popup sponsor ads
A second custom plugin supports full-screen popup sponsor ads with weighted rotation, so higher-priority advertisers can appear more frequently while multiple campaigns remain in circulation.
Campaign schedules and formats
Popup ads can use image or YouTube video creative, with daily start and end times, including overnight campaign windows.
Reporting inside WordPress
The popup plugin records display events and skip or close events in a custom table, then exposes AJAX-filtered reporting by ad name and date range through an ad_stats shortcode.
Monitoring and Operations
Live camera platforms need operational support because failures can come from the server, the stream process, the source camera, or the network path.
Health checks
A healthcheck script verifies that the MediaMTX API is responding so Docker can determine container health.
Watchdog recovery
A watchdog script checks whether enough camera streams are healthy and can restart MediaMTX if availability drops below a configured threshold.
Known-offline handling
Operational scripts can skip a camera that is already known to be offline so the system does not overreact to one expected source issue.
Prometheus-style metrics
Metrics scripts emit HLS path availability, segment drift, FFmpeg CPU usage, FFmpeg memory usage, and worker uptime as a foundation for observability and alerting.
Playlist generation
Playlist scripts account for different native camera variants and aspect ratios while writing the master playlists used by the public players.
Load-conscious streaming
FFmpeg helper scripts support pass-through republishing and optional scaling, while unnecessary 480p transcoding is disabled to keep server load practical.
Why This Approach Works
The platform deliberately separates content management from live video delivery.
WordPress is used for content management, page building, ad management, and client administration. The dedicated streaming VPS handles video ingest, HLS delivery, stream health, HTTPS delivery, and recovery.
That separation makes the system easier to maintain. The public website can be updated without disturbing the streaming stack, while the stream server can be tuned specifically for live video performance.
The architecture also keeps server load practical. By using native camera quality variants and pass-through delivery where possible, the platform avoids expensive always-on transcoding and preserves VPS resources for reliable ingest and delivery.
Outcome
Pixels Guyana now has a managed live traffic streaming platform with a custom advertising layer built around its business model.
Live traffic visibility for the public
Viewers can access browser-compatible live traffic camera streams over HTTPS, with adaptive quality options where camera variants are available.
A structured website workflow
The Pixels Guyana team can manage camera content, popup ads, and standard ad inventory through WordPress rather than depending on server-side edits.
A sponsor-ready ad product
Scheduled banner placements, weighted popup ads, campaign windows, display tracking, skip or close tracking, and filtered reporting support a more manageable advertising operation.
Ongoing technical management
Firelinkx continues to support the platform across VPS administration, streaming operations, WordPress maintenance, plugin updates, recovery workflows, and technical improvements.
Project Links
The live site shows the public side of the platform Firelinkx built and continues to support.
Pixels Guyana Website
The public traffic camera and advertising website for Pixels Guyana Inc.
Visit Pixels GuyanaServices Delivered
Liked What We Built for Pixels Guyana Inc.?
Let's discuss how we can create similar results for your business.