add validation for other video formats; double cache size; adapt to device_type change in transcriber
fc6dd1b
| <html> | |
| <head> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" integrity="sha512-Fo3rlrZj/k7ujTnHg4CGR2D7kSs0v4LLanw2qksYuRlEzO+tcaEPQogQ0KaoGN26/zrn20ImR1DfuLWnOo7aBA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> | |
| <title>Transcribe Video</title> | |
| <style> | |
| body { font-family: Arial; background: #f0f0f0; padding: 2rem; } | |
| form { background: white; padding: 2rem; border-radius: 10px; max-width: 600px; margin: auto; } | |
| label, select, input { display: block; width: 100%; margin-bottom: 1rem; } | |
| input[type="submit"] { background: #4CAF50; color: white; padding: 0.8rem; border: none; cursor: pointer; } | |
| .radio-container { display: flex; gap: 2rem; margin-bottom: 1rem;} | |
| .radio-option { display: flex; flex-direction: column; align-items: flex-start;} | |
| </style> | |
| </head> | |
| <body> | |
| <form id="video-form" action="/transcribe/" method="post" enctype="multipart/form-data" onsubmit="submitButton.disabled = true; return true;"> | |
| <h2>Step 1: Upload & Transcribe</h2> | |
| <label for="video_file">Video File</label> | |
| <input type="file" name="video_file" id="video_file" required> | |
| <label for="task">Task</label> | |
| <select name="task" id="task"> | |
| <option value="transcribe">Transcribe</option> | |
| <option value="translate">Translate</option> | |
| </select> | |
| <label for="model_version">Model Version</label> | |
| <select name="model_version" id="model_version"> | |
| <option value="deepdml/faster-whisper-large-v3-turbo-ct2">faster-whisper-large-v3-turbo</option> | |
| <option value="turbo">turbo</option> | |
| <option value="large-v3">large-v3</option> | |
| </select> | |
| <label for="max_words_per_line">Max words per line</label> | |
| <input type="number" name="max_words_per_line" id="max_words_per_line" value="6"> | |
| <label for="device_type">Device Type</label> | |
| <select name="device_type"> | |
| <option value="desktop">Desktop</option> | |
| <option value="mobile">Mobile</option> | |
| </select> | |
| <div id="loading" style="display:none; text-align: center; margin-top: 10px; margin-bottom: 10px; font-weight: bold;"> | |
| <i class="fas fa-spinner fa-spin"></i> Processing, please wait... | |
| </div> | |
| <input type="submit" name="submitButton" value="Transcribe"> | |
| </form> | |
| <script> | |
| // Show loading spinner on submit | |
| document.getElementById('video-form').addEventListener('submit', function () { | |
| document.getElementById('loading').style.display = 'block'; | |
| }); | |
| </script> | |
| </body> | |
| </html> | |