VIMM Development Log: vimm-core v1.0.0 Release
Greetings Hive community!
I'm excited to announce that we've officially released vimm-core v1.0.0 today, March 2, 2025. This is a major milestone for the VIMM ecosystem as we continue building a decentralized streaming framework powered by Hive.
🎯 What is vimm-core?
vimm-core is the foundation of our streaming framework - it's the backend server that handles all the streaming functionality, including:
- RTMP ingestion from streamers
- HLS delivery to viewers
- Stream transcoding and processing
- API endpoints for integration
- Hive blockchain posting and metadata
Think of it as the engine that powers everything else in the VIMM ecosystem. Without a solid core, we can't build reliable services on top.
💻 Technical Highlights
For the technically-minded folks, here are some of the key features in this release:
- Multi-protocol support: RTMP ingestion with HLS distribution
- Hive integration: Automatic posting when streams go live/offline
- Stream key management: Secure authentication system for streamers
- API endpoints: Complete RESTful API for integration with frontends
- Media processing: FFmpeg-based transcoding for multiple quality profiles
- Stream metadata: Comprehensive system for titles, descriptions, categories
The codebase is now stable enough for production use, with proper error handling, logging, and database management.
🔄 Ecosystem Integration
This release includes major improvements to how our different components work together:
New Chat APIs: We've built a complete chat configuration system that enables proper integration between vimm-core and our upcoming vimm-chat component.
Foreign Key Improvements: We've refactored the database schema to use
hive_account
as the primary identifier instead ofstream_id
, making data relationships more robust.Stream Health Monitoring: Better detection and cleanup of inactive streams with detailed logging.
👀 What's Next: vimm-chat
Now that vimm-core is stable, we're focusing our attention on finalizing vimm-chat, our real-time chat system designed specifically for livestreams. The chat system will include:
- Real-time messaging
- Moderation tools
- Custom emotes
- Subscriber-only mode
- Slow mode options
- Hive authentication
The vimm-chat repository is already public at GitHub.com/VIMM-TV/vimm-chat, and we're aiming to release v1.0.0 within the next two weeks. We've already built the integration points in vimm-core, so connecting the two systems will be seamless.
🧪 Try It Out!
If you're a developer interested in contributing or just want to try it out, you can find the code on GitHub:
Installation is straightforward:
# Install ffmpeg using your package manager, or build from source.
# Clone the repository
git clone https://github.com/VIMM-TV/vimm-core.git
cd vimm-core
# Install dependencies
npm install
# Initialize the database
npm run init-db
# Start the server
npm start
🙏 DHF Support
I want to take a moment to sincerely thank everyone who has voted for our Decentralized Hive Fund proposal (Proposal #320). Your support has made this development possible and demonstrates the community's belief in building decentralized streaming infrastructure on Hive.
If you haven't voted for our proposal yet and would like to support the continued development of VIMM:
- Visit Proposal #320
- Review our development plans
- Consider casting your vote
Every vote helps secure the funding needed to maintain development momentum and bring this framework to completion.
💙 Thank You!
A huge thank you to everyone who has been supporting this project, providing feedback, and helping test early versions. Building a streaming framework from scratch is an ambitious undertaking, but with the power of the Hive blockchain and our community, we're making steady progress.
Stay tuned for more updates, and as always, feel free to reach out with questions, suggestions, or if you'd like to contribute to the project!
Until next time,
March 2, 2025 - 19:30 UTC@chiren
Are you a developer interested in the VIMM ecosystem? Check out our repositories at github.com/VIMM-TV and consider contributing!
Nice Version 1.0 that went fast. What are the Minium Specs a Server should have 4 vimm ?
That depends on the number of streamers and viewers you're expecting.
As an example;
For a small 1 to 5 streamers with up to 20 viewers each, with transcoding enabled:
Note that these are just based on my experience, you might be able to get away with less than what I recommend to get started. You can also do without the GPU if you have a really good CPU (16+ cores) or if you disable transcoding. The software will run on a very small server, but performance may vary.
Transcoding is the most hardware dependent part.
The network speed requirements are easy to calculate.
Say your average stream is 2500Kbps with 20 viewers:
2500 * 20 = 50000Kbps = 50Mbps (1 stream with 20 viewers)
50Mbps * 10 = 500Mbps (10 streams)
(You always want to have more than what you "need" to avoid lag and buffering. Setting up a CDN like cloudflare is also recommended if you plan on scaling in any capacity)
I will be releasing some benchmarks soon to illustrate hardware requirements more accurately as part of the documentation.
Thank you 4 the Quick Answer now i have a feeling what vimm in the old day needed at hardware .
What about AV1 encoding does av1 saves bandwith as every one say?
Yes, AV1 does save significant bandwidth compared to H.264 (roughly 30-50% better efficiency at the same quality). However, the compatibility isn't great yet, though it's improving as more devices/browsers add support.
The hardware requirements for AV1 encoding are actually much higher than H.264. You'll need either substantial CPU power or newer GPUs with AV1 hardware encoding support to transcode efficiently.
Support for AV1 in vimm-core is planned, but it's not a priority right now given the larger scope of the project.
@chiren, I paid out 0.207 HIVE and 0.053 HBD to reward 2 comments in this discussion thread.