github MotWakorb/enhancedchannelmanager v0.12.5

7 hours ago

v0.12.5 — FFMPEG Builder, Performance Fix, Channel Badges & More

🆕 FFMPEG Builder (New Tab)

A full visual FFMPEG command builder for IPTV stream transcoding:

  • Input source configuration — URL, file, or device input with protocol options
  • Video codec settings — H.264, H.265/HEVC, VP9, AV1 with full parameter control (bitrate, CRF, preset, profile, tune)
  • Audio codec settings — AAC, AC3, MP3, Opus, FLAC with bitrate, sample rate, and channel layout
  • Video filters — Scale, deinterlace, denoise, sharpen, framerate conversion, crop/pad
  • Audio filters — Volume normalization, loudnorm, equalizer, compressor, channel mixing
  • Stream mapping — Select specific video/audio/subtitle streams from multi-stream sources
  • IPTV-optimized presets — Low-latency HLS, passthrough, AC3 audio, and more one-click presets
  • Live command preview — Real-time ffmpeg command generation with annotated explanations for every flag
  • Stream probing — Probe any media source via ffprobe to detect codecs, resolution, bitrate
  • Command validation — Validates configuration for errors and warnings before generating
  • ECM integration — Push generated profiles directly to Dispatcharr as stream profiles
  • Saved profiles — Save/load FFMPEG configurations with persistence to database
  • Bundled reference docs — Full ffmpeg, codec, and filter documentation available in-app

⚡ Performance: Fix 100% CPU Browser Freeze (#5)

  • Fixed critical issue where the browser tab pegged at 100% CPU for users with large stream counts (27,000+)
  • Root cause: the app was fetching ALL streams in a tight loop (54+ API requests) on every page load
  • Streams now load per-group on demand when expanding a group in the streams pane
  • Search fetches only the first page of server-filtered results instead of all pages

🆕 Channel Badges & Stream Status Filters

  • New green "good channels" badge on group headers between total and failed counts
  • Unified badge styling with consistent border-radius across all group headers
  • New stream status filters — filter channel list by failed, working, or unprobed streams

🔒 Auto Token Refresh

  • Access tokens now auto-refresh on 401 errors in the HTTP client
  • No more random session timeouts forcing page reloads

🎨 UI Improvements

  • Replaced inline error messages with toast notifications across panels (bandwidth, popularity, watch history, guide)
  • CSS color token refinements across all tabs for better contrast and visual hierarchy
  • Auto-creation ActionEditor: auto-sets find_channel_by when switching to existing channel target

🆕 Portable Auto-Creation YAML Import/Export

  • YAML exports now include human-readable group names and M3U account names alongside numeric IDs
  • Importing on a different instance resolves names to local IDs automatically (case-insensitive)
  • Warnings shown for unresolvable names instead of silent failures

🔧 CLI Password Reset

  • New reset_password.py utility for resetting user passwords from the command line
  • Interactive mode (lists users, prompts for password) and non-interactive mode for scripting
  • Usage: docker exec -it ecm-ecm-1 python /app/reset_password.py

⚙️ Backend

  • Task engine: separate send_alerts control from show_notifications
  • Dispatcharr client: create_stream_profile support for ECM integration
  • New FFmpegProfile database model for saved FFMPEG configurations

📝 Documentation

  • Updated README with full API endpoint tables and Swagger/OpenAPI docs
  • Updated User Guide with all features through v0.12.x

🧪 Testing

  • 15 new backend unit test files for FFMPEG builder modules
  • 1 FFMPEG API integration test
  • 14 new FFMPEG builder E2E test specs
  • 8 new stream loading unit tests
  • 5 new stream loading E2E tests
  • All 981 frontend unit tests pass, all 33 channel E2E tests pass

Closes #5

Don't miss a new enhancedchannelmanager release

NewReleases is sending notifications on new releases.