From 太極
Jump to navigation Jump to search

Download videos


See VLC tips.

  1. Play the video in VLC
  2. On VLC, check Tools -> Codec information and find a URL there
  3. Open the URL on a browser. Right click the video and choose to save the video.

The method works for youtube and vimeo videos.

Firefox/Chrome add-on

3 Easy Ways to Download YouTube Videos in Ubuntu and Other Linux Distributions

Video DownloadHelper add-on works fine when I test it on Firefox and Chrome. I need to install an app Video DownloadHelper companion app (the source code is on Github) in order to use the extension. It saves the videos to ~/dwhelper folder.

Online websites

Open source app

  • YouTube Downloader Plus Snap, flathub, AppImage, macOS, Windows,... ytDownloader lets you download Videos and Extract Audios of different formats from hundreds of sites including but not limited to Youtube, Facebook, Tiktok, Twitch, Twitter, Instagram and so on...

Host your own downloader


Tube Converter

Tube Converter: An Open Source Tool to Download YouTube Videos



unzip $
cd youtube-dl-$VERSION
sudo pip install .


mpsyt: mps-youtube (mp3 + stream + youtube)

By default, mps-youtube is basically a YouTube audio player (and downloader), but you can enable external video playback (via mpv or MPlayer) from its options. Check out

  • An article on webupd8.
  • More keyboard controls can be found on the webpage of mps.

Installation on Linux (works on Odroid with low CPU usage for audio stream from youtube but Odroid gives dirty noise when I played the music).

sudo apt-get install python3-pip
sudo pip3 install mps-youtube
sudo pip3 install youtube_dl

# On Ubuntu/Mint. Do not use mplayer. Use mpv instead.
# sudo add-apt-repository ppa:mc3man/mpv-tests
# sudo apt-get update && sudo apt-get install mpv

mpsyt   # launch
set player mpv
pl   # a playlist
h       # help
Space   # pause
p       # play
q       # quit mpsyt

h search
url   # retrieve specific youtube video by url or id

Installation on Windows

Some highlight

  • Search
  • Local playlist
  • support YouTube Playlists
  • Download
  • Music Album Matching

If something is wrong with using 'set' command, just run rm -rf ~/.config/mps-youtube/ and restart everything.

By default, it only streams audio. To watch the video, use set show_video true.

Below is what I got from the set command (as you can see the default player is mpv)

  Key                 Value                                                  
  order             : relevance
  user_order        : 
  max_res           : 2160p
  player            : mpv
  playerargs        : 
  encoder           : 0 [None]
  notifier          : 
  checkupdate       : True
  show_mplayer_keys : True
  fullscreen        : False
  show_status       : True
  columns           : 
  ddir              : /home/odroid/Downloads/mps
  overwrite         : True
  show_video        : False
  search_music      : True
  window_pos        : 
  window_size       : 
  download_command  : 
  audio_format      : auto
  api_key           : AIzaSyCIM4EzNqi1in22f4Z3Ru3iYvLaY8tc3bo

The screenshot shows mpsyt contains basic playing keyboard shortcuts.


[Update 4-7-2017]: to fix an error Signature extraction failed: Traceback (most recent call last):

sudo apt-get remove -y youtube-dl  # Removing youtube-dl (2014.02.17-1) ...
sudo pip3 install -U youtube-dl

$ youtube-dl --version

yewtube: forked from mps-youtube

mp3 download


  • Play youtube audio only
    mpv link_to_youtube_vid --no-video
  • Open YouTube (And More) Videos From Your Web Browser With mpv [Firefox, Chrome]. Using this is especially useful if your web browser doesn't support hardware-accelerated video playback.
    sudo apt install mpv
    mpv --ytdl-format="bestvideo[height<=?1080]+bestaudio/best" <URL_of_Video>
    mpv --start=56:00 Some_YT_URL    # include time
    mpv  # embed time in the URL
  • Record live youtube video. For some reason, mp4 or mkv format does not work.
    mpv --stream-record=video.ts
  • Keyboard shortcuts:
    • Shift+o: toggle show progress
    • volume control: 9/0
    • m: mute
    • Upper/down arrow: seek 60 seconds
    • Left/right arrow: seed 5 seconds
    • [: decrease speed
    • ]: increase speed
    • s: take a screenshot
    • q: quit, save current position

