WINK Forge

Enterprise Video Transcoding Platform
Technical Manual & Administrator Guide
Version 9.x - Fall 2025 Release
WINK Streaming LLC
Document Updated: December 2025

Table of Contents

Chapter 1: Introduction to WINK Forge

1.1 Overview

WINK Forge is an enterprise-grade video transcoding and streaming platform that transforms video content for optimal delivery across diverse networks and devices. As the cornerstone of the WINK Streaming ecosystem, WINK Forge provides robust video processing capabilities that enable organizations to deploy comprehensive video streaming solutions.

Key Capabilities

Note: WINK Forge is always paired with WINK Media Router for complete functionality. Together, they form the core platform for all WINK solutions.

Learn more about WINK Forge features on our product page.

1.2 System Architecture

WINK Forge operates on a modular architecture designed for scalability and reliability:

Component Function Description
Input Manager Video Ingestion Handles multiple simultaneous video sources with automatic format detection
Transcoding Engine Video Processing Real-time encoding with H.264, H.265/HEVC, VP9, and AV1 support
Output Manager Stream Distribution Manages multiple output formats and destinations simultaneously
API Gateway Control Interface RESTful API for programmatic control and monitoring
Web Admin Management UI Browser-based configuration and monitoring interface

1.3 Deployment Options

Hardware Appliance

Pre-configured hardware solutions optimized for video processing:

Virtual Appliance (V-Forge)

Deploy on your existing virtualization infrastructure:

Cloud Deployment (Cloud Forge)

Fully managed cloud instances:

Chapter 2: Getting Started

2.1 Web Interface Access

The WINK Forge web administration interface provides complete control over all system functions. Access methods vary by firmware version:

Firmware 9.x (Current)

Legacy Firmware

Version HTTP Port HTTPS Port
Firmware 5.x 88 444
Firmware 4.x 80 443
Security Warning: Always use HTTPS for administration access. HTTP access should be disabled in production environments.

2.2 Default Credentials

Initial system access requires the default credentials:

Username: admin
Password: admin_pass
Shared Key: admin_key
    
Important: You must change these credentials upon first login. The system will enforce a strong password policy requiring:

2.3 Security Configuration

SSL Certificate Management

Configure SSL certificates for secure access:

  1. Navigate to Settings → System Options → SSL Certificate
  2. Choose one of the following options:
    • Generate self-signed certificate
    • Upload existing certificate (PFX format)
    • Use Let's Encrypt (requires public domain)
  3. Apply changes and restart web services

Shared Key Authentication

The shared key system provides an additional layer of security, particularly useful for:

To configure shared key authentication:

# API call example
curl -X POST https://forge.example.com/api/ \
  --data-urlencode "<wink_api user='admin' pass='password' key='shared_key'>
    <req id='1' command='version'></req>
  </wink_api>"
    

The WINK Forge interface uses a hamburger menu for navigation. Click the menu icon in the header to access all sections.

Main Menu Structure

Menu Submenu Description
WINK Forge Cameras Main camera/input list and status dashboard
ONVIF Devices ONVIF device discovery and configuration
Genetec Devices Genetec Security Center integration
Import / Export Configuration backup and restore
Security Connected IPs View active connections with GeoIP location
Settings Watermarks Image overlay management
Network Network interface configuration
Users User account management
System Options Hostname, NTP, SSL, VRRP settings
Tools Ping Test / Traceroute / MTR Network diagnostic tools
TCP Dump Packet capture utility
RTSP Probe Test RTSP stream connectivity
Resize Calculator Calculate codec-compliant dimensions
API Test Tool Interactive API testing
Support Network Clients View connected stream clients
System Graphs CPU, memory, bandwidth graphs
Logs System event and security logs
System Info Hardware and software details
Reboot System restart options
Contact WINK Streaming support contact
Console Web-based terminal access

Chapter 3: Input Configuration

3.1 Supported Input Types

WINK Forge supports a comprehensive range of input protocols and formats. While it can handle any codec, H.264 inputs are strongly preferred for field deployments:

RTSP (Real Time Streaming Protocol)

Most common for IP cameras and encoders. WINK Forge automatically detects RTSP streams and negotiates the best transport method:

rtsp://username:password@192.168.1.100:554/stream1
rtsp://camera.example.com/live/channel1
rtsps://secure-camera.example.com:8554/stream  # RTSP over TLS
    
Automatic Detection: WINK Forge intelligently detects the input format (H.264, H.265/HEVC) and transport protocol. Manual configuration is optional for advanced users.

RTMP (Real Time Messaging Protocol)

Popular for live streaming applications:

rtmp://server.example.com/live/streamkey
rtmp://localhost/live/camera1
rtmps://secure.example.com:443/live/stream  # RTMP over TLS
    

HTTP/HTTPS Streams

Including MJPEG, HLS, and MPEG-DASH sources:

http://camera.example.com/mjpeg.cgi
https://server.example.com/hls/stream.m3u8
https://cdn.example.com/dash/manifest.mpd
https://camera.local/snapshot.jpg?fps=1  # Image sequence
    

UDP/RTP/SRT Streams

For multicast, low-latency, and secure reliable transport:

udp://239.1.1.1:1234
rtp://224.0.0.1:5004
srt://192.168.1.100:9000?mode=caller&passphrase=mykey
srt://srt-server.example.com:9000?streamid=mystream
    
SRT Benefits: Secure Reliable Transport provides encrypted, low-latency streaming with packet loss recovery - ideal for internet streaming and remote production.

VMS Integrations

Automatic Codec Detection

WINK Forge automatically detects and handles incoming codecs:

Codec Support Notes
H.264 (AVC) Full All profiles including High 4:4:4
H.265 (HEVC) Full Main, Main10, Main 4:4:4
VP8/VP9 Full WebRTC and WebM sources
MJPEG Full Legacy camera support
MPEG-4 Full Legacy compatibility

3.2 Input Settings

Basic Configuration

Parameter Description Example
Title Friendly name (45 chars max) Main Entrance Camera
Description Detailed description (255 chars) HD camera covering main building entrance
Input Type Protocol selection (Auto-detect available) Auto / RTSP / RTMP / SRT / HTTP
Input Path Source URL/URI rtsp://192.168.1.100:554/stream1

Video Parameters

Parameter Range Default Notes
FPS 0-60 0 (auto) 0 = variable frame rate
Width 1-8192 Auto-detect Pixels
Height 1-8192 Auto-detect Pixels
Rotation 0, 90, 180, 270 0 Degrees clockwise
Pro Tip: Use VLC Media Player to inspect source streams and determine correct resolution and codec parameters before configuration.

Input Format Auto-Detection

WINK Forge intelligently detects input parameters when "Auto" is selected:

  1. Protocol Detection: Analyzes URL scheme and probes endpoints
  2. Codec Identification: Reads stream headers to identify H.264, H.265, or other codecs
  3. Resolution Discovery: Extracts frame dimensions from video stream
  4. Frame Rate Analysis: Calculates actual FPS from timestamps
  5. Audio Detection: Identifies audio tracks and codecs
Manual Override: While auto-detection works for 95% of sources, you can manually specify parameters for edge cases or to enforce specific settings.

Cropping Options

Remove unwanted portions of the video frame:

Caution: Excessive cropping may result in aspect ratio distortion. Always maintain proportional dimensions in your output settings.

3.3 Advanced Input Options

Authentication Methods

Configure authentication for protected sources:

# Basic Authentication
rtsp://username:password@host/path

# Digest Authentication (automatic)
Input will negotiate digest auth when required

# Custom Headers (HTTP/HTTPS only)
Add in Advanced Options:
http_headers="Authorization: Bearer TOKEN"
    

Network Optimization

Parameter Purpose Recommended Value
buffer_size Input buffer in KB 1024-4096
rtsp_transport RTSP transport mode tcp (more reliable)
srt_latency SRT latency (ms) 120-1000
timeout Connection timeout (µs) 10000000 (10 sec)
reconnect Auto-reconnect on failure enabled

Metadata Mapping

Associate metadata with streams for downstream applications:

RTP Input Test Modes

WINK Forge includes special test modes for troubleshooting RTP stream issues:

Mode Input Type Purpose
96 RTP Raw H.264 RTP payload (dynamic payload type 96)
97 RTP MPEG-4 Part 2 video (ASP)
98 RTP H.265/HEVC RTP payload
99 RTP Generic RTP passthrough for analysis

Use these modes when auto-detection fails or when working with non-standard RTP implementations:

# Force specific RTP payload type
Input Type: RTP-96
Path: rtp://239.1.1.1:5004

# For cameras that don't advertise payload correctly
Input Type: RTP-98 (forces H.265 interpretation)
    

Legacy MPEG-4 Cameras (Omnicast Mode)

Many legacy surveillance cameras from the 2005-2015 era use MPEG-4 Part 2 (ASP) codec. WINK Forge includes Omnicast compatibility mode for these cameras:

Supported Legacy Formats

Omnicast Configuration

# Enable Omnicast compatibility
Input Type: MPEG4-Omnicast
Path: rtsp://legacy-camera.local:554/mpeg4

# For Genetec Omnicast 4.x archives
Input Type: Omnicast
Path: omnicast://archive-server/camera-guid

# Common legacy camera settings
Codec: MPEG-4 Part 2
Resolution: 704x480 (D1 NTSC) or 720x576 (D1 PAL)
FPS: 15-30
Bitrate: 1-4 Mbps
    
Migration Note: When transcoding legacy MPEG-4 streams to modern H.264, expect some quality loss due to generation loss. Consider slightly increasing the output bitrate (10-20%) to compensate.
Tip: Many legacy cameras have limited streaming capacity. If experiencing connection drops, reduce concurrent connections to the camera or use WINK Forge as a proxy to serve multiple viewers from a single camera connection.

Chapter 4: Output Configuration

4.1 Output Formats

WINK Forge supports multiple simultaneous outputs per input, enabling diverse distribution strategies:

Streaming Protocols

Protocol Use Case Latency Compatibility
HLS Web/Mobile streaming 6-30 seconds Universal
LL-HLS Low latency web 2-5 seconds Modern browsers
MPEG-DASH Adaptive streaming 3-10 seconds Wide support
RTMP Live streaming 1-3 seconds Flash/CDN
RTSP VMS/Surveillance <1 second Professional
SRT Remote production <1 second Internet streaming
WebRTC Real-time communication <500ms Modern browsers

Output Path Configuration

Configure output destinations based on protocol:

# HLS Output
/hls/stream_name

# RTMP Push
rtmp://cdn.example.com/live/streamkey

# RTSP Server
rtsp://0.0.0.0:8554/stream1

# SRT Push
srt://backup.site.com:9000?streamid=camera1&passphrase=secret

# WebRTC
/webrtc/stream_name
    

4.2 Encoding Settings

Video Encoding Parameters

Parameter Description Recommended Range
Resolution Output dimensions 360p to 4K
Bitrate Target bitrate (Kbps) 500-15000
FPS Output frame rate 15-60
Keyframe Interval GOP size (frames) 30-150
H.264 Profile Encoding profile Baseline/Main/High
H.265 Profile HEVC profile Main/Main10
Codec Video codec H.264 (default) / H.265 / VP9 / AV1

H.264 - The Field-Proven Standard

IMPORTANT: H.264 is the default and recommended codec for almost all field deployments, especially traffic cameras and any camera connected via wireless, cellular, or high-latency networks. While newer codecs exist, H.264 remains the gold standard for reliability.

Field Deployment Best Practice: Always use H.264 for: Other codecs offer minimal gains but introduce significant complexity and compatibility issues.

H.265/HEVC - Use Cases and Warnings

While WINK Forge fully supports H.265 (HEVC), it should only be used in specific controlled environments:

Feature H.264 H.265
Compression Efficiency Baseline 25-50% better
Max Resolution 4K (common) 8K native
Processing Power Lower 2-4x higher
Browser Support Universal Safari, Edge

H.265 Encoding Parameters

# Efficient H.265 encoding
Codec: libx265
Preset: medium (balance quality/speed)
Profile: main or main10 (for HDR)
Level: auto (based on resolution/framerate)

# Example for CONTROLLED ENVIRONMENT ONLY
Resolution: 3840x2160
Bitrate: 15000 Kbps (vs 25000 for H.264)
Keyframe: 60 frames

WARNING: Never use H.265 for cameras on wireless/cellular networks!
    
Critical Note: The minor bandwidth savings of H.265 (25-30%) are rarely worth the significant drawbacks in field deployments. A slightly higher bitrate H.264 stream that works reliably is always preferable to a lower bitrate H.265 stream that fails under real-world conditions.

Bitrate Guidelines

Resolution Low Quality Standard High Quality
360p (640x360) 400 Kbps 800 Kbps 1200 Kbps
480p (854x480) 500 Kbps 1200 Kbps 2000 Kbps
720p (1280x720) 1500 Kbps 2500 Kbps 4000 Kbps
1080p (1920x1080) 3000 Kbps 5000 Kbps 8000 Kbps
4K (3840x2160) 13000 Kbps 20000 Kbps 35000 Kbps

Audio Configuration

Codec Bitrate Range Use Case
AAC-LC 64-320 Kbps General purpose
HE-AAC 32-128 Kbps Low bandwidth
Opus 16-256 Kbps WebRTC/Modern
MP3 96-320 Kbps Legacy compatibility
PCM/WAV Uncompressed Professional audio

4.3 Adaptive Streaming

Creating Adaptive Bitrate Ladders

Configure multiple outputs with different qualities for adaptive streaming:

Name Resolution Bitrate Profile
stream_low 640x360 800 Kbps Baseline
stream_med 1280x720 2500 Kbps Main
stream_high 1920x1080 5000 Kbps High
Best Practice: Maintain consistent keyframe intervals across all adaptive bitrate variants to ensure smooth quality switching.

4.4 Video Filters

WINK Forge includes powerful video processing filters for image enhancement and correction:

Deinterlacing

Convert interlaced video (common from older cameras and broadcast sources) to progressive:

Filter Quality CPU Usage Best For
yadif Good Low General purpose, real-time
yadif_2x Better Medium Double framerate output
bwdif Best Medium High-motion content
Tip: Use "yadif" for most surveillance applications - it provides good quality with minimal CPU overhead. Reserve "bwdif" for broadcast or archival where quality is paramount.

Scaling Algorithms

Choose the appropriate scaling algorithm based on your quality/performance needs:

Algorithm Quality Speed Use Case
fast_bilinear Low Fastest Preview, thumbnails
bilinear Medium Fast Real-time streaming
bicubic Good Medium General purpose (default)
lanczos Excellent Slow Downscaling, archival
spline Excellent Slow Upscaling

Image Enhancement Filters

Note: Video filters increase CPU usage. Apply only when necessary and test performance impact before deploying to production.

4.5 Audio Processing

WINK Forge supports comprehensive audio manipulation:

Audio Filters

Filter Function Parameters
volume Adjust audio level 0.0 (mute) to 2.0 (boost)
loudnorm Normalize loudness (EBU R128) Target -23 LUFS for broadcast
dynaudnorm Dynamic range compression Automatic level adjustment
highpass Remove low frequencies Frequency cutoff (Hz)
lowpass Remove high frequencies Frequency cutoff (Hz)
aresample Change sample rate 8000-96000 Hz

Audio Channel Mapping

# Common configurations
Stereo → Mono: Mix both channels
Mono → Stereo: Duplicate to both channels
5.1 → Stereo: Downmix surround

# Multi-track handling
Select specific audio track from multi-track source
Merge multiple audio inputs into single output
    
Tip: For surveillance applications, use "loudnorm" to ensure consistent audio levels across cameras with different microphone sensitivities.

Chapter 5: Media Protocols

5.1 RTMP Configuration

RTMP Server Mode

Accept incoming RTMP streams:

# Input configuration
Type: RTMP
Path: rtmp://0.0.0.0:1935/live/stream1

# Publishers connect to:
rtmp://forge.example.com:1935/live/stream1
    

RTMP Push Mode

Send streams to CDN or streaming services:

# Output configuration
Format: RTMP
Path: rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx
    

RTMP Authentication

Secure RTMP endpoints with token authentication:

# Enable in Settings → RTMP Rebroadcast
Authentication: Token
Token Lifetime: 3600 seconds

# Client URL with token
rtmp://forge.example.com/live/stream1?token=abc123
    

5.2 SRT Configuration

SRT (Secure Reliable Transport)

SRT provides encrypted, reliable streaming over unpredictable networks:

SRT Modes

Mode Use Case Configuration
Caller Initiate connection srt://host:port?mode=caller
Listener Accept connections srt://0.0.0.0:9000?mode=listener
Rendezvous Firewall traversal srt://host:port?mode=rendezvous

SRT Parameters

# Input with encryption
Type: SRT
Path: srt://source.com:9000?passphrase=SecureKey123&latency=200

# Output with stream ID
Format: SRT
Path: srt://backup.site:9000?streamid=camera1&passphrase=key

# Key SRT options:
latency=120        # Latency in milliseconds (default: 120)
maxbw=0           # Max bandwidth (0 = unlimited)
pbkeylen=16       # Encryption key length (16, 24, or 32)
lossmaxttl=0      # Packet loss tolerance
    
SRT Best Practices:

5.3 RTSP Configuration

RTSP Server Setup

# Output configuration
Format: RTSP
Path: rtsp://0.0.0.0:8554/stream1

# Access URL
rtsp://forge.example.com:8554/stream1
    

RTSP Transport Modes

Mode Protocol Use Case
RTP/UDP UDP Low latency, LAN
RTP/TCP TCP Firewall friendly
RTP/RTSP Interleaved Single connection

RTSP Authentication

# Basic authentication
rtsp://username:password@forge.example.com:8554/stream1

# Digest authentication (automatic negotiation)
Configured in user management
    

5.4 HLS/LL-HLS

Standard HLS Configuration

# Output settings
Format: HLS
Path: /hls/stream1
Segment Duration: 6 seconds
Playlist Length: 5 segments

# Access URL
https://forge.example.com/hls/stream1/playlist.m3u8
    

Low-Latency HLS (LL-HLS)

# Enable LL-HLS
Format: LL-HLS
Part Duration: 0.33 seconds
Segment Duration: 2 seconds

# Client requirements
- HTTP/2 support
- Byte-range requests
- Modern player (HLS.js 1.0+)
    

HLS Encryption

Protect content with AES-128 encryption:

  1. Generate encryption keys
  2. Configure key server URL
  3. Enable encryption in output settings

5.5 MPEG-DASH

DASH Configuration

# Output settings
Format: DASH
Path: /dash/stream1
Segment Duration: 4 seconds
Min Buffer Time: 1.5 seconds

# Manifest URL
https://forge.example.com/dash/stream1/manifest.mpd
    

DASH Features

5.6 WebRTC Configuration

WebRTC provides ultra-low-latency streaming directly to web browsers without plugins:

WebRTC Output Setup

# Output configuration
Format: WebRTC
Path: /webrtc/stream1

# Access in browser
https://forge.example.com/webrtc/stream1

# Embed in webpage
<video id="video" autoplay muted></video>
<script>
const pc = new RTCPeerConnection();
// WHEP signaling...
</script>
    

WebRTC Parameters

Parameter Default Description
ICE Servers STUN only Configure TURN for NAT traversal
Video Codec H.264 VP8, VP9 also supported
Audio Codec Opus Best quality for WebRTC
Max Bitrate 2500 Kbps Adaptive based on network

WHEP (WebRTC-HTTP Egress Protocol)

WINK Forge supports WHEP for standardized WebRTC playback:

# WHEP endpoint
POST https://forge.example.com/webrtc/stream1/whep

# Compatible players
- OBS Studio (29.1+)
- VDO.Ninja
- Most modern WebRTC players
    
Tip: WebRTC achieves sub-500ms latency but requires more CPU than HLS. Use for interactive applications; use HLS for large-scale distribution.

5.7 Protocol Comparison & Overhead

Understanding protocol overhead helps optimize bandwidth and choose the right delivery method:

Protocol Overhead Comparison

Protocol Transport Overhead Effective Bitrate
RTSP/RTP (UDP) UDP ~2-3% 97-98% of bandwidth
RTSP/RTP (TCP) TCP ~5-8% 92-95% of bandwidth
RTMP TCP ~5-10% 90-95% of bandwidth
SRT UDP ~3-5% 95-97% of bandwidth
HLS HTTP/TCP ~15-25% 75-85% of bandwidth
MPEG-DASH HTTP/TCP ~15-25% 75-85% of bandwidth
WebRTC UDP (SRTP) ~8-12% 88-92% of bandwidth

Why HLS/DASH Have Higher Overhead

RTSP over TCP: The Efficient Choice

For point-to-point streaming where latency matters and HTTP compatibility isn't required:

Scenario Recommended Protocol Reason
VMS Integration RTSP/TCP Low overhead, firewall friendly
LAN Streaming RTSP/UDP Lowest latency and overhead
Internet Streaming SRT Encrypted, handles packet loss
Web Browsers HLS or WebRTC Native browser support
CDN Distribution HLS Cacheable, scalable
Mobile Apps HLS Universal iOS/Android support

Bandwidth Planning Example

Source: 1080p @ 5 Mbps H.264

RTSP/TCP delivery:
  Video: 5,000 Kbps
  Overhead: ~400 Kbps (8%)
  Total: ~5,400 Kbps per viewer

HLS delivery:
  Video: 5,000 Kbps
  Overhead: ~1,000 Kbps (20%)
  Total: ~6,000 Kbps per viewer

For 100 concurrent viewers:
  RTSP: 540 Mbps total
  HLS:  600 Mbps total
  Difference: 60 Mbps (11% more for HLS)
    
Tip: When bandwidth is constrained, prefer RTSP/TCP over HLS. For a 5 Mbps stream, you save approximately 600 Kbps per viewer by using RTSP instead of HLS.
When to Use HLS Despite Overhead: HLS is still preferred when you need CDN caching, adaptive bitrate, universal browser playback, or scalability to thousands of viewers. The overhead is worthwhile for these benefits.

