About | Reason | Technologies | How to Use | How to Contribute | License
An simple application to cut your videos using ffmpeg.
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:
- Learn about headers (MPEG-4)
- Read the file (using fs module)
- Cut some chunks
- Recreate the file header
- 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.
The project was developed using the following technologies
You can download the project or directly use the website
To download and use the project:
Then you can:
-
Clone this repository
$ git clone https://github.com/wejesuss/video-cutter && cd video-cutter # You can also download the zip in this page
-
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/
- Test and Enjoy
-
Fork this repository
-
Using github CLI
# You can also use the second option $ gh repo fork wejesuss/video-cutter
-
Using the website
- You just need to click the 'Fork' button on the top of this page
-
-
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
-
Create a branch with your changes
$ git checkout -b my-awesome-changes
-
Make the commit with your changes
$ git commit -m 'fix: 42'
-
Push your branch
# Send the code to your remote branch $ git push origin my-awesome-changes
-
Make a pull request
This project is under the MIT license. See the LICENSE file.