youtube-dl.sh 1015 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. # youtube-dl.sh 安装下载YouTube视频和音乐
  3. url_list=url_list.txt
  4. if [[ $# > 1 ]];then
  5. url_list=$2
  6. fi
  7. youtube_dl_install(){
  8. apt install -y youtube-dl ffmpeg
  9. curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/bin/youtube-dl
  10. chmod +x /usr/bin/youtube-dl
  11. }
  12. vod_download(){
  13. while read -r line || [[ -n $line ]];do
  14. youtube-dl $line
  15. done < $url_list
  16. }
  17. mp3_download(){
  18. while read -r line || [[ -n $line ]];do
  19. youtube-dl -f 140 $line
  20. done < $url_list
  21. ls -1 *.m4a > /tmp/m4a.txt
  22. while read -r m4a || [[ -n $m4a ]];do
  23. mp3=$(echo $m4a | awk -F '.' '{print $1}')
  24. ffmpeg -i "${m4a}" "${mp3}.mp3"
  25. done < /tmp/m4a.txt
  26. rm *.m4a
  27. }
  28. help_info(){
  29. echo -e "\e[1;33m Usage: $0 [install|mp3|vod] [url_list.txt] \e[0m"
  30. }
  31. # Bash执行选项
  32. if [[ $# > 0 ]];then
  33. key="$1"
  34. case $key in
  35. install)
  36. youtube_dl_install
  37. ;;
  38. mp3)
  39. mp3_download
  40. ;;
  41. vod)
  42. vod_download
  43. ;;
  44. esac
  45. else
  46. help_info
  47. fi