yt-dlp: download youtube video

ytfzf: search & play or download

# Tested on new Ubuntu 22.04 Desktop x64
sudo apt install jq mpv fzf git python3-pip python3-wheel \
     python3-dev python3-xlib libx11-dev libxext-dev \
     libxres-dev make curl
git clone
cd ytfzf
sudo make install

# First test: failed
ytfzf  URL
# Got an error - 
# [ytdl_hook] ERROR: [youtube] 5NJ6V8i1Xd8: Unable to extract uploader id

yt-dlp --version
sudo apt-get remove yt-dlp
sudo apt-get install python3-pip
pip3 install --user yt-dlp
nano ~/.bashrc
# add export PATH=$PATH:/home/brb/.local/bin
source ~/.bashrc
which yt-dlp
yt-dlp --version

# Handling ueberzug
# See
pip install setuptools
git clone && cd ueberzug-latest
sudo pip install -e .

# ytfzf -t cti    
# Works perfect!
sudo apt install jq mpv fzf  # youtube-dl 
sudo apt install build-essential  # neeed 'make'

git clone
cd ytfzf/
sudo make install
sudo make install doc  # optional
which ytfzf
# /usr/local/bin/ytfzf

sudo apt install socat  # to use mpv as the thumbnail viewer
ytfzf -T mpv -t scRNA  # -t means thumbnails,  scRNA is an example of some keywords
             # Note two mpv windows will be opened.
             # resize the 'terminal'-like mpv window so the thumbnail window is 
             #    next to the 'terminal'-like mpv window
ytfzf -d scRNA  # -d means download
ytfzf URL       # same as 'mpv URL'

$ mpv --version
mpv 0.35.1 Copyright 2000-2023 mpv/MPlayer/mplayer2 projects 

$ ytfzf --version
ytfzf: 2.5.5

$ ytfzf --help
Usage: ytfzf [OPTIONS] <search-query>
     -h, --help                           Show this help text
     -v, --version                        -v for ytfzf's version, --version for ytfzf + youtube-dl's version
     -t, --thumbnails                     Show thumbnails (requires ueberzug)
                                          Doesn't work with -H -D
     -D, --ext-menu                       Use external menu(default dmenu) instead of fzf 
     -H, --choose-from-history            Choose from history 
     -x, --clear-history                  Delete history
     -m, --audio-only   <search-query>    Audio only (for music)
     -d, --download     <search-query>    Download to current directory
     -f                 <search-query>    Show available formats before proceeding
     -a, --auto-play    <search-query>    Auto play the first result, no selector
     -r  --random-play  <search-query>    Auto play a random result, no selector
     -n, --video-count= <video-count>     To specify number of videos to select with -a or -r
     -l, --loop         <search-query>    Loop: prompt selector again after video ends
     -s                 <search-query>    After the video ends make another search 
     -L, --link-only    <search-query>    Prints the selected URL only, helpful for scripting

     --previews=       <left/right>      the side of the screen to show thumbnails
     --upload-time=     <time-range>      Time range can be one of, last-hour, today, this-week, this-month, this-year
                   You can also put the filter as it's own option eg: --today
     --upload-sort=     <sort-filter>     The filter to sort the videos can be one of, upload-date, view-count, rating
                   You can also put the filter as it's own option eg: --upload-date
     --filter-id=       <filter>          The id of the filter to use for video reults
                   A filter id can be found by going to youtube searching, filtering how you want
                   Then taking the value of the &sp= part of the url
                   Filters may not work especially when the filter sorts for non-videos
                   In addition this overrides any filter provided through options
                   Example: ytfzf --filter-id=EgJAAQ minecraft
                   This will filter by livestream

     --update                             clones the latest commit and installs it
                   on Arch ytfzf is available in the AUR
  Use - instead of <search-query> for stdin

  Option usage:
     ytfzf -fDH                           to show history using external 
                                          menu and show formats
     ytfzf -fD --choose-from-history      same as above

  Defaults can be modified through ENV variables
     YTFZF_HIST=1                          0 : off history
     YTFZF_LOOP=0                          1 : loop the selection prompt
     YTFZF_PREF=''                         22: 720p,  18: 360p
     YTFZF_CUR=1                           For status bar bodules
     YTFZF_EXTMENU=' dmenu -i -l 30'
  To use rofi
     YTFZF_EXTMENU=' rofi -dmenu -fuzzy -width 1500'

  For more details refer

Convert av1 format to h264 format

This is necessary if we add videos to Plex. Convert a video to MP4 (H.264/AAC) with ffmpeg.

Use Handbrake. Converting Video Files to H.264 MP4 Format Using HandBrake on Linux

$ apt-cache show handbrake-cli
$ sudo apt-get install handbrake-cli
$ HandBrakeCLI --help
$ HandBrakeCLI -e x264 -i input.mp4 -o output.mp4


Download video frame

Right click and right click again. Choose "Copy video frame".


Tips 1: SMTube,

Search and watch Youtube

Tips 2: Pennywise

Open Websites In A Floating, Borderless Window/Picture in picture

Keyboard shortcuts

Shift + / for a complete collection of keyboard shortcuts

Keyboard shortcuts for YouTube

24 of the Most Useful YouTube Keyboard Shortcuts

  • j: backward 10 seconds
  • l: forward 10 seconds
  • >: Speed up the video playback rate.
  • <: Slow down the video playback rate.
  • c: captions
  • m: mute

Search for Words in a YouTube Video

How to Search for Words in a YouTube Video


Bypass any restricted youtube video without an extension


How to Unblock YouTube

Youtube ad block


7 of the Best YouTube Channels for Learning Drums


5 Unique YouTube Cooking Channels Worth Watching

How to find HDR content on YouTube

Add YouTube Player Controls To Your Linux Desktop With browser-mpris2 (Chrome Extension)

Browser extension/add-on


Facebook app

When we play youtube on browsers other than Chrome, the resolution is 720p at most. But when I play youtube videos in Facebook app, it provides up to 1080p resolution and it blocks ads automatically.

Live Stream on youtube


视频实时字幕功能. If we don't see the media control icon, go to chrome://flags and search for "Global media control". Now we need to change it from "default" to "Enabled".

5 Relaxing YouTube Channels to Help You Chill Out

Natural sounds

Suggested videos overlay

How to remove the suggested videos overlay from a paused, embedded YouTube video

How to Watch Flagged YouTube Videos Without Logging In

How to Watch Flagged YouTube Videos Without Logging In

How to Pause Your YouTube Watch History

H How to Pause Your YouTube Watch History. Library -> History -> stacked dots icon -> History Controls -> toggle switch to Pause watch history.

How Much Money Can You Make on YouTube

How Much Money Can You Make on YouTube?

How to Disable YouTube’s Auto-Playing Thumbnails & Video Previews

Profile picture - Settings - General - Playback in feeds - Off.

Stats for nerds

Profile picture - Settings - General - Enable stats for nerds

Youtube bot

How to Stop Annoying YouTube Bots From Spamming Everyone

Picture in picture mode

Youtube Music

Make Any YouTube Link Open in the YouTube Music App


The 10 Best YouTube Channels to Listen to Audiobooks for Free (Legally)

Soundcloud Tracks -> To listen to -> To use commercially.

Epidemic sound


Crop audio

Trim audio file using start and stop times

ffmpeg -i file.mkv -ss 00:00:20 -to 00:00:40 -c copy file-2.mkv


Subscriptions and services & How you pay or Manage membership

Script and Transcript

YouTube Playables - youtube mini games

YouTube Is Now Testing Mini Games (and Here's How to Play Them)