Skip to content

Releases: 0ceanSlim/gnostream

GnoStream v0.1.2-prerelease

12 Sep 16:20

Choose a tag to compare

Pre-release

GnoStream v0.1.2-prerelease

๐ŸŽ‰ Major Features

๐Ÿ–ฅ๏ธ Full-Featured CLI Interface

  • Complete CLI system with gnostream command
  • Configuration management (config get/set/show)
  • Nostr event management (events list/delete/cleanup)
  • Stream monitoring and debugging (stream status/metadata)
  • Cleanup utilities for stale streams and events

๐Ÿ”— Nostr Integration Groundwork

  • Added comprehensive Nostr client architecture
  • Integrated with Grain client for better performance and reliability
  • Prepared authentication system for future login features
  • Complete Nostr event lifecycle management (create, update, delete with NIP-09)

๐ŸŽจ UI/UX Improvements

  • Enhanced mobile responsiveness and navigation
  • Added professional cyberpunk-themed login modal (placeholder for upcoming features)
  • Better video player layout and controls
  • Improved extension loading and error handling

๐Ÿ› ๏ธ Infrastructure & Build System

๐Ÿ“ฆ Docker & Deployment

  • Fixed TailwindCSS compilation and serving - resolved styling issues in production builds
  • Added /style/ route with proper MIME type handling for CSS files
  • Enhanced Docker build process with better dependency management
  • Improved cross-platform build support (Linux, macOS, Windows)

๐Ÿ”ง Development Experience

  • Sophisticated git-based versioning system - matches Grain's approach
  • Development versions now show as v1.0.0-dev.5 instead of generic "beta"
  • Build-time version injection for consistent version reporting
  • Comprehensive CLI documentation and examples

๐Ÿ› Bug Fixes & Stability

  • Fixed RTMP server restart issues and improved connection handling
  • Resolved HLS configuration override problems
  • Better stream metadata handling and persistence
  • Improved frontend state management and error recovery
  • Fixed Windows build compatibility issues

โš ๏ธ Known Limitations

  • Nostr Login: UI is implemented but not fully functional yet - login with Nostr and chat features coming soon!
  • Extension Loading: Some browser extensions may need additional compatibility work

๐Ÿ“š Documentation

  • Added complete CLI usage guide (docs/cli-guide.md)
  • Enhanced development setup instructions
  • Docker deployment examples and configuration guides

๐Ÿš€ What's Next

  • Full Nostr authentication implementation
  • Real-time chat integration
  • Social features

Installation

Download the appropriate binary for your platform from the releases page, extract, and run:

# Start the streaming server
./gnostream

# Or use CLI commands for management
./gnostream --help

Development

This is a prerelease - expect rapid changes and improvements. Feedback and testing are welcome!

Key Changes Since Previous Version

  • Client Integration: Transitioned to Grain client architecture
  • CSS Fix: Resolved major styling issue where TailwindCSS wasn't being served correctly in production
  • CLI System: Brand new command-line interface for stream and configuration management
  • Versioning: Proper semantic versioning with development build tracking
  • Nostr Prep: Foundation work for upcoming social features (UI placeholder added)

v0.1.1-prerelease

09 Sep 13:40

Choose a tag to compare

v0.1.1-prerelease Pre-release
Pre-release

๐Ÿš€ v0.1.1-prerelease

๐ŸŽฏ Mobile Experience Overhaul

๐Ÿ“ฑ Mobile Navigation

  • NEW: Fully functional mobile dropdown navigation
  • FIXED: Mobile navigation now works reliably
    across all devices
  • IMPROVED: Touch-friendly button sizes (44px
    minimum) for better mobile UX
  • ENHANCED: Cyberpunk-themed dropdown with hover
    effects and smooth animations

๐Ÿ“บ Video Player Optimizations

  • FIXED: Video aspect ratio now properly displays
    16:9 (1920x1080) content
  • IMPROVED: Video player scales responsively across
    all screen sizes
  • ENHANCED: Mobile-friendly video controls with
    adaptive button text
  • OPTIMIZED: Video container uses aspect-video
    class for consistent sizing

๐ŸŽ›๏ธ Stream Configuration & Hot Reloading

โšก Dynamic Configuration Updates

  • NEW: Hot reload functionality for HLS settings
    changes
  • NEW: Hot reload support for recording mode
    toggles
  • FIXED: Stream settings now update without
    requiring server restart
  • ENHANCED: RTMP server automatically restarts with
    new settings when stream-info.yml changes

๐Ÿ“น Recording System Improvements

  • FIXED: Recording mode (record: true) now
    properly ignores HLS playlist size limits
  • IMPROVED: When recording is enabled, segments are
    kept indefinitely for archival
  • ENHANCED: HLS behavior dynamically adjusts based
    on recording settings:
    • Recording ON: Unlimited playlist size
      (-hls_list_size 0), no segment deletion
    • Recording OFF: Uses configured playlist size,
      deletes old segments

๐Ÿ”ง Configuration Watcher

  • NEW: Real-time monitoring of stream-info.yml
    changes (3-second interval)
  • NEW: Automatic FFmpeg process restart when
    critical settings change
  • IMPROVED: Seamless setting updates without manual
    intervention
  • ENHANCED: Detailed logging for configuration
    changes and restarts

๐Ÿณ Docker Improvements

๐Ÿ“ฆ Container Dependencies

  • FIXED: Added missing ffmpeg package to Docker
    containers
  • UPDATED: Both Dockerfile and
    Dockerfile-prerelease now include ffmpeg
  • RESOLVED: Container startup failures due to
    missing stream processing dependencies

๐Ÿ“Š Metadata & API Enhancements

๐Ÿ—ƒ๏ธ Stream Metadata

  • NEW: Complete Nostr event JSON now included in
    metadata.json
  • NEW: Successful relay information added to stream
    metadata
  • ENHANCED: Frontend now has access to full event
    data and relay status
  • IMPROVED: Metadata structure includes both
    individual fields and complete event data

๐Ÿ”— API Consistency

  • MAINTAINED: All existing metadata fields
    preserved for backward compatibility
  • ADDED: New fields: last_nostr_event and
    successful_relays
  • ENHANCED: Richer data for frontend components and
    stream analytics

๐Ÿ› ๏ธ Technical Improvements

๐Ÿ”„ Hot Reload System

  • ARCHITECTURE: Intelligent config change detection
    with file modification time tracking
  • PERFORMANCE: Minimal resource usage with
    efficient 3-second polling
  • RELIABILITY: Deadlock prevention in RTMP server
    restart process
  • STABILITY: Proper cleanup and restart sequencing
    for FFmpeg processes

๐ŸŽจ Frontend Polish

  • RESPONSIVE: Mobile-first design improvements
    across all components
  • ACCESSIBILITY: Touch-friendly interfaces with
    proper hit targets
  • CONSISTENCY: Unified cyberpunk theming throughout
    mobile experience
  • PERFORMANCE: Optimized JavaScript with duplicate
    event listener prevention

๐Ÿ› Bug Fixes

  • Fixed mobile navigation visibility issues across
    different devices
  • Resolved HLS playlist size being ignored in recording
    mode
  • Fixed Docker containers missing ffmpeg dependency
  • Resolved duplicate event listeners causing multiple
    navigation dialogs
  • Fixed aspect ratio issues with video player on mobile
    devices
  • Resolved deadlock conditions in RTMP server config
    reloading
  • Fixed metadata.json missing complete Nostr event
    information

๐Ÿšง Breaking Changes

None - this release maintains full backward
compatibility.


Download: Release Assets
Docker: docker pull 0ceanslim/gnostream:v0.1.1-prerelease

