DarkyAngel Posted July 5, 2012 Report Posted July 5, 2012 (edited) dac? dore?te cineva.. #!/bin/bash# set -x# By Ed Wiget# This script automates downloading youtube video plylists and converting to mp3 file# 20120625 - initial script based off of http://www.edwiget.name/2011/08/ge%E2%80%A0-%C2%A5d-%C2%A7hd%C2%A2k-dn/# 20120628 - add a check to see if the name already exists and if so skips it# you should do this sudo command and the svn rtmpdump commands below before running this script# sudo apt-get install youtube-dl lame faad ffmpeg ffprobe# for rtmp and librtmp do this:# svn co svn://svn.mplayerhq.hu/rtmpdump rtmpdump# cd rtmpdump/trunk# make# sudo make install# set this variable to the location of your scripts:BASE_DIR=~/scripts# this sets the location of the python youtube-dl script, relative to aboveYOUTUBE_DL=${BASE_DIR}/youtube-dl/youtube-dl# this sets the path of the downloaded files and temp directoryDL_FILES=~/test-yt# this sets the path to were the final mp3 is storedMP3_LOCATION=~/Music# this sets the location of the video file downloadedVID_LOCATION=~/Videos# this checks for the youtube-dl script and if it doesn't exist, it gets it# if it does exist, it checks to make sure its the latest versionif [ ! -d ${BASE_DIR}/youtube-dl ]; then echo "grabbing the youtube-dl script" cd ${BASE_DIR} git clone git://github.com/rg3/youtube-dl.git youtube-dl chmod 700 ${BASE_DIR}/youtube-dl/youtube-dlelse echo -e "youtube-dl already exists\n\nMaking sure we have the latest version" ${YOUTUBE_DL} -U chmod 700 ${BASE_DIR}/youtube-dl/youtube-dlfi# this checks to make sure we have ffmpeg and lame installed, and if not, grabs themFFMPEG1=`which ffmpeg | wc -l`LAME1=`which lame | wc -l`if [ ${FFMPEG1} = 1 ]; then echo "ffmpeg already exists"else echo "grabbing ffmpeg" # for ubuntu based distros, use this line sudo apt-get install ffmpeg # for redhat based distros, use this line #sudo yum install ffmpegfiif [ ${LAME1} = 1 ]; then echo "lame already exists"else echo "grabbing lame" # for ubuntu use this line sudo apt-get install lame # for redhat use this line # sudo yum install lamefi# next we ask the user for the video file, it should be in format like:# http://www.youtube.com/playlist?list=PL4E71AC1BFE99D171echo -e "What is the video playlist to download, ie. http://www.youtube.com/playlist?list=PL4E71AC1BFE99D171"read VIDEO_URLecho "You entered ${VIDEO_URL} is this correct? ( y / n )"read ANS if [ ${ANS} = "y" ]; then wget -O /tmp/playlist.output ${VIDEO_URL} for i in `cat /tmp/playlist.output | grep --color=auto -E 'watch\?v=' | cut -d '=' -f3 | sed 's/&list//g' | grep -iv "hid"`; do URL="http://www.youtube.com/watch?v=$i" cd ${DL_FILES} # grab the song title SONG_TITLE=`${YOUTUBE_DL} --get-title ${URL}` echo -e "the song title is ${SONG_TITLE}" # here we check if the song already exists, if so it skips it.... SONGCHK=`ls ${MP3_LOCATION}/"${SONG_TITLE}"* | wc -l` if [ "${SONGCHK}" -ge "1" ]; then echo "song already exists....." else # downloading video echo "downloading video....please wait" ${YOUTUBE_DL} ${URL} # we need to convert the dl url to a filename for later processing # the url is like: http://www.youtube.com/watch?v=6E2hYDIFDIU # the downloaded file will be 6E2hYDIFDIU.mp4 MP4_FILE=`echo ${URL} | awk -F/ '{print$4}' | awk -F= '{print$2}' ` # get the downloaded file extension FILE_EXT=`ls ${DL_FILES}/${MP4_FILE}* | awk -F. '{print$2}' ` echo "your video is located in ${DL_FILES}/${MP4_FILE}.${FILE_EXT}" echo "" echo "converting ${DL_FILES}/${MP4_FILE}.${FILE_EXT} to wav.....please wait" # ffmpeg -i 6E2hYDIFDIU.flv 6E2hYDIFDIU.wav ffmpeg -i ${DL_FILES}/${MP4_FILE}.${FILE_EXT} ${DL_FILES}/"${SONG_TITLE}".wav echo "video converted to wav file....converting wav to mp3" lame -b 128 ${DL_FILES}/"${SONG_TITLE}".wav ${MP3_LOCATION}/"${SONG_TITLE}".mp3 echo "${SONG_TITLE} is now available at ${MP3_LOCATION}/${SONG_TITLE}.mp3" # added 20110813 # check to see if video is mp4, if so, mv to Music folder. If not, convert to mp4 then move. if [ "`echo ${FILE_EXT}`" = "mp4" ]; then echo -e "\n\nmoving video download file ${DL_FILES}/${MP4_FILE}.${FILE_EXT} to ${VID_LOCATION}/${SONG_TITLE}.${FILE_EXT}" mv ${DL_FILES}/${MP4_FILE}.${FILE_EXT} ${VID_LOCATION}/"${SONG_TITLE}".${FILE_EXT} echo "video file is now at ${VID_LOCATION}/"${SONG_TITLE}".${FILE_EXT}" else echo -e "converting ${DL_FILES}/${MP4_FILE}.${FILE_EXT} to ${DL_FILES}/${MP4_FILE}.mp4....please wait" ffmpeg -i ${DL_FILES}/${MP4_FILE}.${FILE_EXT} ${DL_FILES}/${MP4_FILE}.mp4 mv ${DL_FILES}/${MP4_FILE}.mp4 ${VID_LOCATION}/"${SONG_TITLE}".mp4 echo "video file is now at ${VID_LOCATION}/"${SONG_TITLE}".mp4" fi echo -e "\n\ndone .... and enjoy" fi done else echo "there was an error...." exit fi echo "all done.....enjoy" 0 0share0share1"enjoy"!Sursa Edited July 5, 2012 by DarkyAngel Quote
H4ck3rPr4fz0rrr. Posted July 5, 2012 Report Posted July 5, 2012 (edited) Unde bag asta?Edit:// gata, mersi! Edited July 5, 2012 by H4ck3rPr4fz0rrr. Quote
DarkyAngel Posted July 5, 2012 Author Report Posted July 5, 2012 Unde bag asta?#!/bin/bash nu-?i spune nimic? Quote