사용방법:
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
