wiki#4
Open
zakattack02 wants to merge 93 commits into
Open
Conversation
…load_models.py for model caching
- Add WhisperSubtitles controller with model download and binary installation endpoints - Implement WhisperService and WhisperBinaryManager for binary/model management - Add GPU detection (CUDA, Vulkan, Metal) - Implement configuration page with UI controls - Add comprehensive error handling and logging - Properly implement IDisposable pattern for resource cleanup - Add 30-minute timeout for large downloads - Improve reflection-based method invocation with better error handling
- Restored WhisperSubtitlesController with binary installation and model download endpoints - Restored WhisperService with proper resource disposal - Restored WhisperBinaryManager with GPU detection - Added PluginConfiguration with all user-configurable options - Added Plugin.cs entry point - Restored configuration page HTML with UI controls - Added Directory.Build.props for version management
- Added WhisperSubtitleTask scheduled task for batch subtitle generation - Added WhisperPostScanTask for automatic post-scan processing - Added SubtitleDetectionService for subtitle file management - Added ISubtitleDetectionService interface - Added Jellyfin.Plugin.WhisperSubtitles.csproj with proper dependencies and build configuration - Configured Jellyfin 10.11.2 SDK references - Added Whisper.net library with runtime support - Configured embedded resources (config page HTML, logo) - Added post-publish target to remove non-Linux runtime libraries
- Removed the binary installation button from the configuration page and added instructions for manual binary setup. - Improved library loading logic to handle both direct array and .Items wrapper responses. - Enhanced error handling and logging for library loading and binary deployment. - Updated the binary manager to extract the bundled whisper-cli binary from the plugin directory to the cache. - Refactored command argument building for the whisper.cpp process to improve readability and maintainability. - Filtered video items based on enabled libraries from configuration. - Updated version numbers in various project files to reflect the new release version. Co-authored-by: Copilot <copilot@github.com>
…y filtering logic Co-authored-by: Copilot <copilot@github.com>
Removed version 0.0.0.58 entry from manifest.
…itles plugin - Introduced .NET 9.0 assembly attributes and updated project files. - Generated assembly info and global usings for the plugin. - Updated dependencies and added new assets for the plugin. - Released new plugin versions: 0.0.0.58, 0.0.0.59, and 0.0.0.60.
…e, fix PluginPageInfo - Add FFmpeg audio extraction step before whisper-cli (whisper-cli only supports WAV/FLAC/MP3/OGG, not MP4/MKV) - Replace config page with polished card-based layout (grid columns, banners, dirty indicator) - Remove unsupported PluginPageInfo properties (DisplayUrl, MenuSection, MenuIcon, EnableInMainMenu) - Add bin/ and obj/ to .gitignore
…olished card-based config page, fix PluginPageInfo for Jellyfin 10.11.2
…-output-dir and -vv flags, added -ng for CPU-only mode
…ke so binary doesn't include AVX-512 instructions from build machine (Ryzen 9950X3D)
… doesn't support -ngl). CPU path already fixed in 0.0.0.92/93.
…OOM killer on low-RAM servers (4GB). Process each chunk separately and merge SRTs.
…ndling - Introduced chunking for audio files to manage memory usage, processing audio in 30-minute segments. - Added methods for running the whisper CLI and getting WAV duration. - Enhanced logging for better debugging and tracking of subtitle generation. - Updated dependencies and versioning to 0.0.0.95. - Cleaned up temporary files after processing. - Adjusted build scripts for compatibility with new configurations.
…nfig field + FindFfprobe() fallback chain + configPage.html input.
…sk now reports progress as each chunk finishes, so the percentage bar updates smoothly instead of freezing per video.
…e now builds both whisper-whisper-cli (CPU) and whisper-whisper-cli-cuda (CUDA) + bundles libcudart/libcublas. Plugin auto-selects CUDA binary when GPU is enabled and cuda binary is deployed.
- Renumber releases by content (v0.0.0.91→1.0.0.0, v0.0.0.95→2.0.0.0, v0.0.0.98→3.0.0.0) - Trim manifest to 8 meaningful versions (remove v0.0.0.1–v0.0.0.90) - Update make-release.sh: dirty-tree check, SHA256, CUDA split, atomic push, dry-run - Version 3.0.0.0 (CUDA milestone)
- C1: Quote -l language arg to prevent flag injection - D1/H2: Delete temp WAV file in finally block - D3: Return empty list on split failure instead of passing full WAV - D4: Push tag only after successful GitHub release creation - D11: Don't pass -dev 0 GPU flag when falling back to CPU binary - M6: Add 60-min timeout for whisper-cli, 30-min for ffmpeg, 30-sec for ffprobe - D6: Wrap Directory.GetFiles in try/catch - Add .github/rulesets/main.json for branch protection
- Full rewrite covering all features, installation methods, configuration, GPU acceleration, troubleshooting, build from source, and version history - Add branch protection rulesets at .github/rulesets/main.json
setup.sh was for the old openai-whisper Python approach. The project is now a Jellyfin C# plugin using whisper.cpp — completely unrelated.
batch_generate.py and download_models.py were for the old openai-whisper Python approach. The project is now a Jellyfin C# plugin using whisper.cpp.
…, modify LICENSE, and remove whisper.cpp
- Added support for progress reporting during subtitle generation in WhisperPostScanTask and WhisperSubtitleTask. - Updated dependencies and versioning in project files to reflect the new version 3.0.0. - Enhanced Docker build process for better handling of CPU and CUDA binaries. - Removed obsolete Linux x64 binaries from the output. - Improved error handling and logging for better debugging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.