Afficher/masquer le menu
Liens Ecyseo
  • Tags cloud
  • Daily
  • Pictures wall
  • Search
  • Display options
    • Links per page :
    • 20 links
    • 50 links
    • 100 links
  • RSS Feed
  • Login

J'ai besoin d'intimité. Non pas parce que mes actions sont douteuses, mais parce que votre jugement et vos intentions le sont.

5165 links 

page 1 / 1

Liste des liens

14 results tagged youtube-dl x
GitHub - yt-dlp/yt-dlp: A youtube-dl fork with additional features and fixes - Shaarli ¦ Orangina Rouge
2021-12-1 15:41 - permalink -

Youtube-dl n'est plus maintenu. Vive yt-dlp

youtube-dl
- http://orangina-rouge.org/shaarli/shaare/VcUnhg
dvd | F-Droid - Free and Open Source Android App Repository - Liens en vrac de sebsauvage
2021-06-16 22:43 - permalink -

Cool ! Merci Seb !

android youtube-dl
- https://sebsauvage.net/links/?9-ppPQ
░ 𝕔𝕒𝕥 /𝕕𝕖𝕧/𝕤𝕡𝕠𝕠𝕜𝕪 ░ (@GalacticFurball): "convert -depth 8 yt_dl1.png rgb:yt_dl1.part convert -depth 8 yt_dl2.png rgb:yt_dl2.part cat yt_dl1.part yt_dl2.part > yt_dl-2020.9.20.tar.gz" | nitter
2020-10-28 9:5 - permalink -

Le code source de youtube-dl compresse dans 2 images... Dangereux mais malin.

code-source imagemagick youtube-dl
- https://nitter.net/GalacticFurball/status/1319765986791157761
L'extension du jour : Open With pour Firefox - Libre et ouvert
2020-10-10 15:56 - permalink -

Intéressant !

extensions Firefox Linux youtube-dl
- https://libre-ouvert.toile-libre.org/index.php?article232/lextension-jour-open-with-pour-firefox
Installer youtube-dl sous LinuxMint 20 Ulyana
2020-07-15 0:38 - permalink -

Python 2 n'étant plus maintenu, il faut utiliser python3 et les outils qui vont avec, notamment pip3.

sudo apt install python3-pip
sudo pip3 install --upgrade youtube_dl
installation LinuxMint python youtube-dl
- https://bookmarks.ecyseo.net/?_AwzMA
Youtube-dl : mes scripts perso
2020-04-2 16:8 - permalink -

!!! ATTENTION !!! une erreur dans mon affichage fait que je suis obligé de mettre une espace :

  • après les https,
  • entre address et } dans l'url youtube de la fonction ydlmp3
  • et entre { et 1:- et 2:- dans les attributions de variables.

Pensez à les supprimer pour que ça fonctionne.

Edit : python2 n'étant plus maintenu, il faut utiliser python3 et ses outils dérivés (pip3 notamment)

#!/bin/bash
set -e -u -o pipefail
IFS=$'\n\t'
on_error() { echo "Error on or near line $1; exiting with status $2"; exit "$2"; }
trap 'on_error ${LINENO} $?' ERR

confirm()
{
    read -r -p "${ 1 } [y/N] " response

    case "$response" in
        [yY][eE][sS]|[yY])
            true
            ;;
        *)
            false
            ;;
    esac
}

updateYoutubedl() {
    #sudo curl -L https ://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
    #sudo chmod a+rx /usr/local/bin/youtube-dl
    sudo -H pip3 install --upgrade youtube_dl
}

# Usage `ydlmp3 8WZEPtN8_f0 "Kina Grannis/New"` for record in "Musique/Kina Grannis/New" or
# `ydlmp3 8WZEPtN8_f0` for record in "Musique"
ydlmp3() {
    readonly origin=$(pwd)
    #default value is an empty string (because of ":-" notation)
    local address=${ 1:-} 
    local dirname=${ 2:-}
    cd ~/Musique/
    if [ ! -z "${dirname}" ];
        then
            if [ ! -d "${dirname}" ];
                then mkdir "${dirname}/"
            fi
        cd "${dirname}/"
    fi
    if confirm "Do you want to update ?"; then
        updateYoutubedl
    fi
    echo "File will be recorded in \"$(pwd)\" folder"
    youtube-dl --extract-audio --audio-format mp3 https ://www.youtube.com/watch?v="${address }"
    cd "${origin}"
}

