diff --git a/.env b/.env new file mode 100644 index 0000000..8bf873f --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +FFMPEG_PATH="./bin/win64/ffmpeg.exe" +FFPROBE_PATH="./bin/win64/ffprobe.exe" \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b2b6b49 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +proccessed/ +uploads/ \ No newline at end of file diff --git a/auflösungen.txt b/auflösungen.txt new file mode 100644 index 0000000..a109512 --- /dev/null +++ b/auflösungen.txt @@ -0,0 +1,14 @@ +LOW 480 X 270 400kbps +Medium 640 X 360 800kbps +High 960 X 540 1200kbps +HD 1280 x 720 1500kbps +FullHD 1920 x 1080 4000kbps +4K 3840 X 2160 8000kbps + +.\ffmpeg.exe -i .\uploads\test.mp4 -vf scale=480:270 -fpsmax 30 -pass 1 -f mp4 -vcodec h264 -b:v 400000 .\proccessed\test\test-270.mp4 +.\ffmpeg.exe -i .\uploads\test.mp4 -vf scale=640:360 -fpsmax 30 -pass 1 -f mp4 -vcodec h264 -b:v 800000 .\proccessed\test\test-360.mp4 +.\ffmpeg.exe -i .\uploads\test.mp4 -vf scale=960:540 -fpsmax 30 -pass 1 -f mp4 -vcodec h264 -b:v 1200000 .\proccessed\test\test-540.mp4 +.\ffmpeg.exe -i .\uploads\test.mp4 -vf scale=1280:720 -fpsmax 30 -pass 1 -f mp4 -vcodec h264 -b:v 1500000 .\proccessed\test\test-720.mp4 +.\ffmpeg.exe -i .\uploads\test.mp4 -vf scale=1920:1080 -fpsmax 30 -pass 1 -f mp4 -vcodec h264 -b:v 4000000 .\proccessed\test\test-1080.mp4 +.\ffmpeg.exe -i .\uploads\test.mp4 -vf scale=3840:2160 -fpsmax 30 -pass 1 -f mp4 -vcodec h264 -b:v 8000000 .\proccessed\test\test-2160.mp4 +.\ffmpeg.exe -i .\uploads\test.mp4 -ss 00:00:01.000 -frames:v 1 -q:v 2 .\proccessed\test\test-thumbnail.png \ No newline at end of file diff --git a/functions/video.js b/functions/video.js new file mode 100644 index 0000000..9e6a8fb --- /dev/null +++ b/functions/video.js @@ -0,0 +1,44 @@ +const ffmpeg = require("fluent-ffmpeg"); + +module.exports = { + /** + * reads information from a video + * @param {*} inputPath path to video file + * @returns promise