MediaSystems Core creates a seamless bridge between your storage infrastructure and your viewing experience. Engineered for high-fidelity playback.
Direct pipeline rendering ensures 4K HDR10+ content plays instantly without buffering artifacts via local network protocols.
Real-time hardware accelerated transcoding for HEVC, AV1, and VP9 codecs ensures compatibility with any connected display.
Automated retrieval of artwork, synopses, and cast info from global databases using proprietary matching algorithms.
Recommendation engine analyzes viewing patterns to suggest personalized content across services and libraries.
End-to-end encrypted profiles allow seamless content state preservation with proprietary handshake protocol.
Dynamic bitrate optimization adjusts streaming parameters while maintaining maximum fidelity.
MediaSystems Core is designed as a headless daemon. Ensure your host environment meets the following specifications.
| OS Architecture | Linux x86_64 / ARM64 |
| Distribution | Ubuntu 20.04 LTS or newer (Debian 11+ supported) |
| Kernel | Linux Kernel 5.4+ required for hardware tone-mapping |
| Memory (RAM) | 4GB Minimum (8GB Recommended for 4K streams) |
| Storage | SSD for application data (NVMe recommended) |
| Network | Gigabit Ethernet (1000BASE-T) |
| Graphics API | OpenGL 4.0 or Vulkan 1.1 compliant driver |
H.264/AVC H.265/HEVC VP9 AV1 MPEG-2 VC-1
Dolby Atmos Dolby TrueHD DTS:X DTS-HD MA PCM 7.1 FLAC
MKV MP4 M2TS TS MOV AVI ISO
SRT, SSA/ASS, PGS (Blu-ray), VobSub (DVD), WebVTT. Full hardware overlay support.
MediaSystems runs as a systemd service. Upon first boot of your media center appliance, the daemon will auto-negotiate with the local gateway. No manual port forwarding is required if UPnP is enabled on your router.
The initial configuration wizard will launch automatically on first boot. Follow the on-screen prompts to select your preferred language, timezone, and network interface. The system will perform a hardware capabilities check to optimize playback parameters based on your device's GPU and CPU specifications.
For advanced users, the configuration file is located at /etc/mediasystems/core.conf. All parameters are documented inline with comments. After making changes, restart the service with sudo systemctl restart mediasystems.
Navigate to Settings > Library > Paths. Supports SMB (v2/v3) and NFS shares. Local USB mounts are auto-detected at /media/usb/. Re-scanning is triggered via the 'Update' API endpoint.
When configuring network shares, ensure your credentials are stored securely. The system uses keyring integration to encrypt stored passwords. For SMB shares, use the format smb://username:password@server/share. NFS shares should be mounted with the vers=4 option for optimal performance.
Media scanning occurs automatically every 6 hours. To modify this interval, edit the scan_interval parameter in the configuration file. For immediate scanning after adding new content, use the web interface or send a POST request to http://localhost:8080/api/library/scan.
The interface supports HDMI-CEC. You can use your TV remote to control navigation. Alternatively, the JSON-RPC API on port 8080 allows for custom remote control implementations.
Keyboard shortcuts are available when using the web interface: Space for play/pause, Arrow keys for seeking, M for mute, F for fullscreen. The OSD (On-Screen Display) can be toggled with the 'I' key to show codec information, bitrate, and buffer status during playback.
For multi-room synchronization, enable the "Sync Playback" option in Advanced Settings. This feature uses NTP time synchronization to ensure frame-accurate playback across multiple devices with latency compensation up to 50ms.
MediaSystems supports both PCM downmixing and bitstream passthrough. For optimal results with home theater receivers, enable passthrough in Settings > Audio > Output Mode. This allows Dolby TrueHD and DTS-HD MA tracks to be sent directly to your AVR for decoding.
The built-in equalizer provides 10-band adjustment with presets for different room acoustics. Access it via Settings > Audio > Equalizer. Changes are applied in real-time without interrupting playback. The system also supports audio delay compensation from -200ms to +200ms for lip-sync correction.
Navigate to Settings > Video to configure output resolution, refresh rate, and color space. The system supports automatic resolution switching to match source content. Enable "Match Content" to allow 23.976fps films to play at their native frame rate without judder.
For HDR content, ensure your display is HDR-capable and connected via HDMI 2.0a or newer. The system will automatically detect HDR10 and Dolby Vision metadata. Static tone-mapping can be adjusted if your display has limited peak brightness.
Deinterlacing is handled automatically using motion-adaptive algorithms. For legacy content, you can force specific deinterlacing modes in Settings > Video > Advanced. Hardware acceleration is enabled by default and should remain on for best performance.
External subtitle files are detected automatically when placed alongside video files with matching names. Supported formats include SRT, ASS/SSA, and PGS. To adjust subtitle appearance, access Settings > Subtitles where you can modify font, size, color, and outline thickness.
For automatic subtitle downloading, enable the OpenSubtitles integration in Settings > Services. You'll need to provide your API credentials. The system will search for matching subtitles based on file hash and metadata, downloading them to /var/cache/mediasystems/subtitles/.
MediaSystems binds to all available network interfaces by default. To restrict access, edit bind_address in the configuration file. For remote access over the internet, configure your router to forward port 8080, though we strongly recommend using a VPN for security.
Bandwidth throttling can be configured to prevent network congestion. Set max_bandwidth in Mbps to limit streaming rate. The transcoder will automatically adjust quality to stay within this limit while maintaining watchable content.
The metadata scraper connects to TheTVDB, TheMovieDB, and IMDb to fetch artwork and information. Scrapers can be prioritized in Settings > Library > Scrapers. For best results, ensure your files follow standard naming conventions: Movie Title (Year).mkv for films.
Custom metadata can be added via NFO files in the Kodi format. Place these files alongside your media with the same filename. The system will prioritize NFO data over scraped data, allowing manual corrections for misidentified content.
Multiple user profiles can be created in Settings > Profiles. Each profile maintains separate watch history, playback positions, and content ratings. To enable parental controls, set a PIN code and configure rating restrictions based on MPAA or local rating systems.
Logs are stored in /var/log/mediasystems/core.log. For verbose debug logging, edit the config file and set log_level=debug.
Common playback issues are often related to codec support or network bandwidth. Use the built-in diagnostics tool at Settings > System > Diagnostics to test network throughput and verify hardware acceleration status. The tool will generate a report that can be submitted to support if issues persist.
If the web interface becomes unresponsive, restart the service via SSH: sudo systemctl restart mediasystems. For complete reset to factory defaults, delete /var/lib/mediasystems/database.db and restart. Note that this will erase all library data and settings.
Last Updated: September 1, 2024
MediaSystems Core is developed and maintained by the MediaSystems Project. By using this software, you acknowledge and accept these terms.
MediaSystems Core is provided as freely available software. You may use, copy, modify, and distribute the software for any purpose, commercial or non-commercial. The project maintainers make no restrictions on your use of the code or binaries.
The software is developed as an open-source project with community involvement. You use this software under your own discretion and responsibility.
The MediaSystems name and associated branding are marks of the project. While you're free to modify the software, altered versions should be clearly distinguished from official releases to avoid confusion.
This software incorporates various libraries and frameworks, each governed by their respective licenses. You are responsible for compliance with those licenses.
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. THE MEDIASYSTEMS PROJECT AND CONTRIBUTORS MAKE NO WARRANTIES REGARDING:
YOU ASSUME ALL RISKS ASSOCIATED WITH USING THIS SOFTWARE. The entire risk as to quality and performance rests with you.
IN NO EVENT SHALL THE MEDIASYSTEMS PROJECT, ITS CONTRIBUTORS, OR ANYONE INVOLVED IN CREATING OR DISTRIBUTING THIS SOFTWARE BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING:
This limitation applies regardless of the cause and even if you've been advised of potential damages. Some jurisdictions don't allow liability exclusions, in which case liability is limited to the minimum required by law.
You are solely responsible for:
The software is a tool. How you use it is your choice and your responsibility.
MediaSystems Core operates locally on your device. Optional telemetry may collect anonymous usage statistics and crash reports to improve the software. You can disable this in settings. The project does not monitor your content or personal data.
The software may check for and install updates automatically. Development may be paused, modified, or discontinued at any time without notice. These terms may change; continued use constitutes acceptance of changes.
Any disputes are subject to the laws of your jurisdiction. Given the distributed nature of the project, you agree that legal actions must be filed where you reside. You waive any right to jury trial where permitted by law.
BY USING THIS SOFTWARE, YOU ACKNOWLEDGE THAT:
MediaSystems is a community-driven project developed by independent contributors. The project operates in a distributed manner. No support or warranty is provided or implied.
MediaSystems Project
MediaSystems is a media streaming platform built by a dedicated team of developers and maintainers. What started as a weekend project has grown into a production-grade solution powering countless home theater setups and digital signage installations worldwide.
We believe high-quality media infrastructure should be accessible and reliable. MediaSystems Core is developed with transparent practices and user-driven feature prioritization. Every component is carefully engineered, and our entire stack is built for long-term stability.
Our project thrives thanks to feedback from hardware enthusiasts, professional integrators, and media hobbyists. From codec optimizations to UI translations, user input shapes every release. We maintain active discussion channels where feedback directly influences the roadmap.
Built on proven technologies, MediaSystems leverages battle-tested approaches for video decoding, network streaming, and hardware acceleration. Our modular architecture supports custom plugins, alternative frontends, and seamless integration with existing media infrastructure.
MediaSystems is provided under standard licensing terms. All trademarks and registered trademarks are property of their respective owners. Codec support subject to hardware capabilities and regional patent restrictions. Feature availability may vary by region. No warranty expressed or implied.
Build: 2025.12.05-stable | Revision: a1b2c3d4e5f6 | Architecture: x86_64/aarch64