Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Social Media Video Downloader App v1.1

This is a (Python) Flask-based Downloader application that allows you to download social media videos or extract audio from them using yt-dlp. This app was vibe-coded with Claude 3.7 Sonnet, ChatGPT o3-mini-high and Google Gemini 2.5 experimental.

Installation


  1. Ensure you have Python 3.10 or higher installed on your system.
  2. Install Deno (required for YouTube):
    • macOS/Linux: curl -fsSL https://deno.land/install.sh | sh
    • Windows: winget install --id=DenoLand.Deno
  3. Clone or download the project files.
  4. (Optional) Create and activate a virtual environment:
    • On Linux/Mac: python3 -m venv venv source venv/bin/activate
    • On Windows: python -m venv venv venv\Scripts\activate
  5. Install the dependencies using pip: pip install -r requirements.txt

Usage


  1. Run the Flask application: python run.py
  2. Open your web browser and navigate to: http://localhost:8080
  3. Enter a YouTube URL in the input field and click "Fetch Video" to retrieve video information and available download options.
  4. Choose your preferred format (video or audio) and click "Download" to start the download.
  5. Once the download is complete, a download link will be provided so you can save the file to your device.

Additional Notes


  • FFmpeg Requirement: If you plan to extract audio (MP3), ensure that FFmpeg is installed on your system. Download it from: https://ffmpeg.org/download.html

  • Twitter/X Authentication: Twitter/X now requires authentication for many videos. To enable authenticated downloads:

    1. Export cookies from your browser using a browser extension (e.g., "Get cookies.txt LOCALLY")
    2. Save the file as cookies.txt in the project root directory
    3. The app will automatically use the cookies for Twitter/X and other platforms
  • HTTP 403 Errors: The app uses enhanced HTTP headers to mimic a browser request. If you continue to face HTTP 403 errors, consider updating yt-dlp to the latest version or supplying a cookies file for age-restricted/region-locked content.

  • Cleanup: The application automatically cleans up downloads older than 2 hours.

  • Documentation: For more information, refer to: - Flask Documentation: https://flask.palletsprojects.com/ - yt-dlp Documentation: https://github.com/yt-dlp/yt-dlp

Enjoy and let me know if you have any further questions!

Marco van Hylckama Vlieg

https://x.com/AIandDesign

About

Social Media downloader with support for YouTube, X, Instagram and TikTok

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages