You are browsing as a guest. Sign up (or log in) to start making projects!

FFvert

  • 12 Devlogs
  • 28 Total hours

A simple web app for converting video and image files, and downloading YouTube videos.

Ship #2

Hello everyone, I have finished my FFvert project. In this project I built a system based on ffmpeg, @imgly/background-removal-node, and youtube-dl-exec, which enables converting images and videos, removing image backgrounds, and downloading YouTube videos.


Conversion video system

For this system I use the ffmpeg package.

This system supports 6 video and 1 audio formats:

  • gif
  • mov
  • mp3
  • mp4
  • avi
  • mkv
  • wmv

The supported resolutions: 4K, 1440p, 1080p, 720p, 480p

I’m proud that the GIF format additionally generates a color palette for better color accuracy.

Conversion image system

This system is based on the ffmpeg package.

Supports 7 image formats:

  • png
  • jpg
  • webp
  • bmp
  • tiff
  • ico
  • qoi

Remove background system

This is a special option in the FFvert panel when you upload an image. The background removal system is based on the @imgly/background-removal-node package. The AI model isnet_fp16 is downloaded from IMG.LY servers and runs locally.

YouTube Downloader system

The YouTube Downloader is based on the youtube-dl-exec package. The file is downloaded and converted using FFmpeg for the user-selected format and resolution.

Supported 12 formats:

  • MP4
  • MP3
  • MOV
  • GIF
  • MKV
  • WEBM
  • AAC
  • M4A
  • FLAC
  • WAV
  • OPUS
  • VORBIS

The supported resolutions: 1440p, 1080p, 720p, 480p, 360p, 240p, 144p


How to use

You can try my project at:

convert.nahida4479.org

If you prefer to run it locally, I have 2 options for you :)

You can run the image using a pre-built Docker image.

docker pull ghcr.io/nahida4479/ffvert:latest
docker run -p 3003:3003 ghcr.io/nahida4479/ffvert:latest

or build it yourself

git clone https://github.com/Nahida4479/FFvert.git
cd FFvert
docker build -t ffvert .
docker run -p 3003:3003 ffvert

Summary

I spent a lot of time on this project and thoroughly enjoyed studying CSS and improving my JavaScript skills. I hope you like this project. Good luck with your own projects :)

  • 7 devlogs
  • 17h
  • 15.92x multiplier
  • 279 Stardust
Try project → See source code →
Open comments for this post

3h 41m 56s logged

Devlog 12

New

  • Built and published a Docker container on GitHub
  • Added a progress bar for YouTube Downloader
  • Disabled the OK button until the file is ready
  • Adjusted YouTube Downloader GUI for mobile devices
  • Added a 2GB file upload limit to FFvert
  • Updated README.md

Docker

You can run the image using a pre-built Docker image.

docker pull ghcr.io/nahida4479/ffvert:latest
docker run -p 3003:3003 ghcr.io/nahida4479/ffvert:latest

or build it yourself

git clone https://github.com/Nahida4479/FFvert.git
cd FFvert
docker build -t ffvert .
docker run -p 3003:3003 ffvert
0
0
27
Open comments for this post

2h 40m 58s logged

Devlog 11

New

  • Section How to use
  • Change name yt-dlp –> YouTube Downloader
  • Full YouTube video download system

YouTube download video system:

I use the node package youtube-dl-exec for this system. The file is downloaded by the backend and converted using FFmpeg for the user-selected format. For GIF files FFmpeg generates a special palette for better color accuracy.

0
0
30
Open comments for this post

2h 42m 3s logged

Devlog 10

New GUI

  • Text Input (for YouTube video link)
  • Format List
  • Resolution List
  • OK Button

Text input:

Input where you will paste a YouTube video link.

Format list:

Supported formats: MP4, MP3, MOV, GIF, MKV, WEBM, AAC, M4A, FLAC, WAV, OPUS, VORBIS.

Resolution list:

Supported resolutions: 1440p, 1080p, 720p, 480p, 360p, 240p, 144p


Plans

I plan to implement a full video download system based on yt-dlp, with support for both 16:9 and 9:16 video formats.

0
0
10
Open comments for this post

1h 28m 2s logged

Devlog 9

New

  • Added background removal system based on @imgly/background-removal-node
  • Added typing animation for text Click or drag video or image file here
  • Changed example files animation to a new color animation
0
0
7
Open comments for this post

1h 53m 29s logged

Devlog 7

New

  • New supported image files (TIFF, ICO, QOI)
  • Added a CSS animation to the format examples
  • Full image conversion system
  • Automatically detects if you uploaded an image or a video and shows the right options
  • Updated README.md (supported image files)
  • Publishes new Github releases
0
0
13
Open comments for this post

1h 32m 32s logged

Devlog 6

New

  • Added support for uploading images, with format options adapting automatically
  • Unique output file name
  • Default file resolution option

Default file resolution system

The output file has the same resolution as the input file (for example, a 1920x1080 input produces a 1920x1080 output)

0
0
36
Ship #1

FFvert is a web app that lets you convert an uploaded file into a different format. I spent a lot of time on the design that was actually where I struggled the most. I’m proud that the conversion system works perfectly, and of the quality of the converted GIFs. My app is live at convert.nahida4479.org, so anyone can try it out.

  • 5 devlogs
  • 11h
  • 11.30x multiplier
  • 121 Stardust
Try project → See source code →

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…