# Usage `ydlmovies 8WZEPtN8_f0 "dir"` for record in "~/Téléchargements/dir" or
# `ydlmovies 8WZEPtN8_f0` for record in "~/Téléchargements/"
ydlmovies() {
    readonly origin=$(pwd)
    local dirname=${ 1:-}
    if [ ! -z "${dirname}" ];
        then
            cd ~/Téléchargements/
            if [ ! -d "${dirname}" ];
                then mkdir "${dirname}/"
            fi
            cd "${dirname}/"
        else
            cd ~/Téléchargements/
    fi
    if confirm "Do you want to update ?"; then
        updateYoutubedl
    fi
    youtube-dl --batch-file "~/urls"
    cd "${origin}"
    if [ -f ~/urls ]; then
        if confirm "Do you want to delete urls ?"; then
            cat /dev/null > ~/urls
       fi
    fi
}
# Usage `ydlmp3list` 
ydlmp3list() {
    readonly origin=$(pwd)
    local dirname=${ 1:-}
    cd ~/Musique/
    if [ ! -z "${dirname}" ];
        then
            if [ ! -d "${dirname}" ];
                then mkdir "${dirname}/"
            fi
        cd "${dirname}/"
    fi
    if confirm "Do you want to update ?"; then
        updateYoutubedl
    fi
    echo "File will be recorded in \"$(pwd)\" folder"
    youtube-dl --extract-audio --audio-format mp3 --batch-file "~/urls"
    cd "${origin}"
    if [ -f ~/urls ]; then
        if confirm "Do you want to delete urls ?"; then
            cat /dev/null > ~/urls
       fi
    fi
}

Je place cela dans le fichier .bashrc (ou .bash_ytdl si dans le fichier .bashrc j'ai mis le code suivant :


# Youtube-dl functions.
# You may want to put all your additions into a separate file like
# ~/.bash_ytdl, instead of adding them here directly.

if [ -f ~/.bash_ytdl ]; then
    . ~/.bash_ytdl
fi

)

Pour les scripts ydlmovies  et ydlmp3list, il faut avoir enregistré les urls des fichiers que l'on souhaite télécharger, dans un fichier urls dans le dossier Home (une ligne par url).

bash youtube-dl
- https://bookmarks.ecyseo.net/?AicC5A
Note: Astuce youtube-dl pour Nautilus/Caja - Plop Links
2019-04-19 14:36 - permalink -

Merci. Je ne connaissais pas cette possibilité.

Une des choses que j'utilise le plus dans le gestionnaire de fichier de gnome/mate, c'est à dire respectivement Nautilus et Caja, ce sont les scripts.
Par ailleurs, pour télécharger une vidéo, sur youtube, twitter, pluzz, rutube, et plein d'autres sites, l'idéal c'est youtube-dl.
https://ytdl-org.github.io/youtube-dl/index.html

Alors à force de tout passer dans la console, j'ai un .bash_history un peu chargé. Pourquoi ne pas utiliser les scripts. Voilà comment faire.
Pour nautilus ça se passe là :~/.local/share/nautilus/scripts
Pour caja, ici : ~/.local/share/caja/scripts
Et pour nemo, c'est là : ~/.local/share/nemo/scripts

les dépendances : youtube-dl, xclip et notify-send (optionnel)
Premier script : yt-clipboard

#!/bin/sh
sel=$(xclip -d ":0" -o -selection clipboard)
notify-send "youtube-dl $sel"
youtube-dl "$sel"
notify-send "Récuperation de la vidéo terminée"

Deuxième script : yt-selection

#!/bin/sh
sel=$(xclip -d ":0" -o -selection primary)
notify-send "youtube-dl $sel"
youtube-dl "$sel"
notify-send "Récuperation de la vidéo terminée"

Troisième script : yt-clipboard-mp3

#!/bin/sh
sel=$(xclip -d ":0" -o -selection clipboard)
notify-send "youtube-dl $sel"
youtube-dl --extract-audio --audio-format mp3 -l "$sel"
notify-send "Récuperation du mp3 terminée"

Les scripts sont à passer en exécutable.
Ensuite, il suffit de choisir le répertoire cible, copier l'url de la page où se trouve la vidéo, cliquer avec le bouton droit n'importe où dedans et dans le menu script, choisir le premier script.
Le 2e script utilise ce qui est en sélection (une adresse sélectionnée à la souris)
Le 3e script permet de transformer la vidéo en mp3

Edit : pour installer notify-send, il faut lancer la commande suivante :

sudo apt install libnotify-bin
Linux nautilus script youtube-dl
- http://shaarli.plop.me/?i9VooA
youtube-dl wrapper GUI
2018-07-12 0:27 - permalink -

Depends: youtube-dl, yad (0.28 or newer), jq, ffmpeg, wget (optional)

Placer tous les scripts (youtube-dl y compris) dans /usr/bin
Créer un fichier yad-ydl (ou le nom que vous voulez) dans ce même dossier.
Copier le code suivant (attention, à cause d'une erreur de parsage de mon shaarli, il faut supprimer l'espace après le https de la ligne 387)

#!/bin/bash

# NAME:         YAD Youtube Downloader
#
# DESCRIPTION:  youtube-dl frontend for YT videos
#
# This script is a fork of the script by "damo" from BunsenLabs
# MAINTAINER: Misko_2083 <Miloš Pavlović> June 2016
#
# June 2016 
# New: Format selection dialog
#      Multiprogress bars
#      *  Progress bar method is improved version of Glutanimate's yad_wget script
#      *  yad-wget <a href="https://github.com/Glutanimate/misc-scripts/blob/master/Internet/yad_wget">https://github.com/Glutanimate/misc-scripts/blob/master/Internet/yad_wget</a>
#      New GUI with multi-download options
#      Simultaneous downloads of videos
#      Option to chose the number of simultaneous downloads
#
# August 2016
# New: Support for lists
#      Auto-detection if a URL is a list or a video
#      Option to download videos from a list
#      An option to select all/none
# Improved: Format selection dialog data
#
# March 2017
# New:  Progress bar while loading the format info
#       Window icon is stored in the script
#   Check for youtube-dl version
# Improved: Dialog Wording and appearance

# ***********************
# INITIALIZATION
# ***********************

declare -i SIMULTANEOUS
declare -i FIELDS
SVG='<''svg width="48" height="48" viewBox="0 0 245 245">
    <radialGradient fx="5%" fy="5%" id="rg" r="65%">
      <stop offset="0%" stop-color="white"/>
      <stop offset="100%" stop-color="lightgray"/>
    </radialGradient>
    <radialGradient fx="5%" fy="5%" id="gr" r="65%">
      <stop offset="0%" stop-color="#932420"/>
      <stop offset="100%" stop-color="#CB322C"/>
    </radialGradient>
    <linearGradient id="lg" gradientUnits="userSpaceOnUse">
      <stop offset="0" stop-color="#932420"/>
      <stop offset="1" stop-color="#CB322C"/>
    </linearGradient>
  <rect width="235" x="5" y="5" fill="url(#rg)" rx="30" 
  height="235" ry="30" stroke="white" stroke-width="4" 
  stroke-opacity="0.4"/>
  <rect width="215" x="16" y="115" fill="url(#gr)" rx="50" 
  height="115" ry="50" stroke="white" stroke-width="2" 
  stroke-opacity="0.4"/>
  <g>
   <text x="50%" y="42%" text-anchor="middle" stroke="none" fill="black"
    font-family="Sans" font-size="90" font-weight="800">You</text>
   <text x="50%" y="82%" text-anchor="middle" stroke="none" fill="white"
    font-family="Sans" font-size="70" font-weight="800">Tube</text>
   </g>
</svg>'

# Set GUI variables up
TITLE="YAD YouTube Downloader"    # dialog title
# Progress dialog text
TEXT="<b>Downloads</b> in progress...
Cancel and Clean- removes *.part files
Cancel - Cancels the download"
ICON="/tmp/yt.svg"
if [ ! -f "$ICON" ]; then
    echo "SVG file not found. Creating it."
    echo "$SVG" > "$ICON"
fi

IMAGE="$ICON"
declare -i MODE
MODE=1     # Defaiult dialog mode: 0 - Multi, 1 - Manual
#Multy download dialog options
SIMULTANEOUS=2    # set default number of simultaneous downloads (1-5)
FIELDS=8          #  number of URL fields 
# List checkboxes (default mode) TRUE/FALSE
SELECT_ALL="TRUE"
# Set global variables (Do not change)
FORMAT=""  # Set global variable for the format selection
ENTRY=""   # Set global variable for the entry
# Check if yad is installed
if ! hash yad &>/dev/null;then
    echo "yad has not been found"
    echo "Install it first and run the script again"
    exit
fi
# Check if youtube-dl is installed
if ! hash youtube-dl &>/dev/null;then
    DLG=$(yad --form \
        --borders=10 --image-on-top \
        --text="   youtube-dl not found\n\n  Install it first and run the script again" --button="gtk-ok:0" \
        --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" \
    )
    exit
fi
# Check if ffmpeg is installed
if ! hash ffmpeg &>/dev/null;then
    DLG=$(yad --form \
        --borders=10 --image-on-top \
        --text="   ffmpeg not found\n\n  Install it first and run the script again" --button="gtk-ok:0" \
        --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" \
    )
    exit
fi
# Check if jq is installed
if ! hash jq &>/dev/null;then
    DLG=$(yad --form \
        --borders=10 --image-on-top \
        --text="   jq not found\n\n  Install it first and run the script again" --button="gtk-ok:0" \
        --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" \
    )
    exit
fi

# ***********************
# END INITIALIZATION
# ***********************

# ***********************
# FUNCTIONS
# ***********************

# ------------------
function download()
# ------------------
{
    # Download function
    # Passed: $1 - TYPE
    #         $2 - URL
    #         $3 - COUNTER (to identify the bar)

    # Checks if the TYPE is a playlist
    #  and adds apropriate option to UTYPE variable
    if [[ "$1" == "playlist?list" ]]; then
    UTYPE="--yes-playlist"                # if a playlist
    else
    UTYPE=""                              # if a video
    fi
    cd "$SAVEDIR"   # Changes current path
    # Starts the download and pipes the output to a loop
    # Loop is used to display the text in multi-progressbar
    youtube-dl ${UTUBE} ${UTYPE} --newline -i -o "%(title)s-%(id)s.%(ext)s" "<a href="https://www.youtube.com/$1=$2&quot">https://www.youtube.com/$1=$2&quot</a>; 2>&1 \
    | while read -r line; do
        if [[ "$(echo $line | grep '[0-9]*%')" ]];then
            percent=$(echo $line | awk '{print $2}')
            if [[ ! "$(echo "${percent}" | grep "100")" ]]; then  # do not print 100% yet in case of conversion (mp3) or playlist
                echo "$3:${percent%.*}"                            # sends percentage to the progress bar
            fi
        fi
        if [[ "$(echo $line | grep -E '\[download\]|\[ffmpeg\]')" ]];then
            progress=$(echo $line | awk '{$1=""; print substr ($0, 0, 75)}')
            echo "$3:#$progress"       # sends text to the progressbar
        fi
    done
    RET_YT="${PIPESTATUS[0]}"
    if [[ "$RET_YT" = 0 ]]
      then
          echo "$3:100%"
          echo "$3:#Download completed."

      else
          echo "$3:#Download error."
    fi
}

# ------------------
function format_selection()
# ------------------
{
    # Format selection

    # Temp file to store the items for the list
    res=$(mktemp --tmpdir ytlist.XXXXXXXX)
   CNT=0
   while [  $CNT -lt 1 ]; do
        echo "5"
    # Fetching available format data and redirecting to res temp file
    youtube-dl -j --skip-download --all-formats "$YTEMP" --newline \
    | jq -r '.format_id, .format, .ext, 
    if .vcodec == "none" then "audio only" else .vcodec end,
    if .acodec == "none" then "video only" else .acodec end,
    if .filesize == null then "" else .filesize/1024/1024 end' > $res
    # Checks youtube-dl return status
    if [[ ${PIPESTATUS[0]} -ne 0 ]]; then
        yad --form \
        --borders=10 --image-on-top \
        --text="Available formats could not be retreived\nCheck your connection or update youtube-dl" --button="gtk-ok:0" \
        --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE"
        rm -f $res  # rm temp file
        main        # go back
    fi
    # temp file for awk to write to
    res2=$(mktemp --tmpdir ytlist.XXXXXXXX)
    # awk converts  every sixth line (if not empty) to two decimal places and adds MiB
    awk '{if (NR % 6 == 0 && $1 !=""){printf("%.2f MiB\n", $1)} else {print $0}}' $res > $res2
    cp -f $res2 $res
    rm -f $res2
        CNT=$(($CNT+1))
    done | yad --progress --pulsate --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" --auto-close \
                        --borders=10 --button="Cancel!gtk-no:1" --text="Downloading format info..."
    RET=$?
    case "$RET" in
        0) # Continue
        ;;
        1) # Canceled
            rm -f $res2  # rm temp file
            rm -f $res  # rm temp file
            main
        ;;
        *)
            rm -f $res2  # rm temp file
            rm -f $res  # rm temp file
            main
        ;;
    esac
    # Calls format (list) selection dialog
    FORMAT="$(yad --list --width=600 --height=500 --hide-column=1 --column="format"  \
       --column="format" --column="extension" --column=video --column="audio" --column="filesize" \
       --button="back!back:2" --button="Refresh!reload:3" --button="Exit!gtk-cancel:1" --button="Download!gtk-ok:0" \
       --window-icon="$ICON" --image="$IMAGE" --image-on-top \
       --text "$FILENAME\nSelect a format to download" --borders=10 \
       --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" \
       < "$res" )"
    RET=$?
    case "$RET" in
        0) # Continue
        ;;
        1) # Canceled
            rm -f $res  # rm temp file
            exit
        ;;
        2) # Back
            rm -f $res  # rm temp file
            main
        ;;
        3) # Refresh
            rm -f $res  # rm temp file
            format_selection
        ;;
        *) # Default
            rm -f $res  # rm temp file
            exit
        ;;
    esac
    rm -f $res  # rm temp file
    FORMAT=$(echo "$FORMAT" | cut -d '|' -f 1)
    if [[ -z $FORMAT ]];then
        yad --text="You haven't selected a download format\nDo you want to return to the main window?" \
        --borders=10 --form --button="No!gtk-cancel:1" --button="Yes!gtk-ok:0" \
        --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE"
        RET=$?
        case "$RET" in
        0)          # Back
            main
        ;;
        *)          # Cancelled
            exit
        ;;
        esac
    fi
}

# ------------------
function list_selection()
# ------------------
{
    # Temp file to store the items from a list
    res=$(mktemp --tmpdir ytlist.XXXXXXXX)
    youtube-dl -j --flat-playlist "<a href="https://www.youtube.com/playlist?list=${YTEMP}&quot">https://www.youtube.com/playlist?list=${YTEMP}&quot</a>; \
    | jq -r '.title, .id' | sed '1~2s/^/'"$SELECT_ALL"'\n/' \
    | yad --text='Select items to download' --list --checklist --column "Select" --column "Title" --column "Url" --no-markup \
       --button="$(if [[ "$SELECT_ALL" = "TRUE" ]]; then echo Select None; else echo Select All; fi)!gtk-yes:4" \
       --button="back!back:2" --button="Refresh!reload:3" --button="Exit!gtk-cancel:1" --button="Download!gtk-ok:0" \
       --window-icon="$ICON" --image="$IMAGE" --image-on-top \
       --borders=10 --width=600 --height=500 --print-column=3 --separator=" " \
       --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" > $res
    RET=$?
    case "$RET" in
       0)          # Continue
       ;;
       1)          # Canceled
       rm -f $res  # rm temp file
       exit
       ;;
       2)          # Back
       rm -f $res  # rm temp file
       main
       ;;
       3)          # Refresh
       list_selection
       ;;
       4)          # Select All/None
       if [[ "$SELECT_ALL" = "TRUE" ]]; then
          SELECT_ALL="FALSE"
       else
          SELECT_ALL="TRUE"
       fi
       list_selection
       ;;
       *)
       rm -f $res  # rm temp file
       exit
       ;;
   esac
    # Checks if temp file is empty
    if [[ ! -s "$res" ]];then
        yad --text="At least one item needs to be selected\nDo you want to return to the main window?" \
        --borders=10 --form --button="No!gtk-cancel:1" --button="Yes!gtk-ok:0" \
        --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE"
        RET=$?
        case "$RET" in
           0)          # Back
           rm -f $res  # rm temp file
           main
           ;;
           *)          # Canceled
           rm -f $res  # rm temp file
           exit
           ;;
        esac
    fi
    # Starts the download function
    list_download
}

# ------------------
list_download()
# ------------------
{
    i=0
    TOTAL=$(wc -l "$res" | cut -d ' ' -f 1)
    cd "$SAVEDIR"
    while read -r line || [[ -n "$line" ]]; do
        i=$(($i+1))
        PERCENT=$(($i*100/${TOTAL}))           # Calculates percentage
        echo "#Downloading $i/$TOTAL: $line"   # Writes to the progress-bar
        youtube-dl ${UTUBE} --newline -i -o "%(title)s-%(id)s.%(ext)s" "<a href="https://www.youtube.com/watch?v=${line}&quot">https://www.youtube.com/watch?v=${line}&quot</a>;   2>&1  &
        PID="$!"
        wait "$PID"
        echo "$PERCENT"
    done < "$res" | yad --progress --center --text="Downloading list items" --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" --auto-close \
                        --borders=10 --button="Cancel!gtk-no:1"
    if (( $? == 1 ));then                 # Download canceled, so clean up
        kill "$PID" &>/dev/null         # Kills any running download process

        notify-send -t 3000 --icon "dialog-info" "Download cancelled"
        while read -r line || [[ -n "$line" ]]; do
            rm "$(find "$SAVEDIR" -type f -name "*-$line.*" | grep part)" &>/dev/null   # Finds & removes the part file
            echo "#$line"
            sleep "0.1"
        done < "$res" | yad --progress --pulsate --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" --auto-close \
                        --borders=10 --button="Cancel!gtk-no:1" --text="Cleaning part files"
    fi
    rm -f $res  # rm temp file
    exit        # exit here
}

# ------------------
function download_format()
# ------------------
{
    FILENAME="$(youtube-dl --get-filename "$1")"   # Get filename
    YTEMP="$1"                                     # Temp variable
    format_selection                               # Start format selection dialog
}

# ------------------
check_version()
# ------------------
{
    wget --spider --user-agent="Mozilla/5.0 Gecko/20100101" --timeout=30 -q "<a href="https://rg3.github.io/youtube-dl/&quot">https://rg3.github.io/youtube-dl/&quot</a>; -O /dev/null
        if [[ "$?" -ne "0" ]]; then
        yad --text="Can't connect to youtube-dl server site\nMake sure the internet connection is up and active" \
        --borders=10 --form --button="Ok!gtk-ok:0" \
        --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE"
                main
        fi
    ytdlcv=$(youtube-dl --version)
    ytdllv=$(wget -O- -q "https ://rg3.github.io/youtube-dl/update/LATEST_VERSION")
    if [[ "$ytdlcv" == "$ytdllv" ]]; then
    yad --text="Installed version of youtube-dl - <b>$ytdlcv</b>\nAvailable version of youtube-dl - <b>$ytdllv</b>\n\nyoutube-dl is up-to-date" \
    --borders=10 --form --button="Ok!gtk-ok:0" \
    --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE"
    else
    yad --text="Installed version of youtube-dl - <b>$ytdlcv</b>\nAvailable version of youtube-dl - <b>$ytdllv</b>\n\nyoutube-dl update is available" \
    --borders=10 --form --button="Ok!gtk-ok:0" \
    --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE"
    fi
}

# ------------------
dialog()
# ------------------
{
# Dialogs
    if [[ "$MODE" = "0" ]]; then
        OIFS=$IFS # save Internal Field Separator
        IFS=$'\n' # separator is "\n" in returned choices
        c=0
        YADFIELD=()
        while [[ ${c} -lt $FIELDS ]];do
             c=$(($c+1))
             YADFIELD+=($(echo "--field=<b>YouTube url\:</b>          ${c}:NORM"; echo ""))    # Store yad form fields in an array
        done
        ENTRY="$(yad --form --columns=1 --window-icon "$ICON" --center \
           --borders=10 --title "$TITLE" --image "$IMAGE" --image-on-top \
           --text "<b>Select a folder to download\n and paste URL(s) in the appropriate field(s)</b>" \
           --button="Switch GUI!reload:2" $(if hash wget &>/dev/null;then echo "--button=youtube-dl:3";fi) \
           --button="Exit!gtk-cancel:1" --button="Download!gtk-ok:0" \
           --field="Enter Save directory:DIR" "$HOME/Downloads" \
           --field="Download Options:CB" "Audio only (mp3)!Video (22/18/17)" \
           --field="Simultaneous Downloads:NUM" "$SIMULTANEOUS!1..5!1" \
           ${YADFIELD[@]} \
            )"
        RET=$?
        IFS=$OIFS # reset IFS back to default
        case "$RET" in
            0) # Continue
            ;;
            1) # Canceled
                exit
            ;;
            2)
                MODE=1
                dialog
            ;;
            3)
                check_version
                main
            ;;
            *)
                exit
            ;;
       esac
    elif [[ "$MODE" = "1" ]]; then
        ENTRY="$(yad --form --columns=1 --window-icon "$ICON" --center \
           --borders=10 --title "$TITLE" --image "$IMAGE" --image-on-top \
           --text "<b>Select a folder to download\n and paste URL into the appropriate field</b>" \
           --button="Switch GUI!reload:2" $(if hash wget &>/dev/null;then echo "--button=youtube-dl:3";fi) \
           --button="Exit!gtk-cancel:1" --button="Download!gtk-ok:0" \
           --field="Enter Save directory:DIR" "$HOME/Downloads" \
           --field="Download Options:CB" "Custom!Audio only (mp3)!Video (22/18/17)" \
           --field="Simultaneous Downloads:NUM" "1!1..1!1" \
           --field="<b>YouTube url</b>:" "" \    # Only one url field for the Manual format selection
           )"
        RET=$?
        case "$RET" in
           0)      # Continue
           ;;
           1)      # Canceled
           exit
           ;;
           2)
           MODE=0
           dialog
           ;;
           3)
            check_version
            main
           ;;
           *)
           exit
           ;;
        esac
    fi
}

# ------------------
main()
# ------------------
{
    while :; do
        dialog     # calls the main dialog
        OIFS=$IFS # save Internal Field Separator
        IFS="|"   # separator is "|" in returned choices
        i=0
        retChoice=()
        e=0
        URLIST=()
        for ret in $ENTRY;do
            retChoice[$i]="$ret"
            i=$(($i+1))                    # iterate i
            if [[ "$i" -gt 3 ]] && [[ "$ret" != "" ]];then   # get form fields if they are not empty
               retType="${ret%%'='*}"                        # trim to the '=', TYPE position
               TYPE[$e]="${retType##*'/'}"                   # extract type, playlist or video
               retUrl="${ret%%'&'*}"                         # trim to the '&' character, URL position
               URLIST[$e]="${retUrl##*'='}"                  # extract filename
               YADBARS="$YADBARS --bar=${URLIST[$e]}:NORM"   # add bars to a yad multiprogress dialog
               e=$(($e+1))                                   # iterate e
            fi
        done
        IFS=$OIFS # reset IFS back to default
        SAVEDIR=${retChoice[0]} # directory path
        OPTION=${retChoice[1]}
      case $OPTION in
        "Video (22/18/17)")
           UTUBE="-f 22/18/17"
        ;;
        "Audio only (mp3)")
           UTUBE="--extract-audio --audio-format mp3 --audio-quality 0"
        ;;
      esac
        MAXDLS=${retChoice[2]}  # maximum number of simultaneous downloads

        if [[ -z $SAVEDIR ]] || [[ ${#URLIST[@]} -eq 0 ]];then
            yad --form --text="<b>Enter at least one url field\nand select a folder</b>" --borders=10 \
            --center --title "$TITLE" --window-icon "$ICON" --image "$IMAGE" --button="gtk-ok:0"
        else
            break
        fi
    done
    if [[ "$MODE" = "1" ]] && [[ "$OPTION" == "Custom" ]]; then
       if [[ "${TYPE[@]}" == "watch?v" ]];then
            for URL in ${URLIST[@]}; do
                download_format "<a href="https://www.youtube.com/watch?v=$URL&quot">https://www.youtube.com/watch?v=$URL&quot</a>; # call format selection dialog
                UTUBE="-f $FORMAT"
            done   
        else
            YTEMP="${URLIST[0]}"
            list_selection
        fi
    fi
}

# ------------------
function progress()
# ------------------
{
    OIFS=$IFS # save Internal Field Separator
    IFS=" "   # separator is " " in returned choices
    COUNTER="1"
    DYNAMIC_COUNTER="1"
    PID=()
    c=0
    for URL in ${URLIST[@]}; do
        if [[ "$DYNAMIC_COUNTER" = "$MAXDLS" ]] # only download n files at a time
          then
              download "${TYPE[$c]}" "$URL" "$COUNTER" &     # pass TYPE, URL and COUNTER to download function
              PID+=("$!")                                    # gets process pid
              max="$(($COUNTER-1))"                          # -1, since start counter is 1, and arrays begin at 0
              MAX_PID=${PID[$max]}                           # sets the variable pid from array PID
              wait $MAX_PID                                  # wait until process with MAX_PID finishes
              DYNAMIC_COUNTER="1"                            # reset dynamic counter
          else
              download "${TYPE[$c]}" "$URL" "$COUNTER" &     # pass TYPE, URL and counter number to download function
              PID+=("$!")                      
              DYNAMIC_COUNTER="$(($DYNAMIC_COUNTER+1))"      # iterate dinamic counter
        fi
        c=$(($c+1))                                          # iterate TYPE counter
        COUNTER="$[$COUNTER+1]"                              # iterate counter
    done | yad --multi-progress $YADBARS --title "$TITLE" --button="Cancel and Clean!gtk-close:1" --button="Cancel!gtk-close:0" \
               --text "$TEXT" --center --window-icon "$ICON" --image "$IMAGE" --image-on-top --auto-close
    if (( $? == 1 ));then                 # Download canceled, so clean up
        for pid in ${PID[@]};do
            kill $pid &>/dev/null         # Kills any running download process
        done
        for url in ${URLIST[@]}; do
            rm "$(find "$SAVEDIR" -type f -name "*-$url.*" | grep part)" &>/dev/null   # Finds & removes the part file
        done
        notify-send -t 3000 --icon "dialog-info" "Download cancelled"
        exit
    fi
    IFS=$OIFS # reset IFS back to default
}

# ***********************
# END FUNCTIONS
# ***********************

# ***********************
# MAIN
# ***********************

main     # Calls the main loop
progress # Starts the download

# ***********************
# END MAIN
# ***********************

Une fois le code collé, rendre le fichier executable :

sudo chmod a+rx /usr/bin/yad-ydl
youtube-dl
- http://www.cupoflinux.com/SBB/index.php?topic=5344.0
Youtube-dl refuses to run in background
2018-07-11 23:55 - permalink -

youtube-dl is running in the background, but it is still sending output to your terminal, and producing quite a lot of it to inform you of its progress. There are a number of ways to change this, but you'll probably either want to make youtube-dl produce less output, or cause its output to be sent to a file (or discarded altogether) instead of appearing in your terminal.

Way 1: Run youtube-dl -q to suppress status messages.

If you don't want to see the progress messages, you can pass the -q flag (or --quiet, which does the same thing) to the youtube-dl command:

youtube-dl -q https ://www.youtube.com/watch?v=NZ-ElsvYKyo &

You'd have to replace that URL with whatever you're trying to download, of course. Some messages may still be printed, including errors and warnings. But it's likely you want to see those.

If you don't want youtube-dl to produce any warnings, you can run youtube-dl with the --no-warnings flag. I don't suggest doing that, though, unless you're sure that's what you want.

youtube-dl -q --no-warnings https ://www.youtube.com/watch?v=NZ-ElsvYKyo &

To learn more about the command-line options accepted by youtube-dl, you can run man youtube-dl or read its manual page online.

Way 2: Redirect standard output of youtube-dl to a file.

To append the output to dl.log in the current directory (you can name this what you want, and it will be created if it doesn't already exist), run:

youtube-dl https ://www.youtube.com/watch?v=NZ-ElsvYKyo >> dl.log&

If you want to overwrite dl.log instead of appending text to the end, use > instead of >>:

youtube-dl https ://www.youtube.com/watch?v=NZ-ElsvYKyo > dl.log &

Normal output will then be redirected to dl.log (or whatever file you tell it to use). Error output, however, will still be shown on your terminal. For example, when I ran that command, I got one warning printed to my terminal:

ek@Io:~$ youtube-dl https ://www.youtube.com/watch?v=NZ-ElsvYKyo >> dl.log &
[1] 14456
ek@Io:~$ WARNING: Requested formats are incompatible for merge and will be merged into mkv
Everything else went into the log file:

ek@Io:~$ cat dl.log
[youtube] NZ-ElsvYKyo: Downloading webpage
[youtube] NZ-ElsvYKyo: Downloading video info webpage
[youtube] NZ-ElsvYKyo: Extracting video information
[youtube] NZ-ElsvYKyo: Downloading MPD manifest
[download] Destination: Lecture 1 _ Topics in String Theory-NZ-ElsvYKyo.f244.webm
[download]  23.2% of 359.52MiB at 204.49KiB/s ETA 23:02ek@Io:~$

You can view the output with cat (as I've done above) at any time, to check the progress.

When you run youtube-dl without -q, it produces output that is primarily meant for a terminal. This output includes control characters that tell a terminal to erase the previous progress message, so that it may be visually replaced with the new progress message. Some ways of viewing the file, like cat dl.log, will not show the "erased" messages or the control characters. They're still part of the file, though, and you can view them with some other utilities; for example, view dl.log works.

Way 2a: Redirect the output to /dev/null to get rid of it.

If you want the output to just be discarded rather than saved in an actual file, then you can redirect it to /dev/null:

youtube-dl https ://www.youtube.com/watch?v=NZ-ElsvYKyo > /dev/null &

With /dev/null, it doesn't matter if you "overwrite" (>) or "append" (>>).

This is a handy technique in general, though probably unnecessary with youtube-dl. If you want to suppress progress, you can just run youtube-dl -q instead.

Way 3: Redirect standard error, too.

Regular output and error output are separate. It's common for youtube-dl to produce both. The above method redirected only standard output. You can also redirect standard error. There's a lot you can do with redirection, including redirecting the two output streams to separate files. For our purposes here, I'll just show how to send both standard output and standard error to the same file:

youtube-dl https ://www.youtube.com/watch?v=NZ-ElsvYKyo &>> dl.log &

When I ran that, my shell showed only

[2] 15009
...and both regular output and error output appeared in dl.log:

ek@Io:~$ cat dl.log
[youtube] NZ-ElsvYKyo: Downloading webpage
[youtube] NZ-ElsvYKyo: Downloading video info webpage
[youtube] NZ-ElsvYKyo: Extracting video information
[youtube] NZ-ElsvYKyo: Downloading MPD manifest
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[download] Destination: Lecture 1 _ Topics in String Theory-NZ-ElsvYKyo.f244.webm
[download]   0.0% of 359.52MiB at 107.65KiB/s ETA 56:59ek@Io:~$

The above example used &>>, which appends to dl.log. To overwrite the file instead, use &> (or >&, which also works) instead of &>>:

youtube-dl https ://www.youtube.com/watch?v=NZ-ElsvYKyo &> dl.log &

Way 3a: Redirect both normal and error output to /dev/null.

If you really want to, you can redirect both standard output and standard error to /dev/null so it is all simply discarded:

youtube-dl https ://www.youtube.com/watch?v=NZ-ElsvYKyo &> /dev/null &

You probably want to see actual error messages, though. If it's just status messages and warnings you don't want, then you don't need any redirection. In that case you can use youtube-dl -q --no-warnings as described above. (See Way 1.)

youtube-dl
- https://askubuntu.com/questions/865544/youtube-dl-refuses-to-run-in-background
Raccourci pour youtube-dl afin de télécharger un mp3 et de créer un sous-dossier dans ~/Musique s'il n'existe pas
2017-12-14 2:10 - permalink -

Ouvrir votre fichier .bashrc situé dans votre dossier personnel (/home/votreprofil) avec votre éditeur préféré et ajoutez le code suivant :
(Mon éditeur Markdown ne fonctionnant pas bien, supprimez l'espace entre le https et le : du reste de l'adresse youtube)

ydlmp3() {
    origin=$(pwd)
    cd ~/Musique/
    if [ ! -z "$2" ]
        then
            if [ ! -d "$2" ]
                then mkdir "$2/"
            fi
        cd "$2/"
    fi
    echo "File will be recorded in \"$(pwd)\" folder"
    youtube-dl --extract-audio --audio-format mp3 https ://www.youtube.com/watch?v="$1"
    cd "$origin"
}

Exemples d'utilisation :

Pour créer le dossier ~/Musique/Snarky Puppy et télécharger le morceau situé à l'adresse https://www.youtube.com/watch?v=NJvekPJ9rCI

ydlmp3 NJvekPJ9rCI "Snarky Puppy"

La même chose mais pour le télécharger dans le dossier ~/Musique sans créer de sous-dossier :

ydlmp3 NJvekPJ9rCI
bash mp3 youtube-dl
- https://bookmarks.ecyseo.net/?crvEGg
Youtube-dl : télécharger plusieurs urls en même temps.
2016-12-1 2:22 - permalink -

Placer dans un fichier (que l'on nommera "urls" pour l'exemple), les urls à télécharger. Puis lancer la commande :

youtube-dl --batch-file urls

dans le dossier dans lequel vous souhaitez que vos films soient sauvegardés.

téléchargement youtube youtube-dl
- https://bookmarks.ecyseo.net/?7y9HUQ
youtube-dl : mode d'emploi officiel
2016-10-17 21:49 - permalink -
tutoriels youtube youtube-dl
- https://github.com/rg3/youtube-dl/blob/master/README.md#readme
youtube-dl : mode d’emploi
2016-10-13 23:48 - permalink -

Pour paramétrer youtube-dl.

application tutoriels youtube youtube-dl
- http://www.dsfc.net/logiciel-libre/youtube-dl-mode-d-emploi/
Télécharger un morceau depuis youtube et le convertir en mp3 - partage de liens - nonymous
2016-06-2 1:41 - permalink -
youtube-dl --extract-audio --audio-format mp3 <a href="https://www.youtube.com/watch?v=kfVsfOSbJY0">https://www.youtube.com/watch?v=kfVsfOSbJY0</a>

Merci pour l'astuce

code convertisseur mp3 mp4 youtube youtube-dl
- http://liens.nonymous.fr/?3aHSQQ
page 1 / 1


Tags


  • shaarli
  • wikipedia

Tags cloud

Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community - Help/documentation
Affiches "loi aviva" créées par Geoffrey Dorne le 13 Mai, 2020 - Mastodon 1 - Mastodon 2