Package sidplay.audio.xuggle


package sidplay.audio.xuggle
Provides audio and video output implementations based on the Xuggle (FFmpeg) library.

This package integrates the SID emulation engine with Xuggle's encoding and streaming capabilities, allowing JSIDPlay2 to record and stream combined audio and video output.

Key features

  • Real-time video generation from the emulated C64 VIC display
  • Synchronized audio encoding from the SID output
  • Support for multiple container formats (e.g., FLV, MP4, HLS, RTMP)
  • Configurable bitrates, codecs, and quality presets
  • Frame-accurate timestamping based on the C64 CPU clock

Classes

  • XuggleVideoDriver – Base class implementing both audio and video drivers using Xuggle encoders.
  • XuggleBase – Shared utility functionality for error handling and Xuggle setup.

Usage

Typical subclasses define the target format and codecs, e.g.:
 public final class XuggleFlvDriver extends XuggleVideoDriver {
     protected String getOutputFormatName() { return "flv"; }
     protected ID getVideoCodec() { return ID.CODEC_ID_FLV1; }
     protected ID getAudioCodec() { return ID.CODEC_ID_MP3; }
     ...
 }
 

This package depends on the Xuggle library and requires native FFmpeg support.