This project is designed to extract audio from videos downloaded from multiple sources such as YouTube, transcribe the audio with start and end time subtitles, translate subtitles to different languages, and convert subtitle documents into SSML (Speech Synthesis Markup Language) for synthesizing the text and voicing it.
Video Downloading: Automatically download videos from YouTube.
Audio Extraction: Extract audio from downloaded videos.
Transcription: Transcribe audio to generate subtitles with start and end times.
Translation: Translate subtitles into different languages.
SSML Conversion: Convert subtitle files into SSML format for speech synthesis.
Subtitle Integration: Add subtitles back to the video.
- Python 3.8 or higher
- RabbitMQ
- FFmpeg (for audio extraction and video processing)
- Poetry
-
Clone the repository:
git clone https://github.com/ivasik-k7/YoutubeTranscriptor.git .
-
Install dependencies and create a virtual environment using Poetry:
poetry install
-
Set up RabbitMQ on your machine and ensure it is running
-
Configure the settings in
app/config/config.py
to match your environment.
The project listens to a RabbitMQ queue for messages containing the URL of the YouTube video to process.
Upon receiving a message, it downloads the video, extracts the audio, transcribes it, generates subtitles, translates them if needed, converts the subtitles to SSML, and integrates the subtitles back into the video.
This project is licensed under the MIT License. See the LICENSE file for more details.
We welcome contributions to this project! If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (git push origin feature-branch).
- Create a new Pull Request.
- Please ensure your code follows the project's coding standards and includes appropriate tests.
For any questions or inquiries, please contact Ivan Kovtun at ivan.kovtun@capgemini.com.