Chapter 6: VMS Integration

6.1 Genetec Integration

Genetec Security Center

WINK Forge provides native integration with Genetec Security Center through the SDK:

Virtual Encoder Configuration

  1. In Security Center Config Tool, add new encoder
  2. Select "WINK Streaming" from manufacturer list
  3. Enter WINK Forge IP address and credentials
  4. Discover available streams automatically

Stream URL Format

# Genetec-compatible RTSP URL
rtsp://forge.example.com:554/genetec/[GUID]_[quality]

# Example
rtsp://forge.example.com:554/genetec/WF05-1234-5678-90AB-CDEF_high
    

Virtual Decoder Setup

Use WINK Forge as a Genetec Virtual Decoder:

# Input configuration
Type: Genetec
Path: [Genetec server details configured in plugin]

# Capabilities
- Multi-stream decoding
- PTZ passthrough
- Event forwarding
    
Integration Tip: Enable the Genetec plugin in WINK Forge before attempting Security Center discovery. Navigate to Plugins → Genetec → Enable.

6.2 Milestone Integration

Milestone XProtect

Configure WINK Forge as a universal driver device:

Setting Value
Driver Universal Driver
Protocol HTTP or RTSP
Port 80 (HTTP) or 554 (RTSP)
Path /mjpeg/[stream] or /rtsp/[stream]

Stream Configuration

# MJPEG for maximum compatibility
Output Format: MJPEG
Path: /mjpeg/camera1
FPS: 10-15 (reduce bandwidth)

# RTSP for better quality
Output Format: RTSP
Path: rtsp://0.0.0.0:554/camera1
    

6.3 VMS to VMS Bridging

WINK Forge excels at bridging between incompatible VMS platforms:

Common Bridging Scenarios

Source VMS Target VMS Method
Genetec Milestone Genetec SDK → RTSP output
Milestone Genetec Universal driver → Genetec encoder
Legacy DVR Modern VMS RTSP input → Multiple outputs
Cloud VMS On-premise RTMP pull → Local RTSP

Camera Protocol Emulation

Make any source appear as a standard IP camera:

Bandwidth Consideration: When bridging VMS systems, configure appropriate transcoding to avoid bandwidth multiplication. Use the same codec and bitrate when possible.

Chapter 7: API Reference

7.1 API Overview

The WINK Forge API provides complete programmatic control over all system functions. All API calls require SSL and authentication.

API Endpoint

https://forge.example.com/api/

Authentication

<wink_api user='username' pass='password' key='shared_key'>
    <req id='1' command='command_name'>payload</req>
</wink_api>
    

Response Format

<wink_api>
    <resp id="1" command="command_name" status="ok">response_data</resp>
</wink_api>
    

7.2 Stream Control Commands

Start/Stop/Restart Streams

Command Description Payload
start Start transcoding GUID or 'all'
stop Stop transcoding GUID or 'all'
restart Restart transcoding GUID or 'all'

Example: Restart Stream

<wink_api user='apiuser' pass='apipass'>
    <req id='1' command='restart'>WF05-2657-1C04-7F1B-5EC0</req>
</wink_api>
    

Stream Status

Get GUID Status

<wink_api user='apiuser' pass='apipass'>
    <req id='1' command='guidstatus'>WF05-1EDA-1C04-6E33-ABF9</req>
</wink_api>

Response values:
0 = Not publishing
1 = Publishing
2 = Blocked
3 = Unavailable
    

Block/Unblock Streams

Command Function Usage
blockguid Block video output Shows placeholder image
unblockguid Restore video output Resumes normal stream
blockip Block by IP:Port Block without GUID

Input Management

Create/Update Input

<wink_api user='apiuser' pass='apipass'>
    <req id='1' command='input_source'>
        <input title='Camera 1'
               desc='Main entrance'
               type='RTSP'
               path='rtsp://192.168.1.100:554/stream1'
               enabled='1' />
    </req>
</wink_api>
    

Input Parameters

Parameter Required Description
title Yes (new) Stream title
desc Yes (new) Description
path Yes (new) Source URI
type Yes (new) Protocol type
guid Yes (update) Existing GUID
fps No Frame rate
width No Video width
height No Video height

7.3 User Management API

Create User

<wink_api user='admin' pass='adminpass'>
    <req id='1' command='createuser'>
        <name>John Smith</name>
        <username>jsmith</username>
        <password>SecurePass123!</password>
        <access>2</access>
    </req>
</wink_api>

Access Levels:
1 = Admin
2 = Operator
3 = Viewer
4 = API Only
5 = OTP
    

Change Password

<wink_api user='admin' pass='adminpass'>
    <req id='1' command='changepassword'>
        <username>jsmith</username>
        <password md5='false'>NewPass456!</password>
    </req>
</wink_api>
    

Chapter 8: Advanced Features

8.1 One-Time Password (OTP) Authentication

OTP provides temporary access tokens for secure stream viewing, ideal for:

OTP Workflow

  1. Application requests OTP token from WINK Media Router
  2. Token generated with specified duration
  3. Client uses token to access stream
  4. Token expires after duration or single use

API Commands

Create OTP Token

curl -d "apiuser=apiuser&apipass=apipass&action=create&duration=60&hash_type=alphanumeric&hash_length=32" \
     -X POST https://router.example.com/otp/api/

Response: 24814928371014572819abc123def456
    

OTP Parameters

Parameter Default Description
duration 60 Token lifetime (minutes)
hash_type alphanumeric alpha, numeric, alphanumeric
hash_length 32 Token length (max 128)
expiry_url None Redirect on expiry

Using OTP Tokens

