사용방법:
1. ./youtube_urls.txt 편집
2. nohup ./download_youtube.sh -f &
#!/bin/bash ############################################################ # # YouTube 동영상 다운로드 스크립트 # ############################################################ OUTPUT_DIR=/usbmem/youtube URLS_FILE="./youtube_urls.txt" DEFAULT_VIDEO_OPTS="--write-auto-sub --sub-lang ko" DEFAULT_AUDIO_OPTS="--extract-audio --audio-format mp3 --audio-quality 0" mkdir -p ${OUTPUT_DIR} display_usage() { echo "### 유튜브 다운로더 ###" echo echo "Usage:" echo "$0 -h or --help: 도움말" echo "$0 -ug: youtube-dl 패키지 업그레이드" echo "$0 -f: ${URLS_FILE} 파일에서 YouTube 주소를 읽어서 비디오 다운로드" echo "$0 -vh {youtube 주소}: 백그라운드에서 비디오 다운로드" echo "$0 -vn {youtube 주소}: 포그라운드에서 비디오 다운로드" echo "$0 -ah {youtube 주소}: 백그라운드에서 오디오만 다운로드" echo "$0 -an {youtube 주소}: 포그라운드에서 오디오만 다운로드" } read_file() { while read READ_STRING do STRLEN=`echo -n $READ_STRING | wc -c` if [ ${STRLEN=} -gt 20 ] then echo ${READ_STRING} youtube-dl ${DEFAULT_VIDEO_OPTS} -o "${OUTPUT_DIR}/%(title)s.%(ext)s" ${READ_STRING} fi done < ${URLS_FILE} } case $1 in "-ug") echo "Upgrade Package" pip install --upgrade pip pip install --upgrade -q youtube-dl ;; "-f") echo "YouTube URL list fIle: ${URLS_FILE}" read_file ;; "-vh") echo "Youtube download (nohup): $2" nohup youtube-dl ${DEFAULT_VIDEO_OPTS} -o "${OUTPUT_DIR}/%(title)s.%(ext)s" $2 & ;; "-vn") echo "Youtube download: $2" youtube-dl ${DEFAULT_VIDEO_OPTS} -o "${OUTPUT_DIR}/%(title)s.%(ext)s" $2 ;; "-ah") echo "Youtube download audio only (nohup): $2" nohup youtube-dl ${DEFAULT_AUDIO_OPTS} ${DEFAULT_VIDEO_OPTS} -o "${OUTPUT_DIR}/%(title)s.%(ext)s" $2 & ;; "-an") echo "Youtube download audio only: $2" youtube-dl ${DEFAULT_AUDIO_OPTS} ${DEFAULT_VIDEO_OPTS} -o "${OUTPUT_DIR}/%(title)s.%(ext)s" $2 ;; "-h") display_usage ;; "--help") display_usage ;; *) echo "Youtube download: $2" youtube-dl ${DEFAULT_VIDEO_OPTS} -o "${OUTPUT_DIR}/%(title)s.%(ext)s" $2 ;; esac