Skip to content

Developed a web app using React and Node.js with ffmpeg to convert x265 MKV to x264 MP4, embedding multiple subtitles and audio files. Optimized for efficient use of video for streaming.

Notifications You must be signed in to change notification settings

AnkitKumar8080/videoEncoder_v0.1

Repository files navigation

Hobby Web Application for Video Conversion and encoding.

This hobby web application is designed to convert x265 MKV video files to x264 MP4 format using ffmpeg, embed multiple subtitles and audio files into the resulting MP4, and ensure efficient streaming compatibility with browser-supported video on a personal media server. The application uses React for the frontend and Node.js and ffmpeg lib in the backend.

Features

  • Convert x265 MKV video files to x264 MP4 format.
  • Embed multiple subtitles and audio files into the resulting MP4.

Installation

Prerequisites

  • Node.js
  • npm (Node Package Manager)
  • ffmpeg
  • lm-sensors

Steps

  1. Clone the Repository

    git clone https://github.com/yourusername/your-repo-name.git
    cd your-repo-name
  2. Install Dependencies

    Navigate to the backend directory and install the dependencies:

    cd backend
    sudo apt install lm-sensors
    npm install

    Then, navigate to the frontend directory and install the dependencies:

    cd ../frontend
    npm install
  3. Configure ffmpeg

    Make sure ffmpeg is installed and accessible in your system's PATH. You can download it from ffmpeg.org.

  4. Set Up Environment Variables

    Create a .env file in the backend directory and add necessary environment variables:

    PORT=6001
    CPU_CORES=8 #specify the number of cores as per your machine
    
  5. Run the Application

    Start the backend server:

    cd backend
    npm start

    Start the frontend development server:

    cd ../frontend
    npm start
  6. Access the Application

    Open your browser and go to http://localhost:3000. Enter the admin ==username: admin and password: admin==

Usage

  1. Store the mkv file to be converted into the media/videos folder

  2. Configure Subtitles and Audio click on encode video

  3. Watch the encode status and watch all the completed, waiting, error encodes

Screenshots

Dashboard

Home Page

Encode video page

Video Library

Encode queue waiting encodes

Video Player

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

Acknowledgements

  • ffmpeg for the powerful multimedia processing capabilities.

About

Developed a web app using React and Node.js with ffmpeg to convert x265 MKV to x264 MP4, embedding multiple subtitles and audio files. Optimized for efficient use of video for streaming.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published