Skip to content

rzlamrr/dwhisper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dWhisper Video Stream Processor

This is a comprehensive Flask web application designed to process, stream, and automatically generate subtitles for video files. Users can either upload local videos or provide a URL for a video to be downloaded using yt-dlp. The application then generates subtitles using the powerful faster-whisper library, converts the video to HLS for efficient streaming, and provides a modern web player.

This project provides a user-friendly web interface for the core technology found in the faster-auto-subtitle project.

Features

  • Dual Input Methods:

    • Upload local video files directly through the browser.

    • Paste a URL from any yt-dlp supported site.

  • Automatic Subtitle Generation:

    • Uses the faster-whisper library, a highly optimized implementation of OpenAI's Whisper model.

    • Option to upload a custom .srt file.

    • Advanced Control:

      • Choose from a wide range of Whisper models (from medium to large-v3-turbo).

      • Select the processing task: translate (to English) or transcribe (keep original language).

  • Efficient Streaming:

    • Automatically converts videos to HTTP Live Streaming (HLS) format for adaptive bitrate streaming.
  • Modern Web Interface:

    • Clean UI built with TailwindCSS and Alpine.js.

    • Automatic thumbnail generation for video previews.

    • List, play, and delete processed videos.

  • Feature-Rich Player:

    • Modern Video.js player.

    • Tap/click on the sides of the player to seek forward or backward.

    • Subtitle support (.vtt format, converted on-the-fly).

Prerequisites

Before you begin, ensure you have the following installed on your system:

  1. Python 3.11 or newer:

    • This is required by the underlying faster-whisper library. Check your version with python --version.
  2. FFmpeg: This is essential for video processing (thumbnailing, HLS conversion).

    • Windows: Download the binaries from the FFmpeg website and add the bin folder to your system's PATH.

    • macOS (using Homebrew):

      brew install ffmpeg
      
      
    • Linux (Debian/Ubuntu):

      sudo apt update && sudo apt install ffmpeg
      
      
  3. (Optional, but Highly Recommended) NVIDIA GPU with CUDA 12:

About

A self-hosted, Flask-powered web application to automatically generate subtitles for any video (from upload or URL) using faster-whisper and stream it via HLS.

Topics

Resources

Stars

Watchers

Forks

Contributors