๐ PINNED
DRM & Content Security
Oct 31, 2026
### How MediaCage Kernel Protection Works
Our client-side and server-side DRM suite provides defense-in-depth protection:
1. **Kernel Daemon Sensor**:
Actively detects OS screen recording daemons (such as `screencapture` on macOS, Xbox Game Bar, and background OBS hook processes). If an active recorder is detected, video decryption is paused and replaced with a hardware security warning.
2. **Canvas WebGL Compositor**:
Renders video frames via an isolated GPU WebGL texture compositor that blocks OS print-screen / screenshot APIs.
3. **Dynamic Steganographic Watermarking**:
Overlays the viewer's IP address, User ID, and timestamp dynamically across the video frames to deter physical camera recording.
4. **URL Token Signing**:
Every stream segment requires a SHA256 HMAC token with an expiration time, strictly bound to the viewer's IP or User-Agent.
๐ PINNED
Live Streaming & OBS
Oct 30, 2026
### Complete OBS Studio Setup Guide for Hunny Live Studio
To stream ultra-low latency live broadcasts using RTMP with instant multi-rendition HLS transcoding, follow these recommended settings:
#### 1. Configure Stream Settings in OBS:
- **Service**: Custom...
- **Server**: `rtmp://localhost:1935/live` (or your public RTMP ingest hostname)
- **Stream Key**: Enter the Stream Key from your library's **Live Studio** card (e.g. `live_key_...`)
#### 2. Video Output & Encoding Settings:
- **Rate Control**: CBR (Constant Bitrate)
- **Bitrate**: 3,500 โ 6,000 Kbps (for 1080p60) or 2,500 Kbps (for 720p60)
- **Keyframe Interval**: `2s` (**Critical** for sub-2s HLS/DASH segment chunking)
- **CPU Usage Preset**: `veryfast`
- **Tune**: `zerolatency`
#### 3. Automatic Archiving & DVR:
When your broadcast ends, Hunny's background transmuxer automatically packages the live session into an MP4 and creates a video asset in your library for permanent on-demand replay.
Live Streaming & OBS
13 h ago
Detailed walk-through on setting up custom CBR bitrates and keyframes in OBS Studio.
Player & Embed Integrations
Nov 1, 2026
### Programmatic Player Integration
The Hunny video player natively implements the **Player.js** cross-platform specification.
```html
<iframe id="video-frame" src="http://localhost:4317/embed/LIBRARY_ID/VIDEO_ID" allow="autoplay; fullscreen" width="640" height="360"></iframe>
<script src="https://cdn.jsdelivr.net/npm/playerjs@0.0.12/dist/player.min.js"></script>
<script>
const iframe = document.getElementById('video-frame');
const player = new playerjs.Player(iframe);
player.on('ready', () => {
console.log('Player is ready for playback');
});
player.on('play', () => {
console.log('Video started');
});
player.on('timeupdate', (data) => {
console.log('Current time:', data.seconds, 'Duration:', data.duration);
});
// Programmatic controls:
// player.play();
// player.pause();
// player.setCurrentTime(45);
// player.setVolume(80);
</script>
```
Edge Storage & AWS S3
Nov 1, 2026
### AWS S3 Compatible API Gateway
Hunny provides a native S3 REST API gateway mounted at `http://localhost:4317/s3` (or `https://s3.hunny.net`).
#### AWS CLI Example Configuration (`~/.aws/credentials`):
```ini
[hunny]
aws_access_key_id = <Your Storage Zone Name>
aws_secret_access_key = <Your Storage Zone AccessKey>
```
#### Listing & Uploading Files:
```bash
# List all files in your Storage Zone
aws --endpoint-url=http://localhost:4317/s3 s3 ls s3://my-storage-zone/
# Upload a directory
aws --endpoint-url=http://localhost:4317/s3 s3 cp ./backup.tar.gz s3://my-storage-zone/backups/
```
Files are instantly replicated across your chosen storage regions.