# Append token to stream URL
https://forge.example.com/hls/stream1/playlist.m3u8?token=24814928371014572819abc123def456
    

8.2 Watermarking

Image Watermarks

Add logos or branding to video streams:

  1. Upload watermark image (PNG with transparency recommended)
  2. Configure in output settings:
    • Watermark File: Select uploaded image
    • Position: topleft, topright, bottomleft, bottomright
    • X-Pad: Horizontal offset in pixels
    • Y-Pad: Vertical offset in pixels
    • Opacity: 0.0 (transparent) to 1.0 (opaque)

Text Overlays

Add dynamic text to streams:

Variable Output Example
%TIME% Current time 14:35:22
%DATE% Current date 2025-12-02
%TITLE% Stream title Main Entrance
%FPS% Current FPS 29.97 fps

Timestamp Formats

# Predefined formats
YYYY-MM-DD HH:MM:SS
MM/DD/YYYY HH:MM:SS
DD/MM/YYYY HH:MM:SS

# Custom format (strftime)
%Y-%m-%d %I:%M:%S %p
    

8.3 PTZ Control

PTZ Passthrough

WINK Forge can relay PTZ commands between VMS systems and cameras:

Protocol Support Features
ONVIF Full Pan, Tilt, Zoom, Presets
VAPIX Full Axis camera control
Pelco-D Basic RS-485 control
VISCA Basic Sony cameras

PTZ Configuration

  1. Enable PTZ in input settings
  2. Configure control protocol
  3. Map PTZ URLs for passthrough
  4. Test with VMS PTZ controls
PTZ Latency: Expect 100-500ms latency for PTZ commands depending on network conditions and protocol.

8.4 Advanced Auto-Detection

WINK Forge's intelligent auto-detection system eliminates manual configuration for most streams:

Auto-Detection Process

  1. Protocol Analysis
    • URL scheme detection (rtsp://, rtmp://, srt://, etc.)
    • Port scanning for common protocols
    • Protocol negotiation and handshake
  2. Stream Analysis
    • SDP parsing for RTSP streams
    • Metadata extraction from RTMP
    • Container format identification
  3. Codec Detection
    • H.264 profile and level detection
    • H.265 tier and profile identification
    • Audio codec and channel configuration
  4. Parameter Optimization
    • Buffer size based on bitrate
    • Keyframe interval detection
    • Network transport optimization

Supported Auto-Detection Scenarios

Source Type Auto-Detected Parameters Success Rate
IP Cameras Protocol, resolution, codec, FPS 98%
Streaming Servers All parameters + audio config 95%
VMS Systems Authentication method, streams 90%
CDN Sources Adaptive bitrate ladder 85%

Manual Override Options

When auto-detection needs assistance:

# Force specific codec detection
advanced_options="analyzeduration=5000000"

# Override detected parameters
force_codec="h265"
force_fps="30"
force_resolution="1920x1080"

# Custom probe size for difficult streams
probesize="10M"
    
Auto-Detection Tips:

Chapter 9: Monitoring & Analytics

9.1 Real-time Dashboard

WINK Forge provides comprehensive monitoring through its web interface dashboard:

Dashboard Overview

Stream Status Indicators

Status Color Meaning
Publishing Green Stream active and healthy
Starting Yellow Initialization in progress
Reconnecting Orange Temporary connection loss
Failed Red Stream error, check logs
Blocked Gray Administratively disabled

9.2 Stream Statistics

Per-Stream Metrics

Click on any stream to view detailed statistics:

Metric Description Healthy Range
Input Bitrate Incoming data rate Within 10% of source
Output Bitrate Encoded output rate 90-110% of target
Frame Rate Actual FPS ±1 FPS of target
Dropped Frames Frames not processed <0.1%
Latency End-to-end delay Protocol dependent
Packet Loss Network packets lost <0.05%

Export Statistics

Export configuration and statistics for analysis:

9.3 Alert Configuration

Alert Types

Configure automatic notifications for critical events:

Alert Type Trigger Default Action
Stream Failed Input connection lost Email + Log
High CPU CPU > 85% for 5 min Email + SNMP
Storage Full Disk > 90% Email + API call
License Limit 90% streams used Email admin
Network Issue Packet loss > 1% Log + SNMP

Alert Delivery Methods

  1. Email: SMTP configuration in Settings
  2. Webhook: HTTP POST to your endpoint
  3. SNMP Trap: To network monitoring system
  4. Syslog: To centralized logging
  5. SMS: Via configured gateway (optional)
Alert Best Practices:

Chapter 10: Troubleshooting

Common Issues and Solutions

Stream Not Starting

Quick Checks:
  1. Verify source is accessible (use Ping Test tool)
  2. Check credentials are correct
  3. Confirm firewall allows connection
  4. Test source with VLC player
  5. Review error logs for specific messages
Symptom Possible Cause Solution
Status: "Failed" Invalid source URL Verify URL with VLC player
Status: "Timeout" Network connectivity Check firewall, use ping test
Status: "Auth Failed" Wrong credentials Verify username/password
No status change Licensing issue Check license limits

Poor Video Quality

High CPU Usage

  1. Check transcoding load in System Graphs
  2. Reduce quality settings:
    • Lower resolution
    • Decrease FPS
    • Use optimized encoder settings
  3. Optimize encoder settings:
    Preset: ultrafast (lowest CPU)
    Profile: baseline (simpler encoding)
    Codec: Consider H.265 for better compression

Network Diagnostics

Built-in Tools

Access via Tools menu in web interface:

Tool Purpose Usage
Ping Test Connectivity check Test camera reachability
MTR Route analysis Diagnose network path
TCPDump Packet capture Debug protocol issues
RTSP Probe Stream testing Verify RTSP sources

Log Analysis

Check system logs for errors via Support → Logs in the web interface.

H.265 Specific Issues

Issue Cause Solution
H.265 not playing Browser incompatibility Add H.264 output for web viewers
High CPU with H.265 Complex encoding Use faster preset or reduce resolution
H.265 → H.264 quality loss Bitrate too low Increase H.264 bitrate by 40%
HDR lost in output Profile mismatch Use Main10 profile for HDR

SRT Connection Issues

Error Meaning Fix
Connection timeout Firewall blocking Open UDP port (default 9000)
Authentication failed Wrong passphrase Verify passphrase matches
High latency warning Network congestion Increase latency parameter
Stream ID rejected Invalid stream ID Check streamid format

Common Log Messages

Message Meaning Action
Connection refused Source unreachable Check IP and port
Invalid data found Codec mismatch Verify source format
Buffer underflow Network congestion Increase buffer size
License exceeded Stream limit reached Upgrade license

Appendices

Appendix A: SSL Certificate Management

Exporting Certificates (Windows)

  1. Open MMC (Win+R, type mmc)
  2. Add Certificates snap-in
  3. Navigate to Personal → Certificates
  4. Right-click certificate → All Tasks → Export
  5. Export with private key (PFX format)
  6. Set strong password
  7. Save PFX file

Uploading to WINK Forge

  1. Navigate to Settings → System Options → SSL Certificate
  2. Choose "Upload Certificate"
  3. Select PFX file
  4. Enter PFX password
  5. Apply and restart services

Let's Encrypt Integration

# Requirements
- Public domain name
- Port 80 accessible from internet
- DNS pointing to WINK Forge

# Automatic renewal
Certificates renew automatically every 60 days
        

Appendix B: Network Configuration

Firewall Ports

Port Protocol Direction Purpose
443 TCP Inbound HTTPS (Web/API)
444 TCP Inbound Admin HTTPS
554 TCP In/Out RTSP
1935 TCP In/Out RTMP
8080-8090 TCP Inbound HTTP Streams
5000-5999 UDP In/Out RTP/RTCP

Network Bonding

Configure multiple network interfaces for redundancy:

Mode Description Use Case
Active-Backup Failover only High availability
Balance-RR Round-robin Load distribution
802.3ad LACP Switch support required
Balance-ALB Adaptive load No switch config needed

Appendix C: Performance Tuning

System Requirements

Workload CPU RAM Storage
10 HD streams 8 cores 16 GB 500 GB SSD
50 HD streams 16 cores 32 GB 1 TB SSD
100+ HD streams 32 cores 64 GB 2 TB NVMe
4K streaming Additional cores +16 GB +50% storage

Performance Optimization

WINK Forge uses intelligent resource management:

CPU Optimization Best Practices

Disable Hyper-Threading

For maximum transcoding performance, disable Intel Hyper-Threading (HT) or AMD SMT in BIOS:

BIOS Setting: Look for "Hyper-Threading Technology" (Intel) or "Simultaneous Multithreading" (AMD) and set to Disabled.

One Core Per Stream Rule

For optimal performance, allocate approximately one physical CPU core per transcoding stream:

Physical Cores Recommended Streams Notes
4 cores 3-4 streams Reserve 1 core for system overhead
8 cores 6-8 streams Good for small deployments
16 cores 12-16 streams Mid-size installations
32 cores 28-32 streams Enterprise deployments
64 cores 56-64 streams Large-scale installations
Passthrough Streams: Streams using copy mode (no transcoding) require minimal CPU. You can support many more passthrough streams than transcoding streams on the same hardware.

CPU Selection Guidelines

Memory Considerations

Tip: Monitor CPU usage per stream. If any stream consistently exceeds 100% of one core's capacity, reduce output quality or add more hardware.

Appendix D: Codec Comparison Guide

Video Codec Selection

Use Case Recommended Codec Reason
Traffic Cameras H.264 Proven reliability over cellular/wireless
Field Deployments H.264 Handles packet loss gracefully
Web Streaming H.264 Universal browser support
Low Latency H.264 (Baseline) Minimal processing delay
Wireless/Cellular H.264 Error resilience + compatibility
Archive Only H.265 (maybe) Only for controlled storage

Why H.264 Dominates Field Deployments

Real-world experience shows H.264's superiority for field cameras:

Real-World Example: A traffic camera using H.265 over LTE may save 30% bandwidth but will experience complete frame loss during network congestion. The same camera with H.264 will show minor artifacts but remain viewable. The bandwidth "savings" are meaningless if the stream fails.

Codec Feature Matrix

Feature H.264 H.265 VP9 AV1
Max Resolution 4K 8K 8K 8K
10-bit Support Limited Yes Yes Yes
HDR Support No Yes Yes Yes
Encoding Speed Fast 2-4x Slower 5x Slower 10x Slower
Error Recovery Excellent Poor Poor Poor
Wireless Performance Excellent Problematic Problematic Unsuitable
Patent Status Licensed Licensed Open Open

Appendix E: Common Transcoding Workflows

Workflow 1: Traffic Camera to Multi-Bitrate HLS

Standard configuration for field cameras (ALWAYS use H.264):

Input:
  Type: RTSP
  Path: rtsp://camera.local:554/stream1
  Auto-detect: Enabled

Outputs:
  1. HLS Low (360p)
     Resolution: 640x360
     Bitrate: 800 Kbps
     Path: /hls/camera1_low

  2. HLS Medium (720p)
     Resolution: 1280x720
     Bitrate: 2500 Kbps
     Path: /hls/camera1_med

  3. HLS High (1080p)
     Resolution: 1920x1080
     Bitrate: 5000 Kbps
     Path: /hls/camera1_high

Master Playlist: /hls/camera1/master.m3u8

CODEC NOTE: All outputs use H.264 - DO NOT use H.265 for field cameras!
        

Workflow 2: H.265 to H.264 Conversion

Fix problematic H.265 field cameras by converting to reliable H.264:

Input:
  Type: RTSP
  Path: rtsp://4k-camera.local/h265stream
  Codec: H.265 (auto-detected)

Output:
  Format: RTMP
  Path: rtmp://cdn.example.com/live/camera
  Codec: H.264
  Profile: High
  Bitrate: 8000 Kbps (40% higher than source)
  Preset: fast (balance quality/CPU)

NOTE: This is fixing a deployment mistake. New cameras should use H.264 from the start.
        

Workflow 3: SRT Remote Production

Reliable streaming over internet:

Input:
  Type: SRT (Listener)
  Path: srt://0.0.0.0:9000?mode=listener
  Passphrase: ProductionKey2025
  Latency: 500ms

Outputs:
  1. Program Feed
     Format: RTSP
     Path: rtsp://0.0.0.0:554/program

  2. Backup Stream
     Format: SRT (Caller)
     Path: srt://backup.site:9000?streamid=main

  3. Web Preview
     Format: HLS
     Path: /hls/preview
     Bitrate: 1000 Kbps
        

Workflow 4: VMS Bridge with Transcoding

Connect incompatible VMS systems:

Input:
  Type: Genetec
  Source: Via SDK integration
  Original: H.265 + G.711 audio

Outputs:
  1. Milestone Compatible
     Format: RTSP
     Codec: H.264 Baseline
     Audio: AAC
     Resolution: Maintain original

  2. Archive Copy
     Format: File (MP4)
     Codec: H.265 (preserve)
     Segment: 1 hour files
        

Workflow 5: Bandwidth Optimization

Reduce bandwidth for remote sites:

Input:
  Type: RTSP
  Original: 4K @ 15 Mbps

Outputs:
  1. Remote Site A (Limited bandwidth)
     Resolution: 1280x720
     Bitrate: 1500 Kbps
     FPS: 15
     Codec: H.264  # Reliability over savings

  2. Remote Site B (Very limited)
     Resolution: 640x360
     Bitrate: 500 Kbps
     FPS: 10
     Codec: H.264  # Still H.264 for reliability!

  3. Local Recording
     Resolution: Original (4K)
     Codec: H.264  # H.265 only if on fiber/local network
     Quality: High

IMPORTANT: Even for "bandwidth optimization", H.264 is preferred.
The minor savings from H.265 don't justify the reliability risks.
        

Best Practices Summary

Field Deployment Golden Rule: If you're unsure which codec to use, choose H.264. The minimal bandwidth savings from newer codecs are meaningless when the stream fails. H.264's error resilience and universal compatibility make it the only sensible choice for real-world deployments.

Appendix F: Web Interface Reference

Navigation Menu Pages

Complete reference for all web interface pages accessible via the hamburger menu:

WINK Forge Section

Page Description Key Functions
Cameras Main camera/input list and status dashboard Add/edit/delete inputs, view status, restart streams
ONVIF Devices ONVIF camera discovery and configuration Scan network, import cameras, configure profiles
Genetec Devices Genetec Security Center integration Import from XML, configure SDK connection
Import / Export Configuration backup and restore Export/import streams, watermarks, users, Excel export

Security Section

Page Description Key Functions
Connected IPs View active connections with GeoIP location Monitor connections, view geographic distribution

Settings Section

Page Description Key Functions
Watermarks Image overlay management Upload images, configure position and opacity
Network Network interface configuration IP settings, DHCP, MTU, bonding
Users User account management Add/edit users, set permissions, manage access
System Options Hostname, NTP, SSL, VRRP settings Configure hostname, time sync, certificates, HA

Tools Section

Page Description Key Functions
Ping Test Network connectivity test Configure host, packet size, sample count
Traceroute Network path analysis Trace route to destination, set max hops
MTR Combined ping and traceroute Continuous network path analysis
TCP Dump Packet capture utility Capture packets, filter by interface, download PCAP
RTSP Probe Test RTSP stream connectivity Test URLs, view stream parameters
Resize Calculator Calculate codec-compliant dimensions Ensure valid resolution for encoders
API Test Tool Interactive API testing Send API commands, view responses

Support Section

Page Description Key Functions
Network Clients View connected stream clients Monitor active viewers, connection details, bandwidth usage
System Graphs CPU, memory, bandwidth graphs Monitor system performance over time
Logs System event and security logs View events, filter by type, export logs
System Info Hardware and software details View CPU, memory, disk, network info
Reboot System restart options Reboot appliance, schedule restarts
Contact WINK Streaming support contact Support information, documentation links
Console Web-based terminal access Direct system console for advanced diagnostics

User Types Reference

Type Access Level Capabilities
Admin Full Complete system access, user management, settings
Operator Standard Camera management, stream control, limited settings
Viewer Read-only View streams and status only
API API only No web interface, API access only
OTP Token One-time password generation for stream access

VRRP High Availability

Configure VRRP for automatic failover between primary and backup Forge appliances:

Setting Primary Backup
State MASTER BACKUP
Priority 100 50
Router ID Same on both (e.g., 51)
Password Same on both
Virtual IP Same on both (shared IP)

© 2025 WINK Streaming LLC. All rights reserved.

Document Version: 9.x Fall 2025

For support: support@wink.co | +1-312-281-5433

WINK Streaming LLC - Miami, Florida