made it so i just click file and paste YouTube url

Linux is amazing

#! /usr/bin/bash
echo "Enter a url"
read a

yt-dlp -x $a
you are viewing a single comment's thread
view the rest of the comments
[–] 3 points 8 months ago

I have a similar scriptlet that I use to open YouTube URLs in mpv, using just and wl-clipboard... I just copy the URL and press my G1 key (it has a keybind of just yt-paste attached) which launches the yt-paste snippet below, reads the url from the clipboard, parses it and passes it to mpv.

# Parse the clipboard for YouTube URLs and open them in mpv
yt-paste:
  #!/usr/bin/env bash
  YOUTUBE_URL_REGEX="^https:\/\/(www\.youtube\.com\/watch\?v=|youtu\.be\/)[a-zA-Z0-9_-]{11}"
  YOUTUBE_PLAYLIST_URL_REGEX="^https:\/\/(www\.youtube\.com\/playlist\?list=)[a-zA-Z0-9_-]+"
  YOUTUBE_SHORTS_URL_REGEX="^https:\/\/(www\.youtube\.com\/shorts\/)[a-zA-Z0-9_-]{11}"
  # Youtube URL
  if [[ "$(wl-paste)" =~ $YOUTUBE_URL_REGEX ]]; then
    echo "Opening valid YouTube URL" >&2
    notify-send --app-name="YT-Paste" --icon=mpv --transient "Opening YouTube URL"
    mpv "$(wl-paste)"
  # Youtube Playlist URL
  elif [[ "$(wl-paste)" =~ $YOUTUBE_PLAYLIST_URL_REGEX ]]; then
    echo "Opening valid YouTube Playlist URL" >&2
    notify-send --app-name="YT-Paste" --icon=mpv --transient "Opening YouTube Playlist URL"
    mpv "$(wl-paste)"
  # Youtube Short URL
  elif [[ "$(wl-paste)" =~ $YOUTUBE_SHORTS_URL_REGEX ]]; then
    echo "Opening valid YouTube Shorts URL" >&2
    notify-send --app-name="YT-Paste" --icon=mpv --transient "Opening YouTube Shorts URL"
    mpv "$(wl-paste)"
  # No Match
  else
    echo "Clipboard does not contain a valid YouTube URL" >&2
    notify-send --app-name="YT-Paste" --icon=mpv --transient "Whoops!" "Clipboard does not contain a valid YouTube URL"
    exit 1
  fi
  • source