DarkyAngel Posted July 5, 2012 Report Share 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 Link to comment Share on other sites More sharing options...
H4ck3rPr4fz0rrr. Posted July 5, 2012 Report Share Posted July 5, 2012 (edited) Unde bag asta?Edit:// gata, mersi! Edited July 5, 2012 by H4ck3rPr4fz0rrr. Quote Link to comment Share on other sites More sharing options...
DarkyAngel Posted July 5, 2012 Author Report Share Posted July 5, 2012 Unde bag asta?#!/bin/bash nu-?i spune nimic? Quote Link to comment Share on other sites More sharing options...