FFMPEG_Assignment

FFMPEG Assignment is a flutter web task that :

  • Opens the camera on web and records a video.
  • Navigate to a new page that displays the recorded video with play/pause controls.
  • Compresses the video using FFmpeg via backend.
  • Displays the size of the original video and the compressed video.
  • Displays the video in grayscale view.

In order to run the application :

Setting up the front-end (flutter side) :

On Mac

For running flutter built files :

Run the following terminal command to start up an apache server:

sudo apachectl start

Then, move the contents of compressed zip file to /Library/WebServer/Documents/

  • Now, navigate web browser to localhost.

  • Once done, kill the apache server with the following command:

sudo apachectl graceful-stop

On Windows

Download XAMPP, install, allow it to run on local networks if prompted, then launch the XAMPP app (it will likely have launched on its own).

  • In the XAMPP app, find the row for "Apache" and click the "Start" button to start up the web server

  • Move the contents of compressed zip file to C:/xampp/htdocs/

(Note: Index.html base href should be "/" if you had previously modified it)

Now navigate web browser to 127.0.0.1/index.html

Once done, open the XAMPP app and click "stop" on the Apache row.

Setup the backend server

Setup ffmpeg

Make sure you have ffmpeg installed on your system.

Then you should be good to go.

Screenshots : Screenshot 2023-02-26 at 2 06 20 AM Screenshot 2023-02-26 at 2 06 13 AM Screenshot 2023-02-26 at 2 06 02 AM