Skip to content

TT5H/dailymotion-transcriber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 Dailymotion Video Transcriber

A powerful Node.js tool that extracts audio from Dailymotion videos and generates accurate transcriptions using OpenAI's Whisper AI model.

Node.js License Python

✨ Features

  • πŸŽ₯ 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

πŸš€ Quick Start

Prerequisites

Before using this tool, you need to install the following dependencies:

1. FFmpeg

  • Windows: Download from ffmpeg.org and add to PATH
  • macOS: brew install ffmpeg
  • Linux: sudo apt install ffmpeg

2. Python (3.8+)

  • Download from python.org
  • Make sure to add Python to your PATH during installation

3. Python Packages

pip install openai-whisper yt-dlp

Installation

  1. Clone the repository
git clone https://github.com/yourusername/dailymotion-transcriber.git
cd dailymotion-transcriber
  1. Install Node.js dependencies
npm install
  1. Run the tool
npm start

πŸ“– Usage

Basic Usage

node dailymotion-transcriber.js

The tool will guide you through:

  1. Entering the Dailymotion video URL
  2. Choosing transcription length (2min, 5min, 10min, or full video)
  3. Selecting output format (TXT, JSON, SRT, or all)
  4. Deciding whether to keep the audio file

Example Session

🎬 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

πŸ“ Output Formats

TXT Format

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...

JSON Format

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
}

SRT Format

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.

βš™οΈ Configuration

You can modify config.json to customize:

  • Whisper model (tiny, base, small, medium, large)
  • Video quality settings
  • Audio processing parameters
  • Output preferences

πŸ”§ Troubleshooting

Common Issues

"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

Performance Tips

  • Faster transcription: Use tiny or base Whisper models
  • Better accuracy: Use medium or large models
  • Memory usage: Larger models require more RAM
  • Processing time: Longer videos take more time

πŸ“‚ Project Structure

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

πŸ› οΈ Development

Scripts

# Start the application
npm start

# Check dependencies
npm run setup

# Install all dependencies
npm run install-deps

Dependencies

  • 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

πŸ“‹ Requirements

  • Node.js 18.0.0 or higher
  • Python 3.8 or higher
  • FFmpeg
  • 4GB+ RAM (recommended for larger models)
  • Internet connection

🀝 Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

⚠️ Disclaimer

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.

πŸ†˜ Support

If you encounter any issues:

  1. Check the troubleshooting section above
  2. Ensure all dependencies are installed correctly
  3. Verify the video URL is accessible
  4. Check system requirements (RAM, disk space)
  5. Open an issue on GitHub with details about your problem

Made with ❀️ for the community

About

A powerful Node.js tool that extracts audio from Dailymotion videos and generates accurate transcriptions using OpenAI's Whisper AI model.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors