Files
ytLlive/Models/StreamConfig.cs
T
gramps 9103ff1fb7 Initial scaffold: ytLive C# WPF project
- MVVM architecture (Models, ViewModels, Views, Services, Helpers)
- Models: Scene, Source, StreamConfig, StreamHealth, YouTubeChannel, ChatMessage
- Services: YouTubeAuthService (OAuth2), YouTubeStreamService (broadcasts/stream health),
  YouTubeChatService (live chat polling)
- ViewModels: MainViewModel with scene management, stream controls, chat
- MainWindow with dark theme: scene/source panel, preview area, chat panel, status bar
- Version roadmap: v0.1 (scenes, RTMP, OAuth2, chat, health) -> 1.0
2026-08-04 09:09:52 -07:00

36 lines
1.0 KiB
C#

namespace ytLive.Models;
public enum StreamStatus
{
Offline,
Connecting,
Streaming,
Error
}
public class StreamConfig
{
public string Title { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public string StreamKey { get; set; } = string.Empty;
public string IngestUrl { get; set; } = "rtmp://a.rtmp.youtube.com/live2";
public bool IsLowLatency { get; set; } = true;
public int TargetBitrate { get; set; } = 6000;
public int TargetFps { get; set; } = 60;
public string Resolution { get; set; } = "1920x1080";
}
public class StreamHealth
{
public StreamStatus Status { get; set; }
public double CurrentBitrate { get; set; }
public int DroppedFrames { get; set; }
public double FPS { get; set; }
public TimeSpan StreamDuration { get; set; }
public string? LastError { get; set; }
// YouTube-specific
public string? HealthStatus { get; set; } // "good", "bad", "ok"
public string? HealthMessage { get; set; }
}