Skip to content

Sources

oauramos edited this page Sep 8, 2026 · 1 revision

Sources

tunetape plays from three places. You paste one link into the single Play prompt and the source is detected from the URL, in this order: Spotify, YouTube playlist, YouTube video, KHInsider. Anything else shows "Unrecognized URL".

YouTube

Requires: mpv and yt-dlp.

Single videos

Any of these shapes work, with or without https://, and on www., m. or music. subdomains:

https://www.youtube.com/watch?v=VIDEO_ID
https://youtu.be/VIDEO_ID
https://www.youtube.com/shorts/VIDEO_ID
https://www.youtube.com/live/VIDEO_ID
https://www.youtube.com/embed/VIDEO_ID
https://music.youtube.com/watch?v=VIDEO_ID

tunetape asks yt-dlp for the best audio-only stream URL and hands that to mpv. Only audio is fetched; there is no video window.

Playlists

A dedicated playlist page, or a watch URL that carries a list= parameter:

https://www.youtube.com/playlist?list=PLAYLIST_ID
https://www.youtube.com/watch?v=VIDEO_ID&list=PLAYLIST_ID

The playlist is read once (titles only, fast) and each track is resolved when it comes up, so a long playlist starts playing right away. Playlists open in playlist mode with next/previous and auto-advance.

Which player client is used

YouTube periodically changes which of its player clients hands out stream URLs that mpv can read. tunetape asks yt-dlp to try web_embedded, then tv_embedded, then android_vr. You can override that list without waiting for a release:

TUNETAPE_YTDLP_CLIENT=tv_embedded tunetape

Any client list yt-dlp accepts for youtube:player_client works; entries are tried in order. See Troubleshooting if playback sits at 0:00.

Spotify

Requires: mpv and yt-dlp.

https://open.spotify.com/track/ID
https://open.spotify.com/playlist/ID
https://open.spotify.com/album/ID
https://open.spotify.com/intl-pt/track/ID      (localized links work too)
spotify:playlist:ID                             (URIs work too)

Spotify audio is DRM-protected, so tunetape never touches it. Instead it reads the public track list (song title and artist) from Spotify's public embed page, with no login and no API key, and then finds each song on YouTube with a yt-dlp search for <artist> <title>. The best match streams exactly like a YouTube track.

What that means in practice:

  • Only public playlists and albums work. Private or collaborative-private playlists have no public page to read.
  • What plays is YouTube's top match, so a live version or a cover can occasionally show up instead of the studio track.
  • A single track opens the normal player; playlists and albums open in playlist mode.

KHInsider

Requires: mpv only.

downloads.khinsider.com hosts video game soundtracks. Paste an album page:

https://downloads.khinsider.com/game-soundtracks/album/ALBUM-NAME

tunetape reads the album's track list and streams each track straight from KHInsider's CDN, so yt-dlp is not needed. Albums open in playlist mode with next/previous and resume support.

What is stored

Nothing from any source is downloaded to disk. tunetape keeps only your listening history (the original link you pasted, the title, play count and playlist position) so Recently played can bring it back. Stream URLs are short-lived and are never saved. See Settings for the location.

Clone this wiki locally