Kerbcast

A HullcamVDS camera streaming mod, with an emphasis on performance and embedability.

License: CC-BY-NC-SA

ML/AI: 

Game Version: 1.12.5

Source code: ksp-gonogo/kerbcast

Author: jpeps

Downloads: 1,198

Followers: 3

kerbcast

A from-scratch, high-performance oriented successor to OCISLY for streaming Kerbal Space Program camera feeds to a browser. Hardware-accelerated H.264 over WebRTC, with full Hullcam VDS camera-type fidelity. Designed with Linux in mind, with support for Windows and MacOS.

Features

  • Camera sources
  • Streams HullcamVDS camera sources to a browser via the bundled kerbcast web UI or through @ksp-gonogo/kerbcast, a TypeScript SDK
  • Streams each crew member's face as a live camera, seated in the cabin and out on EVA, shown together in a dedicated crew bar
  • Can point a pannable, zoomable camera at the active vessel or its target and have it follow automatically, aiming and zooming to keep it framed
  • Command Cameras: Kerbcast's own API for pointing and tracking custom cameras (see below)
  • Supports performance tweak options to keep fps reasonable through degrading resolution, framerate, and shedding render layers. By default, performance should feel vastly improved over the original OCISLY mod
  • Introduces optional shaders for wind and re-entry FX
  • Supports popular visual mods so their effects show on the camera feeds: Scatterer, EVE, TUFX, Deferred, Firefly, and Parallax
  • HullcamVDS implementation enhancements:
  • Honours each camera's cameraMode so B&W / CRT / night-vision variants look like they do in the in-game Hullcam GUI
  • Introduces planned but never fully implemented panning options for turret cam and launch cam
  • Supports a data channel for sending control data from clients (eg pan/zoom)
  • Fixes and patches long term issues on Linux

Command cameras - New in 1.12

Command cameras aren't parts on a craft. They attach to vessels at physical sites like launchpads and groundstations, and stream like any other feed. The SDK supports custom camera creation, and the mod API allows other mods to extend this, too.

Launchpad camera

Automatically placed close to the active launchpad, it tracks the active craft and tries to keep it in frame as it ascends.

Camera Networks

From settings in the Kerbcast UI, create groups of ground stations and craft that produce a shared feed of the best current visual of the target craft. They save along with your game, so you can create consistent satellite networks for visual fidelity.

Right now, any craft can contribute a feed and there is no physical telescope part.

Career mode

Hullcam VDS camera parts unlock in the tech tree. Command cameras are always available but improve with a few tech levels, visible in the Kerbcast UI.

Launchpad camera tech

Tracking Station Lens Zooms to about
Level 1 15" 1.2°
Level 2 4" 0.32°
Level 3 1" 0.08° (a little wider through the air)

Camera network levels for vessels

Note that this is distinct from physical camera parts placed on the craft.

Research Space lens Zooms to about
Scanning Tech 0.5" 0.04°
Advanced Science Tech 0.2" 0.016°
Experimental Science 0.05" 0.004°

Install

Easiest is CKAN. Otherwise grab the latest kerbcast-*.zip from the releases page (or the SpaceDock listing) and follow the install steps in that release's notes. For a manual install, ensure you also install Hullcam VDS Continued and Harmony 2.

For the longer version with multi-device setup, configuration, info on what's in the bundle, see docs/INSTALL.md. If something doesn't work, docs/TROUBLESHOOTING.md walks the common failures.

kOS addon (optional)

KerbcastKos lets a kOS script running on a vessel enumerate that vessel's kerbcast cameras and control them from kerboscript: set field of view, pan steerable mounts, target-track a moving point (SET cam:AIM TO { RETURN TARGET:POSITION. }.), and auto-track the active vessel or its target on a pannable, zoomable camera (SET cam:TRACK TO "target".). Auto-track is shared with the browser: a mode set from kerboscript shows up in every viewer, and a viewer-set mode reads back in kerboscript. It ships as a separate optional download (KerbcastKos-*.zip on the releases page) and needs both kerbcast and kOS installed.

Full API and examples: GameData/KerbcastKos/README.md.

Companion project

gonogo - a mission-control browser SPA that consumes kerbcast feeds (and a few other things).

Differences to OCISLY

OCISLY uses ReadPixels + EncodeToJPG on the game's main thread and ships JPEG over unary gRPC at 30 Hz. That works, but it costs real frame budget, particularly on lower powered devices, and doesn't support the visual character that Hullcam VDS encodes per part. Kerbcast aims to fix both while prioritising high performance through hardware encoding and modern Unity API use.

Technical Detail

  • Captures KSP Hullcam VDS camera feeds inside the game via AsyncGPUReadback, with zero stall on the game's main thread
  • Encodes them in an out-of-process 'sidecar': software H.264 (OpenH264) as the fallback, with hardware H.264 on Linux / Steam Deck (libva), and NVENC (Windows). VideoToolbox (macOS) is stubbed pending implementation
  • Streams them out as WebRTC media tracks, with adaptive bitrate, congestion control, and packet loss recovery for free
  • Renders cameras only when a peer is subscribed, so no idle CPU work and no in-game UI required

Performance

This mod was built initally for getting best performance out of Steam Deck, and it does a good job of it. Regardless of the number of camera renders streaming, Kerbcast can adjust quality and framerate to ensure KSP FPS stays within the ideal range for in-game physics. It also uses a time budget to ensure it doesn't balloon render time. Each stream is SD by default, but can be increased. Render quality will always be able to reduce to ensure streaming continues.

Loading changelog...

Stats for Kerbcast

Downloads over time

Downloads per version

New followers per day

Top Referrers

  1. spacedock.info
  2. www.google.com
  3. sd1b.52k.de
  4. sd-prod-live.52k.de
  5. www.aocr.org
  6. forum.kerbalspaceprogram.com
  7. sd1a.52k.de
  8. www.bing.com
  9. sd-prod-stage.52k.de
  10. github.com

Export Raw Stats

Export Downloads

Export Followers

Export Referrals

Raw stats are from the beginning of time until now. Each follower and download entry represents one hour of data. Uneventful hours are omitted.