From 0d7d7996935c2f1cdda3a5f5c3e4698f9d01d1db Mon Sep 17 00:00:00 2001 From: Maxim Stewart Date: Mon, 28 Jan 2019 16:56:22 -0600 Subject: [PATCH] Setup avi and wmv convert process. --- resources/js/uiActions.js | 14 ++++++-------- resources/php/filesystemActions.php | 13 +++++++++++-- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/resources/js/uiActions.js b/resources/js/uiActions.js index 7bf66b6..25d1f94 100644 --- a/resources/js/uiActions.js +++ b/resources/js/uiActions.js @@ -49,14 +49,8 @@ const disableEdits = () => { } const showMedia = async (mediaLoc, type) => { - let path = document.getElementById("path").innerHTML; - let tempRef = mediaLoc.toLowerCase(); - let fullMedia = path + mediaLoc; - let iframe = document.createElement("IFRAME"); - - let video = document.createElement("VIDEO"); - + let video = document.createElement("VIDEO"); let outterDiv = document.createElement("DIV"); let popOutDiv = document.createElement("DIV"); let closeDiv = document.createElement("DIV"); @@ -65,6 +59,9 @@ const showMedia = async (mediaLoc, type) => { let aTag = document.createElement("A"); let imgTag = document.createElement("IMG"); let closeText = document.createTextNode("X"); + let path = document.getElementById("path").innerHTML; + let tempRef = mediaLoc.toLowerCase(); + let fullMedia = path + mediaLoc; closeDiv.className = "closeBttn"; closeDiv.title = "Close"; @@ -90,7 +87,7 @@ const showMedia = async (mediaLoc, type) => { imgDiv.appendChild(imgTag); if ((/\.(mkv|avi|flv|mov|m4v|mpg|wmv|mpeg|mp4|mp3|webm|flac|ogg|pdf)$/i).test(tempRef)) { - if ((/\.(mkv)$/i).test(tempRef)) { + if ((/\.(mkv|avi|wmv)$/i).test(tempRef)) { const params = "remuxVideo=true&mediaPth=" + fullMedia; let response = await fetch("resources/php/filesystemActions.php", {method: "POST", body: new URLSearchParams(params)}); @@ -136,6 +133,7 @@ const showMedia = async (mediaLoc, type) => { if (type === "video") { // This is questionable in usage since it loads the full video // before showing; but, seeking doesn't work otherwise... + // video.src = fullMedia; let response = await fetch(fullMedia, {method: "GET"}); var vidSrc = URL.createObjectURL(await response.blob()); // IE10+ video.src = vidSrc; diff --git a/resources/php/filesystemActions.php b/resources/php/filesystemActions.php index 6e00849..5267537 100644 --- a/resources/php/filesystemActions.php +++ b/resources/php/filesystemActions.php @@ -150,7 +150,6 @@ function remuxVideo($FILE) { include 'config.php'; if ($size > $TMPFOLDERSIZE) { - $files = glob($PTH . '*'); foreach($files as $file){ if(is_file($file)) @@ -159,7 +158,17 @@ function remuxVideo($FILE) { } if (preg_match('(mkv)', $EXTNSN) === 1) { - $COMMAND = 'ffmpeg -i "' . $FILE . '" -movflags +faststart -codec copy ' . $PTH . $HASHED_NAME; + $COMMAND = 'ffmpeg -i "' . $FILE . '" -movflags +faststart -codec copy -strict -2 ' . $PTH . $HASHED_NAME; + shell_exec($COMMAND . " > /dev/null &"); + } + + if (preg_match('(avi)', $EXTNSN) === 1) { + $COMMAND = 'ffmpeg -i "' . $FILE . '" -movflags +faststart -c:v libx264 -crf 21 -c:a aac -b:a 192k -ac 2 ' . $PTH . $HASHED_NAME; + shell_exec($COMMAND . " > /dev/null &"); + } + + if (preg_match('(wmv)', $EXTNSN) === 1) { + $COMMAND = 'ffmpeg -i "' . $FILE . '" -movflags +faststart -c:v libx264 -crf 23 -c:a aac -strict -2 -q:a 100 ' . $PTH . $HASHED_NAME; shell_exec($COMMAND . " > /dev/null &"); } }