adding wireframe for app to start drilling in and doing logic
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.c9/
|
||||
@ -67,7 +67,7 @@ RUN \
|
||||
usermod -aG sudo \
|
||||
abc && \
|
||||
chsh abc -s /bin/bash && \
|
||||
sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
|
||||
sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
|
||||
-i /etc/sudoers && \
|
||||
sed -e 's/^wheel:\(.*\)/wheel:\1,abc/g' -i /etc/group && \
|
||||
echo "**** clean up ****" && \
|
||||
|
||||
11
public/ffmpeg-web.js
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
|
||||
// Ace editor
|
||||
var editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/chrome");
|
||||
editor.session.setMode("ace/mode/sh");
|
||||
editor.$blockScrolling = Infinity;
|
||||
editor.setOptions({
|
||||
readOnly: false,
|
||||
});
|
||||
editor.setValue('ffmpeg -y \\\n -vaapi_device /dev/dri/renderD129 \\\n -i ${INFILE} \\\n -b:v 4000k \\\n -c:v h264 \\\n ${OUTFILE}',-1);
|
||||
BIN
public/img/favicon/android-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/img/favicon/android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/img/favicon/android-icon-36x36.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/img/favicon/android-icon-48x48.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/img/favicon/android-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/img/favicon/android-icon-96x96.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/img/favicon/apple-icon-114x114.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
public/img/favicon/apple-icon-120x120.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/img/favicon/apple-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/img/favicon/apple-icon-152x152.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
public/img/favicon/apple-icon-180x180.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
public/img/favicon/apple-icon-57x57.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
public/img/favicon/apple-icon-60x60.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
public/img/favicon/apple-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/img/favicon/apple-icon-76x76.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
public/img/favicon/apple-icon-precomposed.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/img/favicon/apple-icon.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
2
public/img/favicon/browserconfig.xml
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>
|
||||
BIN
public/img/favicon/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
public/img/favicon/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/img/favicon/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/img/favicon/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
41
public/img/favicon/manifest.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "App",
|
||||
"icons": [
|
||||
{
|
||||
"src": "\/android-icon-36x36.png",
|
||||
"sizes": "36x36",
|
||||
"type": "image\/png",
|
||||
"density": "0.75"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-48x48.png",
|
||||
"sizes": "48x48",
|
||||
"type": "image\/png",
|
||||
"density": "1.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-72x72.png",
|
||||
"sizes": "72x72",
|
||||
"type": "image\/png",
|
||||
"density": "1.5"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-96x96.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image\/png",
|
||||
"density": "2.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-144x144.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image\/png",
|
||||
"density": "3.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image\/png",
|
||||
"density": "4.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
public/img/favicon/ms-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/img/favicon/ms-icon-150x150.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/img/favicon/ms-icon-310x310.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/img/favicon/ms-icon-70x70.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
public/img/logo.png
Normal file
|
After Width: | Height: | Size: 1008 B |
@ -1 +1,95 @@
|
||||
Hello World
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="description" content="Web interface for defining post processing FFmpeg commands">
|
||||
<meta name="author" content="linuxserver.io">
|
||||
<title>FFmpeg Web</title>
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/public/img/favicon/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/public/img/favicon/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/public/img/favicon/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/public/img/favicon/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/public/img/favicon/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/public/img/favicon/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/public/img/favicon/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/public/img/favicon/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/public/img/favicon/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/public/img/favicon/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/public/img/favicon/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/public/img/favicon/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/public/img/favicon/favicon-16x16.png">
|
||||
<link rel="manifest" href="/public/img/favicon/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="/public/img/favicon/ms-icon-144x144.png">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<link href="public/vendor/css/bootstrap.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||
<div class="navbar-brand" style="cursor:pointer;" onclick="renderhome()">
|
||||
<img src="/public/img/logo.png" width="30" height="30" class="d-inline-block align-top" alt="">
|
||||
FFmpeg Web
|
||||
</div>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item active">
|
||||
<div class="nav-link" style="cursor:pointer;" onclick="rendercommands()" >Example Commands</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
<br>
|
||||
<!-- Body -->
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
Process Rule RULENAME
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form>
|
||||
<div class="form-row align-items-center">
|
||||
<div class="col-auto">
|
||||
<input type="text" class="form-control" placeholder="File Extension">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" class="form-control" placeholder="Frequency (seconds)">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input" type="checkbox" id="deletesource">
|
||||
<label class="form-check-label" for="deletesource">
|
||||
Delete Source
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-primary mb-2">Save</button>
|
||||
</div>
|
||||
<div class="col float-right">
|
||||
<button class="btn btn-success mb-2 float-right">Run Now</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<br>
|
||||
<div id="editor" style="height: 250px; width: 100%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<center><button type="button" class="btn btn-secondary btn-lg">+</button></center>
|
||||
</div>
|
||||
<!-- Bootstrap core JavaScript -->
|
||||
<script src="/public/vendor/js/jquery.min.js"></script>
|
||||
<script src="/public/vendor/js/popper.min.js"></script>
|
||||
<script src="/public/vendor/js/bootstrap.min.js"></script>
|
||||
<!-- Plugin JavaScript -->
|
||||
<script src="/public/vendor/js/socket.io.js"></script>
|
||||
<script src="/public/vendor/js/ace.js"></script>
|
||||
<!-- Our JavaScript -->
|
||||
<script src="/public/ffmpeg-web.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
7
public/vendor/css/bootstrap.min.css
vendored
Normal file
17
public/vendor/js/ace.js
vendored
Normal file
7
public/vendor/js/bootstrap.min.js
vendored
Normal file
2
public/vendor/js/jquery.min.js
vendored
Normal file
8
public/vendor/js/mode-sh.js
vendored
Normal file
5
public/vendor/js/popper.min.js
vendored
Normal file
9
public/vendor/js/socket.io.js
vendored
Normal file
9
public/vendor/js/theme-chrome.js
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});
|
||||
(function() {
|
||||
window.require(["ace/theme/chrome"], function(m) {
|
||||
if (typeof module == "object" && typeof exports == "object" && module) {
|
||||
module.exports = m;
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
||||