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.
Learn more about WINK Forge features on our product page.
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 |
Pre-configured hardware solutions optimized for video processing:
Deploy on your existing virtualization infrastructure:
Fully managed cloud instances:
The WINK Forge web administration interface provides complete control over all system functions. Access methods vary by firmware version:
| Version | HTTP Port | HTTPS Port |
|---|---|---|
| Firmware 5.x | 88 | 444 |
| Firmware 4.x | 80 | 443 |
Initial system access requires the default credentials:
Username: admin
Password: admin_pass
Shared Key: admin_key
Configure SSL certificates for secure access:
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.
| 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 |
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:
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
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
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
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
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 |
| 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 |
| 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 |
WINK Forge intelligently detects input parameters when "Auto" is selected:
Remove unwanted portions of the video frame:
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"
| 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 |
Associate metadata with streams for downstream applications:
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)
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:
# 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
WINK Forge supports multiple simultaneous outputs per input, enabling diverse distribution strategies:
| 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 |
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
| 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 |
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.
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 |
# 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!
| 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 |
| 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 |
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 |
WINK Forge includes powerful video processing filters for image enhancement and correction:
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 |
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 |
WINK Forge supports comprehensive audio manipulation:
| 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 |
# 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
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
Send streams to CDN or streaming services:
# Output configuration
Format: RTMP
Path: rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx
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
SRT provides encrypted, reliable streaming over unpredictable networks:
| 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 |
# 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
# Output configuration
Format: RTSP
Path: rtsp://0.0.0.0:8554/stream1
# Access URL
rtsp://forge.example.com:8554/stream1
| Mode | Protocol | Use Case |
|---|---|---|
| RTP/UDP | UDP | Low latency, LAN |
| RTP/TCP | TCP | Firewall friendly |
| RTP/RTSP | Interleaved | Single connection |
# Basic authentication
rtsp://username:password@forge.example.com:8554/stream1
# Digest authentication (automatic negotiation)
Configured in user management
# 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
# 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+)
Protect content with AES-128 encryption:
# 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
WebRTC provides ultra-low-latency streaming directly to web browsers without plugins:
# 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>
| 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 |
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
Understanding protocol overhead helps optimize bandwidth and choose the right delivery method:
| 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 |
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 |
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)
WINK Forge provides native integration with Genetec Security Center through the SDK:
# 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
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
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] |
# 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
WINK Forge excels at bridging between incompatible VMS platforms:
| 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 |
Make any source appear as a standard IP camera:
The WINK Forge API provides complete programmatic control over all system functions. All API calls require SSL and authentication.
https://forge.example.com/api/
<wink_api user='username' pass='password' key='shared_key'>
<req id='1' command='command_name'>payload</req>
</wink_api>
<wink_api>
<resp id="1" command="command_name" status="ok">response_data</resp>
</wink_api>
| Command | Description | Payload |
|---|---|---|
| start | Start transcoding | GUID or 'all' |
| stop | Stop transcoding | GUID or 'all' |
| restart | Restart transcoding | GUID or 'all' |
<wink_api user='apiuser' pass='apipass'>
<req id='1' command='restart'>WF05-2657-1C04-7F1B-5EC0</req>
</wink_api>
<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
| 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 |
<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>
| 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 |
<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
<wink_api user='admin' pass='adminpass'>
<req id='1' command='changepassword'>
<username>jsmith</username>
<password md5='false'>NewPass456!</password>
</req>
</wink_api>
OTP provides temporary access tokens for secure stream viewing, ideal for:
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
| 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 |
# Append token to stream URL
https://forge.example.com/hls/stream1/playlist.m3u8?token=24814928371014572819abc123def456
Add logos or branding to video streams:
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 |
# 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
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 |
WINK Forge's intelligent auto-detection system eliminates manual configuration for most streams:
| 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% |
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"
WINK Forge provides comprehensive monitoring through its web interface dashboard:
| 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 |
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 configuration and statistics for analysis:
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 |
| 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 |
Preset: ultrafast (lowest CPU) Profile: baseline (simpler encoding) Codec: Consider H.265 for better compression
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 |
Check system logs for errors via Support → Logs in the web interface.
| 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 |
| 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 |
| 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 |
mmc)
# Requirements
- Public domain name
- Port 80 accessible from internet
- DNS pointing to WINK Forge
# Automatic renewal
Certificates renew automatically every 60 days
| 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 |
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 |
| 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 |
WINK Forge uses intelligent resource management:
For maximum transcoding performance, disable Intel Hyper-Threading (HT) or AMD SMT in BIOS:
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 |
| 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 |
Real-world experience shows H.264's superiority for field cameras:
| 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 |
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!
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.
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
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
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.
Complete reference for all web interface pages accessible via the hamburger menu:
| 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 |
| Page | Description | Key Functions |
|---|---|---|
| Connected IPs | View active connections with GeoIP location | Monitor connections, view geographic distribution |
| 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 |
| 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 |
| 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 |
| 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 |
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