212 votes

Comment télécharger une vidéo YouTube ?

Quelles sont les instructions pour télécharger des vidéos de YouTube ?


Avis : Violation des conditions de service

Veuillez noter qu'en suivant l'une des réponses ci-dessous, vous violerez les règles de YouTube. Conditions de service (TOS) . En particulier, à partir de la section 5.B. :

Le contenu vous est fourni TEL QUEL. Vous pouvez accéder au contenu pour votre information et votre usage personnel uniquement dans le cadre des fonctionnalités du service et conformément aux présentes conditions d'utilisation. Vous ne devez pas télécharger de contenu, sauf si vous voyez un lien de "téléchargement" ou un lien similaire affiché par YouTube sur le Service pour ce contenu. Vous n'êtes pas autorisé à copier, reproduire, distribuer, transmettre, diffuser, afficher, vendre, concéder sous licence ou exploiter de quelque manière que ce soit tout contenu à d'autres fins sans le consentement écrit préalable de YouTube ou des concédants de licence respectifs du contenu. YouTube et ses concédants de licence se réservent tous les droits non expressément accordés sur le Service et le Contenu.


16voto

Takkat Points 135194

cclive

Installer cclive

Nous sommes en mesure de télécharger du contenu gratuit depuis YouTube ou d'autres sites de streaming grâce à cet outil de ligne de commande facile à utiliser.

cclive est avant tout un "outil de téléchargement de vidéos", mais il peut également être utilisé avec un logiciel de lecture de vidéos, comme "mplayer", pour visionner des vidéos en continu à la place du lecteur Adobe Flash.

Pour télécharger une vidéo à partir d'un emplacement donné (sur YouTube, appuyez sur le bouton "Partager" pour obtenir l'URL d'une vidéo). Copiez ce lien et lancez clive depuis un terminal avec, par exemple, la commande suivante :

cclive -s best http://youtu.be/D6z6hn6wZlg

Il y a beaucoup d'autres options pour contrôler le comportement du téléchargement, y compris des options pour choisir le format de téléchargement, qui sont toutes bien documentées dans la page de manuel. Nous pouvons également mettre en file d'attente une liste d'URLs à partir d'un fichier.

(Changé -f en -s ; -f est déprécié).

Disponible uniquement pour Ubuntu 18.10 et plus.

16voto

nux Points 34943

D'abord, si vous n'avez pas wget et l'installer :

sudo apt-get install wget

Utilisez ce script Perl :

#!/usr/bin/perl -T

use strict;
use warnings;

#
##  Calomel.org  ,:,  Download YouTube videos and music using wget
##    Script Name : youtube_wget_video.pl
##    Version     : 0.38
##    Valid from  : March 2014
##    URL Page    : https://calomel.org/youtube_wget.html
##    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 media player
# 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);
    OUTERLOOP:
    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;
    }
    else
    {
        print STDERR "\n FAILED: $filename\n\n" if ($DEBUG == 1);
        $retry = 1;
        $retryCounter++;
        sleep $retryCounter;
    }

} # while

#### EOF #####

Copiez ce script dans un fichier .txt et renommez-le youtube_wget.pl .

Rendez-le exécutable, en utilisant la commande suivante :

chmod 755 youtube_wget.pl

Lorsque vous voulez télécharger dans le terminal, tapez :

./youtube_wget.pl http://www.youtube.com/watch?v=ejkm5uGoxs4

Remplacez l'URL YouTube par l'URL de votre vidéo YouTube.

Sauvegarder l'emplacement : La vidéo sera enregistrée dans votre répertoire actuel.

Source : YouTube Downloader Wget Perl script

15voto

Pour les utilisateurs de Firefox :

Comme ma réponse à cette question est probablement plus valable ici, je la présenterai ici par commodité.

Vous pouvez utiliser flashgot Il s'agit d'un module complémentaire pour Firefox que j'ai trouvé extrêmement utile pour télécharger des vidéos de YouTube et d'autres sites. autre sites. (Vous devez cependant installer le plugin Flash dans votre navigateur pour que la vidéo soit détectée par le système d'exploitation de l'entreprise). flashgot .)

  • Installer flashgot de la Site officiel des modules complémentaires de Mozilla et redémarrez Firefox. Assurez-vous que l'addon est activé ; vérifiez-le en allant dans le menu Outils Addons Extensions . De la flashgot dans l'onglet "Extensions", vous pouvez également définir un certain nombre de préférences.

  • Naviguez vers votre vidéo YouTube et définissez le qualité dans les paramètres de la vidéo YouTube et lancez la lecture de la vidéo pendant quelques secondes, puis mettez-la en pause.

  • Faites un clic droit dans la page YouTube et sélectionnez flashgot media Il y aura probablement plus d'une vidéo ; vous pouvez soit télécharger les deux, soit choisir le fichier le plus volumineux (qui sera la vidéo de meilleure qualité). Vous pouvez soit utiliser le gestionnaire de téléchargement de votre navigateur, soit un autre programme paramétré via l'option flashgot options .

Enter image description here

10voto

Amar Points 1

Je souhaite vous proposer une méthode pour télécharger des vidéos YouTube à l'aide du lecteur multimédia VLC en quatre étapes simples :

  1. Ouvrez le lien de la vidéo en tant que flux réseau dans le lecteur multimédia VLC. ( Ctrl + N ou Média > Ouvrir un flux réseau...)
  2. Sélectionnez l'info média et copiez l'emplacement ( Ctrl + I ou clic droit sur la zone vidéo > Outils > Informations sur les médias )
  3. Collez-la dans la barre d'adresse de votre navigateur.
  4. Sauvegardez-le.

9voto

codefreak Points 266

4kdownloader ! Outre le téléchargement de vidéos à partir d'URL, il peut également télécharger des listes de lecture entières, et les convertir en MP3 ou dans d'autres formats si nécessaire.

http://www.4kdownload.com/

Je l'utilise depuis longtemps, il est simple et facile à utiliser, et il a une interface graphique pour Ubuntu.

Enter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X