Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am running Ubuntu 10.10; Can anybody please provide instructions on how to download videos from YouTube?

share|improve this question

33 Answers 33

up vote 43 down vote accepted

For Firefox Users:

You can install Video DownloadHelper addon on firefox and download any embedded object including Youtube videos.

enter image description here

enter image description here

share|improve this answer
Very many thanks for your help. That worked well. – cathy Sep 28 '11 at 15:54
why does this screenshot show how to do it in internet exlporer? – Alvar Oct 2 '11 at 9:28
@Alvar : It is mozille firefox – Tachyons Nov 15 '12 at 1:52
Yeah. It's Firefox but with the Windows Classic UI. – Ads20000 May 14 '14 at 9:32


sudo apt-get install youtube-dl

to install command line mode downloader for YouTube.

Then run

youtube-dl YouTube-(or-other-website)-video-link

so it will download the video.

share|improve this answer
If you don't have aptitude, you can use apt-get instead. Please note also that before using sudo aptitude install ... or sudo apt-get install ... commands, you should first run sudo aptitude update or sudo apt-get update. – Eliah Kagan Jun 2 '12 at 16:04
I recommend to run sudo youtube-dl -U right after apt-get. – bohdan_trotsenko Feb 28 '13 at 13:32
@modosansreves Kinda funny that it suggests restarting youtube-dl just before closing itself :p – Thomas Nov 15 '13 at 17:49
keep in mind, that youtube-dl is able to download from many other sites too – PythoNic Sep 16 '14 at 21:04
@ThorSummoner You can use --max-quality or --format options. Example : youtube-dl --max-quality 360p or youtube-dl --format mp4 – Yasser Hussain Mar 19 '15 at 10:53

Why did no one mention Minitube Install minitube?

Minitube is a YouTube desktop application. With it you can watch YouTube videos in a new way: you type a keyword, Minitube gives you an endless video stream. Minitube is not about cloning the original YouTube web interface, it aims to create a new TV-like experience.

It does not require the Flash Player. From this application you can watch and download videos.



share|improve this answer
This is not really what the question was referring to. Can you download youtube videos from here? – justingrif Sep 30 '11 at 16:04
This doesn't work on my Ubuntu 13.04, always crashes after 10 seconds. – iammilind Jun 25 '13 at 7:25
As at May 2014, I checked this out and minitube seems to be a dead project. The newer (PAID) version is is minitube-ubuntu and you cannot get it for free. Apparently many reveiws on software centre show that the old minitube crashes. – itsols May 6 '14 at 9:21

Browser addon:

enter image description here

Other sites that can be used:

and this software is also great: enter image description here

share|improve this answer
Great, 4kdownload is good. May the force be with you!! – jherax Dec 20 '15 at 19:46

I think that the simplest way to download a video from youtube, without installing any plugin or sofware, is with and here is the video demonstrating How to download youtube videos using the ss trick Lets say you want to download the below video

Video to download

On your address bar add ss behind and hit Enter ↵

How to

Now you will be redirected to On your right, click on the video quality you want to download.


share|improve this answer
that site allows downloads under 200 MB only – cipricus Sep 10 '13 at 22:37

First, if you don't have wget,install it:

sudo apt-get install wget

Use this perl script :

#!/usr/bin/perl -T

use strict;
use warnings;

##  ,:,  Download Youtube videos and music using wget
##    Script Name :
##    Version     : 0.38
##    Valid from  : March 2014
##    URL Page    :
##    OS Support  : Linux, Mac OSX, OpenBSD, FreeBSD or any system with perl
#                `:`
## Two arguments
##    $1 Youtube URL from the browser
##    $2 prefix to the file name of the video (optional)

############  options  ##########################################

# Option: what file type do you want to download? The string is used to search
# in the youtube URL so you can choose mp4, webm, avi or flv.  mp4 seems to
# work on the most players like android, ipod, ipad, iphones, vlc and mplayer.
my $fileType = "mp4";

# Option: what visual resolution or quality do you want to download? List
# multiple values just in case the highest quality video is not available, the
# script will look for the next resolution. You can choose "highres" for 4k,
# "hd1080" for 1080p, "hd720" for 720p, "itag=18" which means standard
# definition 640x380 and "itag=17" which is mobile resolution 144p (176x144).
# The script will always prefer to download the highest resolution video format
# from the list if available.
my $resolution = "hd720,itag=18";

# Option: How many times should the script retry the download if wget fails for
# any reason? Do not make this too high as a reoccurring error will just hit
# youtube over and over again.
my $retryTimes = 5;

# Option: do you want the resolution of the video in the file name? zero(0) is
# no and one(1) is yes. This option simply puts "_hd1080.mp4" or similar at the
# end of the file name.
my $resolutionFilename = 0;

# Option: turn on DEBUG mode. Use this to reverse engineering this code if you are
# making changes or you are building your own youtube download script.
my $DEBUG=0;


## initialize retry loop and resolution variables
$ENV{PATH} = "/bin:/usr/bin:/usr/local/bin";
my $prefix = "";
my $retry = 1;
my $retryCounter = 0;
my $resFile = "unknown";
my $user_url = "";
my $user_prefix = "";

## collect the URL from the command line argument
chomp($user_url = $ARGV[0]);
my $url = "$1" if ($user_url =~ m/^([a-zA-Z0-9\_\-\&\?\=\:\.\/]+)$/ or die "\nError: Illegal characters in YouTube URL\n\n" );

## declare the user defined file name prefix if specified
if (defined($ARGV[1])) {
   chomp($user_prefix = $ARGV[1]);
   $prefix = "$1" if ($user_prefix =~ m/^([a-zA-Z0-9\_\-\.\ ]+)$/ or die "\nError: Illegal characters in filename prefix\n\n" );

## retry getting the video if the script fails for any reason
while ( $retry != 0 && $retryCounter < $retryTimes ) {

## download the html code from the youtube page suppling the page title and the
## video url. The page title will be used for the local video file name and the
## url will be sanitized and passed to wget for the download.
my $html = `wget -4Ncq -e convert-links=off --keep-session-cookies --save-cookies /dev/null --no-check-certificate "$url" -O-`  or die  "\nThere was a problem downloading the HTML file.\n\n";

## format the title of the page to use as the file name
my ($title) = $html =~ m/<title>(.+)<\/title>/si;
$title =~ s/[^\w\d]+/_/g or die "\nError: we could not find the title of the HTML page. Check the URL.\n\n";
$title =~ s/_youtube//ig;
$title =~ s/^_//ig;
$title = lc ($title);
$title =~ s/_amp//ig;

## collect the URL of the video from the HTML page
my ($download) = $html =~ /"url_encoded_fmt_stream_map"(.*)/ig;

# Print all of the separated strings in the HTML page
print "\n$download\n\n" if ($DEBUG == 1);

# This is where we look through the HTMl code and select the file type and
# video quality. 
my @urls = split(',', $download);
foreach my $val (@urls) {
#   print "\n$val\n\n";

    if ( $val =~ /$fileType/ ) {
       my @res = split(',', $resolution);
       foreach my $ress (@res) {
         if ( $val =~ /$ress/ ) {
         print "\n\nGOOD\n\n" if ($DEBUG == 1);
         print "$val\n" if ($DEBUG == 1);
         $resFile = $ress;
         $resFile = "sd640" if ( $ress =~ /itag=18/ );
         $resFile = "mobil176" if ( $ress =~ /itag=17/ );
         $download = $val;
         last OUTERLOOP;

## clean up the url by translating unicode and removing unwanted strings
$download =~ s/\:\ \"//;
$download =~ s/%3A/:/g;
$download =~ s/%2F/\//g;
$download =~ s/%3F/\?/g;
$download =~ s/%3D/\=/g;
$download =~ s/%252C/%2C/g;
$download =~ s/%26/\&/g;
$download =~ s/sig=/signature=/g;
$download =~ s/\\u0026/\&/g;
$download =~ s/(type=[^&]+)//g;
$download =~ s/(fallback_host=[^&]+)//g;
$download =~ s/(quality=[^&]+)//g;

## clean up the url 
my ($youtubeurl) = $download =~ /(http?:.+)/;

## url title additon
my ($titleurl) = $html =~ m/<title>(.+)<\/title>/si;
$titleurl =~ s/ - YouTube//ig;
$titleurl =~ s/ /%20/ig;

## combine the youtube url and title string
$download = "$youtubeurl\&title=$titleurl";

## a bit more cleanup as youtube 
$download =~ s/&+/&/g;
$download =~ s/&itag=\d+&signature=/&signature=/g;

## combine file variables into the full file name
my $filename = "unknown";
if ( $resolutionFilename == 1 ) {
   $filename = "$prefix$title\_$resFile.$fileType";
  } else {
   $filename = "$prefix$title.$fileType";

## Process check: Are we currently downloading this exact same video? Two of the
## same wget processes will overwrite themselves and corrupt the video.
my $running = `ps auwww | grep [w]get | grep -c "$filename"`;
print "\nNumber of the same wgets running: $running\n" if ($DEBUG == 1);
if ($running >= 1)
   print "\nAlready $running process, exiting." if ($DEBUG == 1);
   exit 0;

## Print the long, sanitized youtube url for testing and debugging
print "\n$download\n" if ($DEBUG == 1);

## print the file name of the video collected from the web page title for us to see on the cli
print "\n Download: $filename\n\n";

## Background the script. Use "ps" if you need to look for the process
## running or use "ls -al" to look at the file size and date.
fork and exit;

## Download the video 
system("wget", "-4Ncq", "-e", "convert-links=off", "--load-cookies", "/dev/null", "--tries=10", "--timeout=20", "--no-check-certificate", "$download", "-O", "$filename");

## Print the error code of wget
print "     error code: $?\n" if ($DEBUG == 1);

## Exit Status: Check if the file exists and we received the correct error code
## from system call. If the download experienced any problems the script will run again and try
## continue the download till the file is downloaded.

if( $? == 0 && -e "$filename" && ! -z "$filename" )
      print " Finished: $filename\n\n" if ($DEBUG == 1);
      $retry = 0;
     print STDERR "\n FAILED: $filename\n\n" if ($DEBUG == 1);
    $retry = 1;
    sleep $retryCounter;

#### EOF #####

Copy this script to a txt file and rename it

Make it wxecutable, using the following command:

chmod 755

When you want to download in terminal type:


Change the youtube url to your youtube video URL .

Save Location: The video will be saved in your current directory.

Source: Youtube Downloader Wget Perl Script

share|improve this answer
I am sure that the OP has aready installed wget since he asked how to used in a particular way. – Radu Rădeanu Mar 10 '14 at 18:41

For Firefox Users:

As my answer to that question is probably more valid here, I'll present it here for convenience.

You can use flashgot, which is an addon for firefox that I have found extremely useful for downloading videos from Youtube and other sites. (You still require the flash-plugin in your browser, however, for the video to be detected by flashgot.)

  • Install flashgot from the official Mozilla addons site and restart firefox. Make sure that the addon is enabled; check by going to tools > addons > extensions. From the flashgot entry in the extensions tab you can also set a number of preferences.

  • Navigate to your Youtube video and set the quality in the youtube video settings and start the video playing for a few seconds and then pause it.

  • Right click in the Youtube page and select flashgot media; there probably will be more than one video; either simply download them both or choose the larger file size (which will be the higher quality video). You can either use your browser's download manager or another program set via the flashgot options.

enter image description here

share|improve this answer

cclive Install cclive

We are able to download free content from YouTube or other streaming sites with this easy to use command line tool.

cclive is primarily a "video download tool" but it can also be used along side with video player software, like "mplayer", for viewing streamed videos instead of the Adobe flash player.

To download a video from a given location (on You Tube press the "Share" button to get the URL to a video). Copy this link and issue clive from a terminal with e.g. the following command:

cclive -f best

There are plenty of other options to control download behaviour including options to choose the download format that are all nicely documented in the manpage. We can also queue a list of URLs from a file.

share|improve this answer


The bytubed is no longer maintained. So the new solution is going with the famous but commandline youtube-dl. Its regularly maintained and runs fine

1. To update it

youtube-dl -U

2. and to download a video or playlist

youtube-dl -c -t URL_HERE

3. and if there is a file with urls then

youtube-dl -c -t -a urls.txt

Old Answer

I know it is answered, but I'm shocked that none explicitly mentioned Bytubed. Its simple the best to me when it comes to you-tube download. Just do install it and then go to Firefox's tools->Bytubed

Only downside is it works with FF only but to me its not downside since I use FF for all my browsing...

share|improve this answer

No need for plugins, this is simple and a excellent solution:

share|improve this answer

You could also try using Clipgrab it can download videos from youtube via the clipboard, or you can search via the application for videos. The PPA here You can use these commands

sudo add-apt-repository ppa:clipgrab-team/ppa
sudo apt-get update && sudo apt-get install clipgrab
share|improve this answer

4kdownloader! other than downloading videos from url, it can also download entire playlists, and also convert them to mp3 or other formats if required.

I am using it for long time, it's simple and easy to use, and has GUI interface for ubuntu.

enter image description here

share|improve this answer

I want to suggest a method for downloading youtube videos using vlc player in simple four steps:

  1. Open the link of the video as network streaming in vlc player.
  2. Select media info and copy the location
  3. Paste it in your browser's address bar
  4. Save it.

For detail info with screenshots.Go here -

share|improve this answer

You can try ytd-gtk ( Its a graphical frontend for youtube-dl and can download from a variety of video sites.

share|improve this answer

To install youtube-dl:

  • Recommended way (latest version):

    1. Open a terminal with Ctrl+Alt+T or searching Terminal in the dash.
    2. Install youtube-dl with this command (you'll be prompted for your password):

      sudo wget -O /usr/local/bin/youtube-dl && sudo chmod a+x /usr/local/bin/youtube-dl
  • Not recommended way (older version):

    1. Open a terminal with Ctrl+Alt+T or searching Terminal in the dash.
    2. Install youtube-dl with this command (you'll be prompted for your password):

      sudo apt-get install youtube-dl

To use youtube-dl:

  1. To select where to save the video, you can follow these steps:
    • Type cd on the terminal.
    • Press Space
    • Drag the folder from File Manager and drop it on the terminal.
    • If you skip this step, the video will be saved on your home folder.
  2. To download the video you can use one of these procedures:

    2.1. Run youtube-dl video_url where video_url is the URL of the video.

    2.2. If do you want to download many videos, you can follow these steps instead of 2.1:

    • Run the below command:

      xargs youtube-dl
    • Repeat the following procedure for each link:
      • Paste a link.
      • Press Enter
    • Press Ctrl+D

    2.3. If do you have a plain text file with a list of links, you can download them this way:

    • Type cat on the terminal.
    • Press Space
    • Drag the file form the File Manager and drop it on the terminal.
    • Press Space
    • Type | xargs youtube-dl
    • Press Enter
  3. Now the video/s will download to the selected folder.

Some final thoughts:

  • On the method 2.3 the final command should look like this:

    cat '/home/foo/Desktop/myawesomevideos.txt' | xargs youtube-dl
  • You can also use the URL of a channel and youtube-dl will save the entire channel.
  • You can update youtube-dl with sudo youtube-dl -U
  • You can see all the options of youtube-dl with youtube-dl --help

Thanks to user185719 and Michael Grünewald by it's cotributions to this answer.

share|improve this answer

There is this greasemonkey script on But I cannot vouch for it. Nor I can assert the security of such a script.

But it seems to work.

You will need to install greasemonkey

share|improve this answer

Solved with a small shell script :

# grabflash
# Finds any cached Flash videos in the kernel file handles list
# and copies them to the user Videos folder ; this gets around
# the new Flash players habit of opening a cache file in /tmp
# and immediately deleting it.
# Usage : play the video until it's all cached. Run script.
#         video will be copied to ~/Videos folder as FLV

for I in $(pgrep -f
    do ls -l /proc/$I/fd/* | \
    grep '/tmp/Flash' | \
    grep -o "/proc/$I/fd/\\S*" | \
    xargs --no-run-if-empty cp -t ~/Videos/
share|improve this answer

For Firefox Users:

To download YouTube Videos with Firefox, simply visit the following site to download the extension that works with Firefox.:

share|improve this answer

There are so many ways of downloading YouTube videos.


Personally I have used MiniTube as my application of choice for getting videos from YouTube. It's a real simple approach. Find the video by keyword, then download it.

Command Line:

If you feel comfortable with the command line interface (or CLI as it is known) through your terminal application, try the youtube-dl command line approach.


Websites like MediaConvertor or Vixy Freecoder can do this without the need of installing extensions for Firefox or Chrome/Chromium or native applications.

These 2 websites allows you to download in different formats. Both audio and Video formats. You plug in the link to the video on their site and wait for the conversion to complete and then you get the link for the download.

The bonus to the sites is that they are cross-platform much like the extensions approach. But if you want to free your browser from the clutter of extra things, then try the sites or the other suggestions others have mentioned.

share|improve this answer
  1. Copy the URL of the Youtube video that Ur watching
  2. Open a New Tab, Hit
  3. U'll find a Text Box at the top of the page, Paste the URL that you have copied into the box and click on Download
  4. Run the Java Applet when prompted (You have to have Java Installed on the system or else this won't work)
  5. Once done, you'll have various formats and qualities of the video, Right click on the one U find most suited and click Save Link As and save it.
share|improve this answer

Google Chrome does not support YouTube downloading extensions by default.

But fortunately we can install Google Chrome Extensions manually and that is how you are going to install third-party extensions like SaveForm to Chrome and you would be able to download any video on YouTube (and many other sites) by clicking on Download button, just below the video.

This extension works on Opera Next, Firefox and Safari browsers as well. And they all works like charm on latest Ubuntu operating system.

Source: Video TutsDB

share|improve this answer

I just did this for my ubuntu 14.04

you should try clipgrab , other than the fact that you can't download videos with more than 1080p quality is a nice quick gui for youtube download .

this is the 64 version and the 32 version just download and install from ubuntu software center

then you straight up download videos , if you want the other available formats (*.mp3 and more 'someone said it's useful') you are going to need ffmpeg and libavcodec-extra-53

so run

$ sudo apt-get install libavcodec-extra-53

$ sudo apt-get install ffmpeg

It really comes in-handy , but the next question only comes natural . Which is the recommended software for downloading full youtube playlists . ? .

share|improve this answer

Those answers are too complex, so I'm going to help you without installing anything.

First go to your browser and enter this in the URL tab.

Next, enter the YouTube URL in the first box. For example, I'm going to use a Ubuntu YouTube link. The YouTube link image

Then press Continue.

Now, once you pressed Continue, this will pop up. The YouTube image

At the Detected Media tab, you can choose the quality of your video.

720p is HD. 480p is HQ. 360p is SQ. 3GP is MV.

Each type of quality takes up memory and downloading time depending on your internet. Just mess around and see what you like.

Now, at the File Name tab, you can change the name of the video when you download it. This is completely optional as you can change the name of it using the rename tab when you right click on it.

Next, you can change the type of video you want. For example, you want it to go on your iPod, you can easily change it to MP3.

I would highly recommend using MP4 as its most commonly used.

The file extender

Finally, you can now press the Start! button to start the download! Start button

Enjoy! =)

share|improve this answer

download youtube-dl

chmod a+x youtube-dl

download videos:


download specific formats
see the formats

./youtube-dl -F

download it -f <val>:

./youtube-dl -f 38
share|improve this answer

As of now there is the GUI for a popular Youtube-dl available. Where you can manually configure all the settings and just paste & download from link. To install it:

sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dlg

enter image description here

share|improve this answer

You can also use RealPlayer. I didn't see it mentioned yet. You're able to download in both mp4 or flv format. It's a free download and a one click install.

share|improve this answer
Please don't recommend closed-source software like this. Especially when there are so much answers and so much, better, free software is out there... – PythoNic Sep 16 '14 at 21:12

The one I use is All Video Downloader from here.

And is the best I know for linux. Just copy the address of the video and open the All Video Downloader and you will see the URL is already in. After you fix the output format and destination, you just press the Download and ready ;)

share|improve this answer

Another Tip you can download YouTube videos without installing any package or program :

Open this site : Site

Add youtube URl:

enter image description here

Press Download :

enter image description here

Choose what type do you want , you can also download it only video with no sound , or just sound.

Once you press Download Type , it will start downloading .

share|improve this answer

A few more options:

MediaHuman software

YouTube Center

YouTube Center is an open-source extension for Chrome, Firefox, Opera and other browsers that enhances YouTube with a lot of added features. Among those features is the ability to directly download YouTube videos in a variety of different formats:

enter image description here

I always recommend installing the developer version of the extension as it comes with the latest bug fixes and new features.

share|improve this answer

There is an wounder-full app from SM Team Called SmTube

you can install smtube by :-

sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get update

sudo apt-get install smtube

Or download from Here!!

enter image description here

Search video (the video you want to download) and then right click on video and click on 'Record Video'

enter image description here

From setting you can adjust to quality of video & destination of video to save

enter image description here

enter image description here

share|improve this answer

protected by Braiam Feb 4 '14 at 2:07

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.