Screen recording and sharing made simple. Record, share, and collaborate with instant shareable links.
ScreenSense is an open-source screen recording and sharing platform that makes it easy to capture your screen, automatically generate shareable links, and collaborate with your team. Built with modern web technologies, it provides a seamless recording experience with instant sharing capabilities.
- Screen Recording - Record your screen, browser tab, or application window with one click
- Instant Sharing - Automatic shareable link generation after recording stops
- Video Management - Organize, edit titles, and manage your recordings
- Secure Sharing - 64-character cryptographic tokens for secure video sharing
- Profile Management - Customize your profile with avatar, bio, and website
- Comments & Engagement - Add comments and reactions to videos
- Chrome Extension - Record directly from your browser with our extension
- Video Streaming - Efficient streaming with range request support for instant seeking
- HLS Adaptive Streaming - Multiple quality variants (360p to 4K) with automatic quality switching
- Privacy Controls - Toggle videos between public and private
- Subscription Support - Integrated with Polar.sh for premium features
Coming soon
Backend:
- Laravel 12 (PHP 8.3+)
- MariaDB/MySQL
- Spatie Media Library (file management)
- FFmpeg (video processing)
- Queue system for background jobs
Frontend:
- Vue 3
- Vite 5
- Tailwind CSS 3
- Vue Router 4
Browser Extension:
- Chrome Extension Manifest V3
- MediaRecorder API
- PHP 8.3 or higher
- Composer
- Node.js 18+ and npm
- MariaDB or MySQL
- FFmpeg (for video processing)
-
Clone the repository
git clone https://github.com/yourusername/screensense.git cd screensense -
Install backend dependencies
composer install
-
Install frontend dependencies
cd frontend npm install cd ..
-
Configure environment
cp .env.example .env php artisan key:generate
-
Update
.envwith your database credentialsDB_CONNECTION=mariadb DB_DATABASE=screensense DB_USERNAME=your_username DB_PASSWORD=your_password
-
Run migrations
php artisan migrate
-
Create storage link
php artisan storage:link chmod -R 775 storage/ bootstrap/cache/
-
Start the development servers
You need three terminals running simultaneously:
Terminal 1: Backend
php artisan serve # Runs on http://localhost:8000Terminal 2: Frontend
cd frontend npm run dev # Runs on http://localhost:3000
Terminal 3: Queue Worker (for video processing)
php artisan queue:work --queue=default --tries=3 --timeout=1800
-
Open your browser Navigate to
http://localhost:3000
Install FFmpeg for video processing:
macOS:
brew install ffmpegUbuntu/Debian:
sudo apt install ffmpegWindows: Download from ffmpeg.org
Update .env with FFmpeg paths:
FFMPEG_BINARIES=/path/to/ffmpeg
FFPROBE_BINARIES=/path/to/ffprobeThe easiest way to run ScreenSense is with Docker. No need to install PHP, Node, MariaDB, or FFmpeg manually.
- Docker and Docker Compose
# Clone the repository
git clone https://github.com/yourusername/screensense.git
cd screensense
# Copy Docker environment file
cp .env.docker .env
# Make sail script executable
chmod +x sail
# Start all services
docker compose up -d
# Generate application key
./sail artisan key:generate
# Run migrations
./sail artisan migrate
# Create storage link
./sail artisan storage:link| Service | URL |
|---|---|
| Frontend | http://localhost:3333 |
| Backend API | http://localhost:8888 |
We provide a ./sail helper script that makes it easy to run commands inside Docker containers. This is not Laravel Sail - it's a lightweight wrapper script for convenience.
# Run artisan commands
./sail artisan migrate
./sail artisan queue:work
./sail artisan videos:convert-hls
# Run composer commands
./sail composer install
./sail composer require some/package
# Run PHP commands
./sail php -v
# Access the container shell
./sail shell
# Run tests
./sail test
# Open tinker
./sail tinker# Start services
docker compose up -d
# Stop services
docker compose down
# View logs
docker compose logs -f
# View specific service logs
docker compose logs -f app
docker compose logs -f queue
# Rebuild containers (after Dockerfile changes)
docker compose build --no-cache
docker compose up -d| Service | Description | Port |
|---|---|---|
app |
PHP-FPM application | 9000 (internal) |
nginx |
Web server | 8888 |
db |
MariaDB database | 3307 |
redis |
Cache & sessions | 6380 |
queue |
Queue worker | - |
frontend |
Vite dev server | 3333 |
- CLAUDE.md - Development guide and API documentation
- DEPLOYMENT.md - Production deployment guide
- EXTENSION_GUIDE.md - Chrome extension documentation
- COMMENTS_AND_VIEWS_GUIDE.md - Comments system guide
- VIDEO_OPTIMIZATION.md - Video processing optimization
- GOOGLE_AUTH_SETUP.md - Google OAuth setup
- WEBHOOK_STATUS.md - Webhook integration status
GET /api/videos- List videosPOST /api/videos- Upload videoGET /api/videos/{id}- Get video detailsGET /api/videos/{id}/stream- Stream video with range supportPUT /api/videos/{id}- Update videoDELETE /api/videos/{id}- Delete videoPOST /api/videos/{id}/toggle-sharing- Toggle public/privatePOST /api/videos/{id}/regenerate-token- Generate new share link
GET /api/share/video/{token}- View shared video (public)
GET /api/profile- Get user profilePOST /api/profile- Update profileDELETE /api/profile/avatar- Delete avatar
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
composer test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you discover a security vulnerability, please review our Security Policy for responsible disclosure instructions.
ScreenSense is open-source software with an optional commercial subscription service. The entire codebase is available under the MIT License, allowing you to:
- Use it for free
- Modify it for your needs
- Self-host your own instance
- Contribute improvements back
We offer a hosted subscription service at screensense.com with premium features:
- Unlimited storage
- Advanced analytics
- Priority support
- Custom branding
- Team collaboration features
This model is similar to other successful open-source projects like GitLab, Ghost, and Cal.com.
ScreenSense is open-source software licensed under the MIT License.
- Documentation: Check our docs folder
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
Built with amazing open-source technologies:
- Mobile app (iOS/Android)
- Real-time collaboration
- Video editing features
- Custom domains for sharing
- Analytics dashboard
- Team workspaces
- API access for integrations
Made with ❤️ by the ScreenSense community