Inspiration
The inspiration for this project came from realizing how big of a barrier language is when it comes to accessing education and technical knowledge. Thousands of high-quality educational videos and tutorials are published daily on YouTube in English and other languages, but they remain inaccessible to students and developers who do not yet speak them. YT DUBBER CLI was created to break this barrier quickly and automatically, directly inside the terminal.
What it does
YT DUBBER CLI is a command-line tool that automates the entire process of redubbing YouTube videos into Brazilian Portuguese from end to end. The user only needs to provide the video URL and the desired time interval. From there, the system:
Downloads and crops the exact clip from the YouTube video.
Transcribes the original audio with high accuracy.
Translates the content while adapting technical context using artificial intelligence.
Synthesizes a new voice with ultra-realistic neural intonation.
Mixes the new dubbed audio back into the original video, delivering a file ready to watch.
How we built it
The project was built entirely in Python, acting as an orchestrator for advanced libraries and APIs:
Interface and CLI: Developed with Typer for secure argument management and Rich to display status and dynamic progress bars in the terminal.
Media Orchestration: Used yt-dlp for direct media extraction and FFmpeg subprocesses to handle cutting, extracting, and mixing audio and video channels.
Artificial Intelligence: Integrated Whisper for automatic audio transcription, used the Groq SDK for ultra-low latency calls to the Llama 3.1 model for translation, and Edge-TTS running asynchronous requests to generate the Portuguese voice.
Challenges we ran into
During development for the hackathon, we faced three main technical challenges:
Windows Execution Environment: Permission restrictions when running virtual environment (.venv) scripts and protected system paths that blocked packages from working correctly.
Line Ending Matching: Critical Git warnings regarding file line conversion (LF vs CRLF) and automatic conflicts generated in the remote repository when pushing the first commit.
Subprocess Management: Syncing the processing time of heavy media via FFmpeg without freezing the visual interface and execution flow of the CLI.
Accomplishments that we're proud of
Smooth Usability: We built a powerful tool without overwhelming the user. The system does not require manual language configuration; it detects and translates everything automatically.
High Performance: Thanks to choosing the Groq API with Llama 3.1, the translation step happens in record time, minimizing latency bottlenecks.
Terminal Visual Interface: Delivering a CLI with a modern, clean visual identity that informs the user about the progress of every single step in real time.
What we learned
The project provided deep practical learning about:
The importance of structuring a reproducible and isolated software ecosystem using stable virtual environments.
The behavior of asynchronous pipelines that heavily rely on multiple external AI APIs.
The need to build robust input validation for user inputs (such as stopping the pipeline if the provided start time is greater than the end time of the video).
What's next for YT DUBBER CLI
Multi-language Output Support: Allowing users to choose which language they want the video to be dubbed into, expanding the ecosystem beyond Portuguese.
AI-powered Time Synchronization: Implementing algorithms to automatically adjust the speed of the generated voice (Voice Stretching) to match the timing of the original speaker perfectly.
Graphical User Interface (GUI): Developing a visual desktop interface for users who prefer not to use the terminal command line.
Log in or sign up for Devpost to join the conversation.