youtube-dl.sh 1.2 KB

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