A powerful Node.js tool that extracts audio from Dailymotion videos and generates accurate transcriptions using OpenAI's Whisper AI model.
- π₯ Video Download: Download videos from Dailymotion using yt-dlp
- π΅ Audio Extraction: Extract high-quality audio in optimal format for transcription
- π€ AI Transcription: Generate accurate transcriptions using OpenAI Whisper
- π Multiple Formats: Export transcriptions as TXT, JSON, or SRT subtitle files
- β‘ Flexible Length: Choose to transcribe 2 minutes, 5 minutes, 10 minutes, or full video
- π― User-Friendly: Interactive CLI with progress indicators and clear feedback
- π§ Dependency Checking: Automatically verifies required tools are installed
Before using this tool, you need to install the following dependencies:
- Windows: Download from ffmpeg.org and add to PATH
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg
- Download from python.org
- Make sure to add Python to your PATH during installation
pip install openai-whisper yt-dlp- Clone the repository
git clone https://github.com/yourusername/dailymotion-transcriber.git
cd dailymotion-transcriber- Install Node.js dependencies
npm install- Run the tool
npm startnode dailymotion-transcriber.jsThe tool will guide you through:
- Entering the Dailymotion video URL
- Choosing transcription length (2min, 5min, 10min, or full video)
- Selecting output format (TXT, JSON, SRT, or all)
- Deciding whether to keep the audio file
π¬ Dailymotion Video Transcriber
Extract audio and generate transcriptions from Dailymotion videos
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β All dependencies found
? Enter Dailymotion video URL: https://www.dailymotion.com/video/x8mry9h
? How much of the video to transcribe? First 2 minutes (fast test)
? Choose output format: All formats
? Keep the extracted audio file? No
β Found: The Green Planet - Human Worlds (U.S. Version)
β Video downloaded successfully
β Audio extracted successfully
β Transcription completed
β Transcription saved
π Transcription completed successfully!
π Video Information:
Title: The Green Planet - Human Worlds (U.S. Version)
Uploader: Akhil Kandkur
Duration: 55m 56s
π Transcription Stats:
Language: en
Segments: 45
Characters: 1,247
π Output Directory: ./output
π Generated Files:
β’ The_Green_Planet_Human_Worlds_U_S_Version.mp4
β’ The_Green_Planet_Human_Worlds_U_S_Version.wav
β’ The_Green_Planet_Human_Worlds_U_S_Version.txt
β’ The_Green_Planet_Human_Worlds_U_S_Version.json
β’ The_Green_Planet_Human_Worlds_U_S_Version.srt
Plain text transcription:
The relationship between plants and humans is extraordinary. We've been adapting to each other for as long as we've been on the planet. We rely upon plants for almost everything...
Structured data with timestamps:
{
"text": "The relationship between plants and humans is extraordinary...",
"segments": [
{
"start": 0.0,
"end": 2.5,
"text": "The relationship between plants and humans is extraordinary."
}
],
"language": "en",
"duration": 120.5
}Subtitle file for video players:
1
00:00:00,000 --> 00:00:02,500
The relationship between plants and humans is extraordinary.
2
00:00:02,500 --> 00:00:05,000
We've been adapting to each other for as long as we've been on the planet.
You can modify config.json to customize:
- Whisper model (tiny, base, small, medium, large)
- Video quality settings
- Audio processing parameters
- Output preferences
"Command not found" errors:
- Ensure FFmpeg, Python, and pip are in your PATH
- Restart your terminal after installation
- On Windows, you may need to restart your computer
Slow transcription:
- Use smaller Whisper models in the configuration
- Choose shorter transcription lengths for testing
- Ensure you have sufficient RAM (4GB+ recommended)
Video download fails:
- Check your internet connection
- Verify the video URL is accessible
- Update yt-dlp:
pip install --upgrade yt-dlp
Empty transcription:
- The video might not have speech in the selected time range
- Try a longer transcription length
- Check if the video has audio
- Faster transcription: Use
tinyorbaseWhisper models - Better accuracy: Use
mediumorlargemodels - Memory usage: Larger models require more RAM
- Processing time: Longer videos take more time
dailymotion-transcriber/
βββ src/ # Source code (if using modular structure)
βββ output/ # Generated files (created automatically)
βββ dailymotion-transcriber.js # Main application
βββ config.json # Configuration settings
βββ package.json # Node.js dependencies
βββ .gitignore # Git ignore rules
βββ README.md # This file
# Start the application
npm start
# Check dependencies
npm run setup
# Install all dependencies
npm run install-deps- yt-dlp: Video downloading
- fluent-ffmpeg: Audio processing
- openai-whisper: Speech-to-text transcription
- chalk: Terminal styling
- inquirer: Interactive prompts
- ora: Loading spinners
- fs-extra: Enhanced file operations
- Node.js 18.0.0 or higher
- Python 3.8 or higher
- FFmpeg
- 4GB+ RAM (recommended for larger models)
- Internet connection
Contributions are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for educational and personal use only. Please respect copyright laws and terms of service when downloading content. Always ensure you have the right to download and transcribe the video content.
If you encounter any issues:
- Check the troubleshooting section above
- Ensure all dependencies are installed correctly
- Verify the video URL is accessible
- Check system requirements (RAM, disk space)
- Open an issue on GitHub with details about your problem
Made with β€οΈ for the community