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.
- Convert x265 MKV video files to x264 MP4 format.
- Embed multiple subtitles and audio files into the resulting MP4.
- Node.js
- npm (Node Package Manager)
- ffmpeg
- lm-sensors
-
Clone the Repository
git clone https://github.com/yourusername/your-repo-name.git cd your-repo-name
-
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
-
Configure ffmpeg
Make sure
ffmpeg
is installed and accessible in your system's PATH. You can download it from ffmpeg.org. -
Set Up Environment Variables
Create a
.env
file in thebackend
directory and add necessary environment variables:PORT=6001 CPU_CORES=8 #specify the number of cores as per your machine
-
Run the Application
Start the backend server:
cd backend npm start
Start the frontend development server:
cd ../frontend npm start
-
Access the Application
Open your browser and go to
http://localhost:3000
. Enter the admin ==username: admin and password: admin==
-
Store the mkv file to be converted into the media/videos folder
-
Configure Subtitles and Audio click on encode video
-
Watch the encode status and watch all the completed, waiting, error encodes
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
- ffmpeg for the powerful multimedia processing capabilities.