Simple web application to create clips from youtube videos and download them.
ytclipper-demo.mov
- Enter YouTube URL
- Enter start time (HH:MM:SS)
- Enter end time (HH:MM:SS)
- Download Clip
- express.js
- yt-dlp
- ffmpeg
- tailwind css
- video.js
- toastr
- node
- python3
- python3-pip
- python3-certifi
- ffmpeg
- Install the required packages
npm i
- Run the app
npm run start
Or run as docker container
docker build -t ytclipper .
docker run -d -e PORT=4001 -p 8080:4001 ytclipper
- Port can be configured via env variable PORT (default 4001)
- input validation
- let users enter the end time instead of duration
- add loading-screen, or some kind of progress indicator
- do video processing async with background workers
- add dark mode
- embed video player into the site
- migrate to yt-dlp from youtube-dl
- let users set start and end time using a slider embedded in the video player
- prevent click spamming
- automatically delete downloaded videos
- use yt-dlp to directly download a section of a video
- track created/finished time of jobs
- kill suspended jobs after a specified timeout
- rewrite everything in go