😇

Youtubeの動画をpythonでMP4形式にする方法

に公開

はじめに

こんにちは!株式会社ヘッドウォータースの新卒2年目の矢野と申します。

この記事では、YouTubeの動画をPythonを使ってMP4形式でダウンロード・保存する方法を紹介します。
「動画を保存して、後から見返したい」という用途で使えるものです。

今回は yt-dlp という強力なライブラリを使って、コマンドラインだけでなくPythonスクリプト内で完結する形にします。


使用技術

  • Python 3.x
  • yt-dlpyoutube-dlの後継であり、より強力かつ保守されているツール)

概要

以下のような流れで、YouTubeの動画をMP4形式でダウンロードします。

  1. 必要なライブラリのインストール
  2. Pythonコードでダウンロード設定を定義
  3. YouTubeのURLを渡して実行
  4. 指定ディレクトリにMP4ファイルを保存

コード全文

import yt_dlp

def download_youtube_video(url, output_path='./downloaded_video.mp4'):
    ydl_opts = {
        'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4',
        'outtmpl': output_path,
        'merge_output_format': 'mp4',
        'quiet': False,
        'noplaylist': True,
    }

    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])

# 例:URLを指定して実行
if __name__ == "__main__":
    video_url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'  # 任意のURLに変更
    download_youtube_video(video_url)

実行の流れ

  1. 以下のコマンドでライブラリをインストールします:

    pip install -U yt-dlp
    
  2. 上記のPythonコードを youtube_dl_script.py などの名前で保存します。

  3. ターミナルで以下のように実行します:

    python youtube_dl_script.py
    
  4. スクリプトが完了すると、指定された ./downloaded_video.mp4 に動画が保存されます。


応用のアイデア

  • outtmpl を使って動画タイトルベースのファイル名に自動変更
  • プレイリスト全体を保存(noplaylist: False に変更)
  • 音声だけをMP3で保存する設定への切り替え
  • GUIをつけて初心者にも優しいツール化

おわりに

yt-dlp を使えば、Pythonから簡単にYouTubeの動画をMP4形式でダウンロードできます。
業務の自動化や学習素材の収集にも活用できるので、ぜひ手元の環境で試してみてください!

今後は、GUIやWebアプリとしても展開することで、さらに便利なツールに進化させることも可能です。
ぜひ色々な使い方を試してみてください。

ヘッドウォータース

Discussion