Overview
WhaleOS is the Smart TV platform powered by Naver’s Whale browser. The Adgent SDK provides native support for WhaleOS with optimized detection and key mapping for Whale-based TV devices.Supported Versions
- WhaleOS 1.0+: Fully supported
- Whale Browser: Compatible with Whale browser on TV devices
Platform Detection
The SDK automatically detects WhaleOS platforms using user agent patterns:- User agent matches
/WhaleTV/i - User agent matches
/Whale/i
Platform-Specific Features
Modern Browser Engine
WhaleOS is built on a modern Chromium-based browser engine, providing:- Modern JavaScript (ES2020+) support
- Full Web APIs compatibility
- Better codec support than legacy platforms
- Standard web video playback
Video Capabilities
WhaleOS platform capabilities:- Resolution: Up to 4K (varies by hardware)
- Codecs: H.264, HEVC (on compatible hardware), VP9
- HDR: Limited support (depends on TV model)
- Autoplay: Muted autoplay required
Remote Control Key Codes
WhaleOS uses standard web key codes with simplified media controls:| Key Action | Key Code | Description |
|---|---|---|
| Enter | 13 | OK/Select button |
| Back | 27 | Escape key |
| Left | 37 | Navigate left |
| Up | 38 | Navigate up |
| Right | 39 | Navigate right |
| Down | 40 | Navigate down |
| Play | 415 | Play media |
| Pause | 19 | Pause media |
| Stop | 413 | Stop playback |
Key Code Normalization
Device Information
Access WhaleOS-specific device information:Code Example
Complete example for WhaleOS platform:Known Limitations
Media Key Support
- Limited Keys: Only basic media keys (Play, Pause, Stop) are exposed
- No Color Buttons: Red, Green, Yellow, Blue buttons not available
- No Volume Controls: Volume/mute not exposed to web apps
- No Channel Controls: Channel up/down not available
- No PlayPause Toggle: Separate Play (415) and Pause (19) keys only
Platform Maturity
- Newer Platform: Less widespread than Tizen or WebOS
- Limited Testing: Fewer devices in the wild for compatibility testing
- Documentation: Less vendor documentation compared to Samsung/LG platforms
Video Features
- Variable HDR Support: HDR availability depends on hardware
- Codec Detection Required: HEVC/VP9 support varies by device
- No Hardware Decode Info: Platform does not expose detailed codec capabilities
Network & Performance
- Bitrate Limits: Conservative bitrate recommended (2500-3000 kbps)
- 4K Playback: May be unstable depending on hardware
- Memory Constraints: Similar to other TV platforms, aggressive cleanup required
External Links
- Opening external links via
openExternalLink()is not supported - The method will log a warning and return without action
Performance Optimization
Recommended Configuration
Video Encoding Guidelines
For optimal WhaleOS playback:- Codec: H.264 Main Profile Level 4.1 (primary), HEVC (optional fallback)
- Resolution: 1920x1080 recommended (4K optional for newer models)
- Bitrate: 2500-3000 kbps target
- Frame Rate: 30fps recommended
- Audio: AAC-LC, 128-192 kbps
- Container: MP4 (preferred)
Codec Detection
Debugging
Best Practices
- Moderate Bitrates: Use 2500-3000 kbps for stability
- H.264 Fallback: Always provide H.264 option for maximum compatibility
- Test Codec Support: Use
isCodecSupported()to detect HEVC/VP9 availability - Handle Escape Key: Use keyCode 27 for back button
- Muted Autoplay: Always enable muted autoplay for compliance
- Clean Up Resources: Call
sdk.destroy()when done - Modern Web APIs: Take advantage of Chromium-based features
- Graceful Degradation: Implement error handling and fallbacks
Whale Browser Specifics
WhaleOS is built on Naver Whale browser, which provides:- Chromium Base: Modern web standards support
- ES2020+ Support: Use modern JavaScript features
- Web Components: Full custom element support
- Fetch API: Native fetch with keepalive support
- Promises: Full async/await support