Feedback: Please report issues at [GitHub Issues](h
ttps://github.com/0ceanslim/gnostream/issues)

Full Changelog: v-0.1.0-prerelease...v0.1.1-prerelease

gnostream prerelease

07 Sep 19:22

Choose a tag to compare

gnostream prerelease Pre-release
Pre-release

GNOSTREAM v0.1.0-prerelease ๐ŸŽฌ

Pre-release testing build - Live streaming server with RTMP support and automatic Nostr broadcasting.

โš ๏ธ This is a pre-release build for testing purposes. Use in production at your own risk.

๐Ÿš€ What's New

Core Features

  • RTMP Streaming Server - Built-in RTMP server for live streaming input
  • HLS Conversion - Automatic conversion to HLS format for web playback
  • Nostr Broadcasting - Automatic NIP-53 Live Activities event publishing to Nostr relays
  • Real-time Updates - Edit stream info while live streaming with hot-reload
  • Recording Control - Toggle recording on/off per stream
  • Archive System - Automatic archival of recorded streams with metadata
  • Cyberpunk Web Interface - Futuristic terminal-style web viewer

Nostr Integration

  • NIP-53 Live Activities support for stream broadcasting
  • NIP-09 Deletion Events for non-recorded streams (optional)
  • Real-time metadata updates - stream info changes broadcast instantly
  • Multi-relay publishing with success tracking
  • Automatic event lifecycle (start โ†’ update โ†’ end)

Web Interface

  • Live stream viewer with HLS.js playback
  • Archive browser with past stream playback
  • Real-time viewer analytics and session tracking
  • OBS widget support for stream overlays
  • Responsive cyberpunk design with terminal aesthetics
  • HTMX-powered SPA navigation

Technical Features

  • Cross-platform builds (Linux, macOS, Windows - x64 & ARM64)
  • Docker deployment with automatic release downloads
  • FFmpeg integration for RTMP processing
  • Hot-reloadable configuration without restarts
  • Comprehensive logging and error handling

๐Ÿ“ฆ Installation

Option 1: Download Binary (Recommended)

  1. Download the appropriate archive for your platform from the releases
  2. Extract and copy config.example.yml โ†’ config.yml
  3. Copy stream-info.example.yml โ†’ stream-info.yml
  4. Edit configurations with your settings
  5. Run ./gnostream (Linux/macOS) or gnostream.exe (Windows)

Option 2: Docker

# Download Dockerfile
curl -O https://raw.githubusercontent.com/yourusername/gnostream/main/docs/docker/Dockerfile-prerelease

Build and run

docker build -f Dockerfile-prerelease -t gnostream:prerelease .
docker run -d -p 8181:8181 --name gnostream-app gnostream:prerelease

โš™๏ธ Configuration

config.yml

server:
  port: 8181
  host: "0.0.0.0"
  external_url: "https://live.yourdomain.com"

rtmp:
port: 1935
host: "0.0.0.0"

nostr:
private_key: "nsec1abc..." # Your Nostr private key
delete_non_recorded: false
relays:
- "wss://relay.damus.io"
- "wss://wheat.happytavern.co"

stream-info.yml

title: "My Live Stream"
summary: "Stream description"
image: "https://example.com/thumbnail.jpg"
tags: ["live", "music", "chill"]
record: false  # true = save for later, false = live only

hls:
segment_time: 10 # Seconds per segment
playlist_size: 10 # Segments in playlist

๐ŸŽฏ Usage

  1. Start GNOSTREAM: ./gnostream
  2. Configure OBS:
    • Server: rtmp://your-server-ip:1935/live
    • No stream key needed
  3. Web Interface: http://your-server-ip:8181
  4. Live Updates: Edit stream-info.yml while streaming

๐Ÿ”— Endpoints

  • Web Interface: http://localhost:8181
  • Live Stream: http://localhost:8181/live/output.m3u8
  • Archives: http://localhost:8181/archive/
  • API: http://localhost:8181/api/stream-data
  • RTMP Input: rtmp://localhost:1935/live

๐Ÿงช Pre-release Testing

This pre-release includes all core functionality but may contain bugs. Please test:

  • RTMP streaming from OBS/similar
  • Web interface playback
  • Nostr event publishing
  • Recording on/off functionality
  • Stream info hot-reloading
  • Archive playback
  • Cross-platform compatibility

๐Ÿ› Known Issues

  • RTMP server requires manual restart if connection drops unexpectedly
  • Large archive directories may load slowly in web interface
  • Some browsers may have HLS playback issues (use Chrome/Firefox)

๐Ÿ› ๏ธ Requirements

  • FFmpeg (required for RTMP processing)
  • Linux/macOS/Windows x64 or ARM64
  • 4GB+ RAM recommended for recording
  • Modern browser for web interface

๐Ÿ“Š Platform Support

Platform Architecture Status
Linux x64 โœ… Tested
Linux ARM64 โœ… Tested
macOS Intel โœ… Tested
macOS Apple Silicon โœ… Tested
Windows x64 โš ๏ธ Pre-release
Windows ARM64 โš ๏ธ Pre-release

๐Ÿ”ฎ Coming in v0.1.0 Stable

  • Enhanced error recovery for RTMP connections
  • Performance optimizations for large archives
  • Additional Nostr relay compatibility
  • Improved documentation and setup guides
  • More OBS widgets and overlays

๐Ÿค Feedback

This is a pre-release - your feedback is crucial! Please report issues:

  • GitHub Issues: Create Issue
  • Nostr: npub1zmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9sjv7f60

๐Ÿ“ Changelog

Added

  • Initial RTMP streaming server implementation
  • NIP-53 Nostr Live Activities integration
  • HLS conversion and web playback
  • Recording system with archive management
  • Cyberpunk terminal-style web interface
  • Cross-platform build system
  • Docker deployment support
  • Real-time viewer analytics
  • OBS widget system

Full Changelog: https://github.com/yourusername/gnostream/commits/v0.1.0-prerelease

Built with Go 1.23 โ€ข Powered by FFmpeg โ€ข Broadcasts to Nostr

# GNOSTREAM v0.1.0-prerelease ๐ŸŽฌ

Pre-release testing build - Live streaming server with RTMP support and automatic Nostr broadcasting.

โš ๏ธ This is a pre-release build for testing purposes. Use in production at your own risk.

๐Ÿš€ What's New

Core Features

  • RTMP Streaming Server - Built-in RTMP server for live streaming input
  • HLS Conversion - Automatic conversion to HLS format for web playback
  • Nostr Broadcasting - Automatic NIP-53 Live Activities event publishing to Nostr relays
  • Real-time Updates - Edit stream info while live streaming with hot-reload
  • Recording Control - Toggle recording on/off per stream
  • Archive System - Automatic archival of recorded streams with metadata
  • Cyberpunk Web Interface - Futuristic terminal-style web viewer

Nostr Integration

  • NIP-53 Live Activities support for stream broadcasting
  • NIP-09 Deletion Events for non-recorded streams (optional)
  • Real-time metadata updates - stream info changes broadcast instantly
  • Multi-relay publishing with success tracking
  • Automatic event lifecycle (start โ†’ update โ†’ end)

Web Interface

  • Live stream viewer with HLS.js playback
  • Archive browser with past stream playback
  • Real-time viewer analytics and session tracking
  • OBS widget support for stream overlays
  • Responsive cyberpunk design with terminal aesthetics
  • HTMX-powered SPA navigation

Technical Features

  • Cross-platform builds (Linux, macOS, Windows - x64 & ARM64)
  • Docker deployment with automatic release downloads
  • FFmpeg integration for RTMP processing
  • Hot-reloadable configuration without restarts
  • Comprehensive logging and error handling

๐Ÿ“ฆ Installation

Option 1: Download Binary (Recommended)

  1. Download the appropriate archive for your platform from the releases
  2. Extract and copy config.example.yml โ†’ config.yml
  3. Copy stream-info.example.yml โ†’ stream-info.yml
  4. Edit configurations with your settings
  5. Run ./gnostream (Linux/macOS) or gnostream.exe (Windows)

Option 2: Docker

# Download Dockerfile
curl -O https://raw.githubusercontent.com/yourusername/gnostream/main/docs/docker/Dockerfile-prerelease

# Build and run
docker build -f Dockerfile-prerelease -t gnostream:prerelease .
docker run -d -p 8181:8181 --name gnostream-app gnostream:prerelease

โš™๏ธ Configuration

config.yml

server:
  port: 8181
  host: "0.0.0.0"
  ...
Read more