A web-based tool for creating clips from live streams on YouTube, Kick.com, and Parti.com and uploading them to pomf.lain.la.
- Create clips up to 4 minutes long from live streams
- Support for YouTube, Kick.com, and Parti.com
- Visual preview before creating clips
- Custom time window selection
- Multiple quality options
- Automatic upload to pomf.lain.la
- MP4 format output
- Mobile-friendly interface
- Frontend: React.js with modern CSS
- Backend: Node.js with Express
- Video Processing: FFmpeg
- Stream Capture: yt-dlp
- Deployment: Docker support for easy hosting
- Node.js (v14 or later)
- FFmpeg
- yt-dlp
-
Clone the repository:
git clone https://github.com/yourusername/video-clip-creator.git cd video-clip-creator -
Install dependencies:
# Install backend dependencies npm install # Install frontend dependencies cd client npm install cd ..
-
Create required directories:
mkdir -p temp public/clips
-
Create a
.envfile with your configuration:PORT=5000 NODE_ENV=development
-
Start the backend server:
npm run server
-
In another terminal, start the frontend:
cd client npm start -
Access the application at
http://localhost:3000
-
Build the frontend:
cd client npm run build cd ..
-
Start the production server:
npm start
-
Access the application at
http://localhost:5000
You can use Docker to simplify deployment:
# Build the Docker image
docker build -t video-clip-creator .
# Run the container
docker run -p 5000:5000 video-clip-creator- Enter the URL of a live stream from YouTube, Kick.com, or Parti.com
- Select the desired quality level
- Click "Download Stream" to capture a segment
- Use the preview to select the exact portion you want to clip
- Adjust the start time and duration using the sliders
- Click "Create Clip" to generate your clip
- The clip will be automatically uploaded to pomf.lain.la
- Copy the provided URL to share your clip
POST /api/capture-stream- Captures a segment of a live streamGET /api/capture-status/:captureId- Checks the status of a capturePOST /api/create-clip- Creates a clip from a captured streamPOST /api/upload-clip- Uploads a clip to pomf.lain.la
- Maximum clip duration is 4 minutes (240 seconds)
- pomf.lain.la has a file size limit of 1 GiB
- Streaming sites may have their own limitations or restrictions
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for personal use only. Always respect the terms of service of the platforms you interact with and ensure you have the necessary permissions to clip and share content.
