shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Script para youtube-dl e ffmpeg


From: Rodolpho Costa Stach
Subject: Script para youtube-dl e ffmpeg
Date: Fri, 23 Dec 2011 08:29:08 -0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111105 Thunderbird/8.0

Bom dia à todos, estou tentando escrever um script para usar o youtube-dl (que baixa vídeos do youtube para o PC) e o ffmpeg (que uso para extrair uma mp3 do vídeo) mas ao tentar usar o while para ler um arquivo linha a linha ele le apenas uma linha e sai... rsrsr provável ser uma coisa bem simples que deixei passar mas já cheguei num ponto que leio leio leio e não vejo...


## Script para baixar MP3 do youtube!
# Autor: Rodolpho
## Variáveis
# YOU é o caminho para o executável do youtube-dl
# FF é o caminho para o executável do ffmpeg
# ENT é a primeira entrada do usuário
# FILE é a segunda entrada do usuário (soh funciona quando tem a opcao --file
## Funções
# baixalinha() é para quando o usuário informa a URL junto ao programa
# baixafile() é para ler um arquivo de texto simples com os links
##



#!/bin/bash
YOU=/usr/bin/youtube-dl
FF="/usr/bin/ffmpeg -i"
ENT=$1
FILE=$2

baixalinha(){
#Testa se não foi informado algum parâmetro para download
if [ -z "$ENT" ]; then
#exibe mensagem de erro
    echo -e "\e[41;37;1m Erro:"
    echo -e "\e[40;37;1mPreciso da URL do vídeo para a baixar"
    echo -e "\e[40;37mUse $0 URL"
    echo "Ex:"
    echo -e "\e[40;37m $0 http://www.youtube.com/watch?v=J3WZ2b7V_7c";
    echo -e "\e[40;37m ou"
    echo -e "\e[40;37m $0 --file lista.txt"
    echo " "
    #exibe mensagem de erro e sai
    exit
else
    echo Baixando o vídeo
    $YOU $ENT > /tmp/logYOU.log
VIDEO=`cat /tmp/logYOU.log|grep Destination|cut -d: -f2`
    echo convertendo para MP3 com o nome $VIDEO.mp3
    $FF $VIDEO $VIDEO.mp3
    echo "Apagando o arquivo de vídeo"
    rm $VIDEO
fi
}


baixafile(){

if [ -z "$FILE" ]; then
#exibe mensagem de erro
    echo -e "\e[41;37;1m Erro:"
    echo -e "\e[40;37;1mPreciso da URL do vídeo para a baixar"
    echo -e "\e[40;37mUse $0 URL"
    echo "Ex:"
    echo -e "\e[40;37m $0 --file lista.txt"
    echo " "
    #exibe mensagem de erro e sai
    exit
else
    while read link
    do
    echo Baixando o vídeo de $link da lista $FILE
    $YOU $link > /tmp/logYOU.log
VIDEO=`cat /tmp/logYOU.log|grep Destination|cut -d: -f2`
    echo convertendo para MP3 com o nome $VIDEO.mp3 o video $link
    $FF $VIDEO $VIDEO.mp3 2> .erroFF

    echo "Apagando o arquivo de vídeo $VIDEO de $link"
    rm $VIDEO

    done < $FILE
fi
}

case $1 in
    --file) baixafile;;
*) baixalinha
    esac




reply via email to

[Prev in Thread] Current Thread [Next in Thread]