stream.new  by muxinc

Video upload and AI content analysis application

Created 5 years ago
588 stars

Top 55.3% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides stream.new, an open-source example application demonstrating video recording, uploading, and moderation workflows using Mux. It targets developers seeking to integrate robust video handling capabilities into their applications, offering features like direct uploads, real-time notifications, and AI-powered content analysis. The primary benefit is a functional blueprint for building sophisticated video platforms with enhanced content safety and management.

How It Works

The application is built with Next.js, utilizing its API routes for backend logic and dynamic routing. Core functionality relies on Mux for direct client-side uploads, asset management, and webhook event handling. Video playback is facilitated by HLS.js, while Mux Data integrates video quality metrics. A key feature is the Slackbot moderator, which sends notifications for new assets and can optionally integrate AI services (OpenAI, Hive AI) for automatic content moderation and summarization upon receiving video.asset.ready and video.asset.track.ready webhooks.

Quick Start & Requirements

  • Mux Account: Sign up for a free Mux account (pay-as-you-go). Test mode has limitations; a credit card removes watermarks and extends video length.
  • Environment Variables: Copy .env.local.example to .env.local and populate with MUX_TOKEN_ID, MUX_TOKEN_SECRET, and optionally MUX_WEBHOOK_SIGNING_SECRET, SLACK_WEBHOOK_ASSET_READY, SLACK_MODERATOR_PASSWORD, and NEXT_PUBLIC_MUX_ENV_KEY.
  • Deployment: Deployable on Vercel. Requires setting environment variables as secrets via Vercel CLI (vercel secrets add). Push code to a Git repository for Vercel import.
  • Prerequisites: Node.js, npm/yarn. Optional AI features require OpenAI and Hive AI API keys.

Highlighted Details

  • AI Content Moderation: Integrates OpenAI and Hive AI for automatic detection of inappropriate content, with options for auto-deletion based on moderation thresholds.
  • Slackbot Moderator: Real-time notifications to Slack upon asset readiness, including thumbnails, with options for asset deletion via password authorization.
  • Mux Data Integration: Includes setup for tracking video quality metrics.
  • Playback Customization: Supports hidden playback features via query parameters for timestamp control (?time=) and theming (?color=).

Maintenance & Community

No specific details regarding contributors, sponsorships, community channels (like Discord/Slack), or roadmap are provided in the README.

Licensing & Compatibility

The README does not explicitly state a license. As an example application, it is likely intended for non-commercial use or as a reference, but specific licensing terms for reuse or modification are not detailed. Compatibility for commercial use or closed-source linking is undetermined without a license.

Limitations & Caveats

Advanced features like AI moderation and the Slackbot moderator are optional and require significant additional setup, including third-party API keys and webhook configurations. The application is presented as an example, and its production-readiness or long-term maintenance status is not specified.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
11
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.