Skip to content

Module: YouTube

Ant edited this page Jul 4, 2026 · 15 revisions

Allows you to browse and watch the latest videos from a curated list of YouTube channels.

Contributors: anthonycaccese

Current Features

Browse

  • Lists videos via YouTube RSS feeds from your curated list of channels
  • Subscriptions View: Browse the latest videos from all of your curated channels in a reverse chronological list
  • Channels View: Select a channel to view its latest videos
  • Save to Watch Later: Save videos to watch later. This is local to 240-MP (on device only), not associated to any account and the list can be cleared in settings at any time.
  • View Watch History: Displays a list of recently watch videos via the module. This is local to 240-MP (on device only), not associated to any account and the list can be cleared in settings at any time.
  • Choose if Shorts are displayed while browsing (default is On / can be toggled in Settings > YouTube)

Playback

  • Playback is handled via mpv + yt-dl (please keep yt-dl to reduce the chance of errors)
  • Resume Playback: Resume from your last playback position or restart from the beginning
  • Set Playback Resolution: 480p (default and good for the RaspberryPi), 720p and 1080p

Settings

Option Values Info
Enabled On/Off Sets if the module should display in the main module list when you start 240-MP.
Playback Resolution 480p (Default), 720p, 1080p Set the resolution of the video to request for playback. I recommend to keep this on 480p for the Raspberry Pi on a CRT for best performance
Resume Playback Ask/Always 'Ask' will present you with an option to restart playback or resume and 'Always' will resume without asking
Display Shorts On/Off Choose if YouTube shorts should display while browsing Subscriptions and Channels
Delete Watch Later -- Removes your Watch Later list from youtube_watch_later.json
Delete History -- Removes your Watch History from youtube_history.json

Set up

Two things are required to use it:

  1. Install yt-dlp (mpv uses it to resolve YouTube URLs at playback time):

    • Raspberry Pi: sudo apt install yt-dlp
    • macOS: brew install yt-dlp
  2. Create youtube_subscriptions.txt in the 240-MP data directory:

    • Raspberry Pi: ~/.local/share/240-MP/youtube_subscriptions.txt
    • macOS: ~/Library/Application Support/240-MP/youtube_subscriptions.txt

    Add one channel ID per line. Blank lines and lines starting with # are ignored:

    # my channels
    UC-2YHgc363EdcusLIBbgxzg
    UCgRaK4A7yi4ZELCLUjdP_pg
    UC3IYhdamzjvEJ9CwkQa4RAw
    

    A channel's ID is in the URL of its channel page (youtube.com/channel/<ID>). If the page shows a @handle URL instead, view page source and search for "channelId", or use any handle-to-ID lookup tool.

Clone this wiki locally