VideoLingo is an AI-driven tool for video translation, localization, and dubbing, aiming to produce high-quality subtitles akin to Netflix standards. Developed by Huanshere, it emphasizes single-line subtitles and cinematic translations. The project is gaining traction with nearly 10,000 stars on GitHub. Currently, the project is focused on expanding language support and enhancing internationalization features.
Internationalization Updates:
Documentation Enhancements:
Feature Enhancements:
Bug Fixes:
Collaborations:
torch
and typer
.Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 3 | 0 | 0 | 3 | 1 |
30 Days | 20 | 2 | 20 | 20 | 1 |
90 Days | 123 | 88 | 262 | 116 | 1 |
All Time | 297 | 240 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Huanyu | ![]() |
1 | 1/1/0 | 17 | 45 | 3500 |
Will 保哥 (doggy8088) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project's delivery risk is significant due to a backlog of 57 open issues, including critical performance bottlenecks like issue #376, where tasks run excessively long. Dependency conflicts (e.g., issue #372) and API rate limit risks (issue #360) further threaten delivery timelines. The absence of robust documentation and testing in new features, such as the batch video download feature from PR #73, exacerbates these risks. |
Velocity | 3 | The velocity risk is moderate. While there is active development with significant contributions from Huanyu, the lack of balanced team involvement and slow issue resolution (only 2 out of 20 issues closed in 30 days) suggest potential velocity stagnation. The presence of multiple open pull requests pending for over a month also indicates possible bottlenecks in the review process. |
Dependency | 4 | Dependency risks are high due to compatibility issues with packages like ctranslate2 on Mac OS (issue #372) and API rate limits causing project bans (issue #360). These dependencies are critical to the project's functionality and stability, posing significant risks if not managed effectively. |
Team | 3 | Team risks are moderate. The concentration of recent commits by a single developer, Huanyu, suggests potential dependency on individual contributors. The lack of resolution in team-related issues like #377 and #364 indicates possible communication or prioritization challenges within the team. |
Code Quality | 4 | Code quality risks are high due to recurring bugs such as array length mismatches (#369) and missing modules (#368). The substantial code changes without accompanying tests in PRs like #73 suggest potential for low-quality code being integrated into the codebase. |
Technical Debt | 4 | Technical debt risk is significant due to unresolved issues accumulating over time and the introduction of new features without adequate documentation or testing. This is evident in PRs like #311, which lacks detailed documentation despite adding complex TTS models. |
Test Coverage | 5 | Test coverage risk is very high. Many new features and changes lack accompanying tests, as seen in PRs like #378 and #73. This absence of comprehensive testing practices increases the likelihood of undetected bugs and regressions. |
Error Handling | 4 | Error handling risk is high due to frequent occurrences of unhandled errors such as KeyErrors (#374) and HTTPErrors (#373). While some improvements have been made (e.g., PR #342), overall error handling mechanisms remain inadequate. |
Recent GitHub issue activity for the VideoLingo project indicates a high level of user engagement, with a variety of issues being reported and discussed. The issues range from technical bugs and feature requests to installation problems and performance enhancements. A notable theme is the frequent occurrence of errors related to dependencies, installation, and model compatibility, which suggests that users are encountering challenges in setting up the environment correctly.
Dependency and Installation Issues: A significant number of issues (#304, #292, #187) relate to dependency conflicts, particularly with package versions like torch
and typer
. This indicates potential difficulties in maintaining compatibility across different systems and highlights the need for clearer installation guidelines or automated setup scripts.
Model Compatibility and Performance: Several issues (#237, #188) involve compatibility problems with models such as WhisperX and CUDA-related errors. Users report mismatches between expected and actual model versions, suggesting a need for better version management or documentation on supported configurations.
Translation and Alignment Errors: Issues like #240 and #281 point to challenges in translation accuracy and alignment, particularly when dealing with complex sentence structures or specific language nuances. This underscores the importance of refining AI models for better linguistic handling.
Feature Requests for Enhanced Functionality: There are requests for additional features such as support for more languages (#264), integration with local LLMs (#77), and improved subtitle editing capabilities (#133). These highlight user demand for broader functionality and customization options.
Error Handling and Debugging: Users frequently encounter cryptic error messages (#178, #214), indicating a need for more informative logging and error handling to aid troubleshooting.
User Experience Enhancements: Suggestions for UI improvements (#71) and workflow optimizations reflect a desire for a more streamlined user experience.
#380: Docker - Offline with ollama chat (Created 1 day ago)
#377: 希望能支持繁體中文 (Created 2 days ago)
#376: 任务跑了2个小时了,还没有完成,5分钟的视频。。。 (Created 3 days ago)
#372: Mac OS 无法安装ctranslate2 4.4.0 (Edited 1 day ago)
#374: KeyError: 'text' (Created 12 days ago)
#373: ERROR301 (Created 13 days ago)
#376: Long processing times indicate potential performance bottlenecks or inefficiencies in handling video tasks.
#374 & #373: Both involve critical errors during subtitle processing, which could significantly impact usability if not addressed promptly.
These issues highlight ongoing challenges in performance optimization, error resolution, and feature expansion necessary to enhance the VideoLingo project's robustness and user satisfaction.
#378: Support Traditional Chinese translations
#352: docs: add Japanese README
#347: Update step5_splitforsub.py, fix bugs
step5_splitforsub.py
. The bug causes errors during execution, which this PR aims to resolve.#342: fix: prevent exception from calling pynvml.nvmlShutdown()
before init pynvml
pynvml
is only shut down if it was initialized. This is crucial for preventing runtime exceptions.#311: 支持阿里云CosyVoice和Sambert以及本地部署的CosyVoice文本转语音
#278: docker: Optimize Dockerfile build process
.dockerignore
file and removing unnecessary steps. This could improve build times and efficiency.#213: 改进时间戳处理逻辑、提高匹配精度要求 改善分割时偶尔出现的错行问题
#73: 视频批量下载功能
#379: I18n
#325: Fix nvidia gpu detect
#310: 支持阿里云CosyVoice和Sambert以及本地部署的CosyVoice文本转语音
#306 & #302 & #300 & #299 & #291 & #276 & #267 & #266 & #248 & #246 & #223 & #217 & #212 & #211 & #208 & #203 & #174 & #163 & #155 & #151 & #148 & #144 & #141 & #136 & #132 & #131 & #128 & #127 & #125 & #123 & #122 & #118 & #117 & ...
Overall, the project is progressing with significant contributions towards expanding language support and improving technical robustness, though some delays in processing older pull requests could be addressed for smoother development workflow.
config.yaml
'YOUR_API_KEY'
), which is a good practice. However, it would be beneficial to include instructions on securely managing these keys.core/all_tts_functions/siliconflow_fish_tts.py
rich
. However, there are some repeated code patterns that could be refactored into helper functions to improve maintainability.core/all_whisper_methods/whisperX_302.py
core/all_whisper_methods/whisperX_local.py
whisperX_302.py
, consider adding more detailed logging or comments. Additionally, refactoring some of the complex logic into separate functions could improve readability.core/step12_merge_dub_to_vid.py
install.py
rich
for console output. However, some functions are quite long and could be broken down further.requirements.txt
st_components/sidebar_setting.py
translations/translations.py
Overall, the codebase demonstrates good practices in terms of structure and organization but could benefit from increased modularity, enhanced documentation, and improved error handling in certain areas.
Internationalization (i18n):
Documentation Updates:
Feature Enhancements:
Bug Fixes:
Collaborations:
Work In Progress: