/video-cutter

A simple video cutter using ffmpeg.

Primary LanguageJavaScriptMIT LicenseMIT

➤ Video Cutter

License



ℹ️ About

An simple application to cut your videos using ffmpeg.

⁉️ Reason

The first goal for this project was to learn more about the video header and the header info, especially MPEG-4. Also, I wanted to learn how to cut videos using only the binary file information (buffers and chunks).

If you read the About you already know that I was not successful, my initial strategy:

  1. Learn about headers (MPEG-4)
  2. Read the file (using fs module)
  3. Cut some chunks
  4. Recreate the file header
  5. Join all chunks

Unfortunately, the information about .mp4 file headers is not public and free, and I didn't want to spend a lot of time on this project (there are others I want to do), so I choose to use FFmpeg and leave the first idea (the pseudo-code above) for the future.

FFmpeg would basically do what I wanted to do on my own.

🌱 Minimum Requirements

🚀 Technologies Used

The project was developed using the following technologies

🎒 How to Use

You can download the project or directly use the website

To download and use the project:

  • First, make sure you have FFmpeg installed. - Second, make sure you have Node installed.

Then you can:

  1. Clone this repository

    $ git clone https://github.com/wejesuss/video-cutter && cd video-cutter
    # You can also download the zip in this page
  2. Install Dependecies and Run

    $ npm install
    # start the server (development)
    $ npm run dev 
    # or you can use (production)
    $ npm start

Your server should be running on http://localhost:3333/

  1. Test and Enjoy

🔗 How to Contribute

  1. Fork this repository

    1. Using github CLI

      # You can also use the second option
      $ gh repo fork wejesuss/video-cutter
    2. Using the website

      • You just need to click the 'Fork' button on the top of this page
  2. Clone your fork

    $ git clone https://github.com/your-username/video-cutter && cd video-cutter
    # You can also download the zip in your repository page
  3. Create a branch with your changes

    $ git checkout -b my-awesome-changes
  4. Make the commit with your changes

    $ git commit -m 'fix: 42'
  5. Push your branch

    # Send the code to your remote branch
    $ git push origin my-awesome-changes
  6. Make a pull request

License

This project is under the MIT license. See the LICENSE file.