WAV to MP3 Conversion Service
This service facilitates the conversion of WAV format audio files to MP3 format, specifically tailored for the audio message
feature. The primary motivation behind this service is to address file size restrictions, as WAV files are significantly larger than MP3 files for even short audio clips.
This is a fork of surebert/docker-ffmpeg-service
ffmpeg web service API
An web service for converting audio/video files using Nodejs, Express and FFMPEG
Based off of jrottenberg/ffmpeg container
Endpoints
POST /mp3 - Convert audio file in request body to mp3
POST /mp4 - Convert video file in request body to mp4
POST /jpg - Convert image file to jpg
GET /, /readme - Web Service Readme
/mp3, /m4a
Curl Ex:
curl -F "file=@input.wav" 127.0.0.1:3000/mp3 > output.mp3
curl -F "file=@input.m4a" 127.0.0.1:3000/mp3 > output.mp3
curl -F "file=@input.mov" 127.0.0.1:3000/mp4 > output.mp4
curl -F "file=@input.mp4" 127.0.0.1:3000/mp4 > output.mp4
curl -F "file=@input.tiff" 127.0.0.1:3000/jpg > output.jpg
curl -F "file=@input.png" 127.0.0.1:3000/jpg > output.jpg
Configuration and New Endpoints
You can change the ffmpeg conversion settings or add new endpoints by editing the /app/endpoints.js file
Installation
Requires local Node and FFMPEG installation.
1) Install FFMPEG https://ffmpeg.org/download.html
2) Install node https://nodejs.org/en/download/ Using homebrew:
$ brew install node
Dev - Running Local Node.js Web Service
Navigate to project directory and:
Install dependencies:
$ npm install
Start app:
$ node app.js
Check for errors with ESLint:
$ ./node_modules/.bin/eslint .
Running Local Docker Container
Build Docker Image from Dockerfile with a set image tag. ex: docker-ffpmeg
$ docker build -t surebert/docker-ffpmeg .
Launch Docker Container from Docker Image, exposing port 9025 on localhost only
docker run -d \ --name ffmpeg-service \ --restart=always \ -v /storage/tmpfs:/usr/src/app/uploads \ -p 127.0.0.1:9025:3000 \ surebert/docker-ffpmeg
Launch Docker Container from Docker Image, exposing port 9026 on all IPs
docker run -p 9025:3000 -d surebert/docker-ffpmeg