YouTube MP3 & MP4 ダウンローダー

Web

概要

YouTube-MP3-MP4-Downloaderは、YouTubeの動画をMP4形式でダウンロードしたり、音声のみを抽出してMP3形式で保存できるWebアプリケーションです。Node.jsとExpressを用いてサーバーサイドを構築し、@distube/ytdl-coreライブラリを利用してYouTubeの動画情報の取得および変換処理を実現しています。ユーザーはシンプルかつ直感的なインターフェースから動画URLを入力するだけで、手軽に動画や音声の保存が可能です。また、Docker対応により環境構築が容易で、開発者や一般ユーザーの双方に利用しやすい設計となっています。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 4
  • ウォッチャー数: 5
  • コミット数: 10
  • ファイル数: 9
  • メインの言語: JavaScript

主な特徴

  • YouTube動画をMP4動画ファイルとしてダウンロード可能
  • MP3音声ファイルへ変換しダウンロードできる機能を実装
  • Node.jsとExpressを用いた軽量かつ高速なサーバー構成
  • Dockerfileを備え、コンテナ環境で簡単にセットアップ可能

技術的なポイント

本プロジェクトはNode.jsのエコシステムを活用し、YouTubeから動画データを効率よく取得・変換するために@distube/ytdl-coreライブラリを採用しています。ytdl-coreはYouTubeの動画ストリームに直接アクセスでき、多様なフォーマットでのダウンロードが可能な点が特徴です。Expressフレームワークを用いることでルーティングやリクエスト処理をシンプルに実装し、HTTPサーバーとしての応答性を確保しています。

動画URLを受け取るAPIエンドポイントでは、対象のYouTube動画情報を解析し、利用者が選択できる形式(MP3またはMP4)に応じて適切なストリームを生成。MP3変換時は動画から音声のみを抽出し、クライアントへストリーム配信する形でダウンロードを可能にしています。これにより、サーバー側でのファイル保存を必要とせず、リソース消費を抑えつつスムーズな処理を実現しています。

フロントエンドはシンプルなWebインターフェースを備え、ユーザーはURL入力と形式選択のみで即座に変換・ダウンロードが可能。UIは直感的で初学者にも扱いやすい設計です。さらに、Dockerfileが用意されているため、開発者は依存環境の構築を気にせず、コンテナを起動するだけで同一環境を再現できます。これにより、開発・テスト・デプロイの効率化が図られています。

また、.dockerignore.gitignoreなどの設定ファイルが含まれ、不要なファイルのコンテナやGit管理対象からの除外を徹底。パッケージ管理にはpackage-lock.jsonが存在し、依存関係のバージョン固定を行うことで安定した動作を保証しています。全体としてシンプルながら実用的な設計で、個人利用から軽量なサービス構築まで幅広く応用可能な構成となっています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .dockerignore: Dockerビルド時に除外するファイルやディレクトリを指定
  • .gitignore: Git管理から除外するファイルやディレクトリを指定
  • Dockerfile: Dockerイメージのビルド定義ファイル
  • README.md: プロジェクトの説明や利用方法を記載
  • package-lock.json: npm依存パッケージのバージョン固定情報
  • package.json: プロジェクトの依存関係やスクリプト定義
  • server.js(想定): Expressサーバーのメイン実装ファイル
  • public/(想定): フロントエンド静的ファイル(HTML, CSS, JS等)
  • その他JavaScriptファイル群:動画処理やAPIルーティングのロジック

まとめ

YouTube動画の音声・映像を手軽にダウンロードできる実用的なNode.jsベースのWebアプリ。

リポジトリ情報: