[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
- Script para youtube-dl e ffmpeg,
Rodolpho Costa Stach <=