youtube-dl.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. m4a_download(){
  27. while read -r line || [[ -n $line ]];do
  28. youtube-dl -f 140 $line
  29. done < $url_list
  30. ls -1 *.m4a
  31. }
  32. url_list=url_list.txt
  33. if [[ $# > 1 ]];then
  34. url_list=$2
  35. fi
  36. URL=$2
  37. url_f(){
  38. if [ ! -f $URL ]; then
  39. echo $URL > /tmp/url
  40. url_list=/tmp/url
  41. echo -e "\e[1;33m URL: ${URL} \e[0m"
  42. fi
  43. }
  44. help_info(){
  45. echo -e "\e[1;33m Usage: $0 [install | mp3 | vod | m4a ] [url_list.txt | URL] \e[0m"
  46. }
  47. url_f
  48. # Bash执行选项
  49. if [[ $# > 0 ]];then
  50. key="$1"
  51. case $key in
  52. install)
  53. youtube_dl_install
  54. ;;
  55. mp3)
  56. mp3_download
  57. ;;
  58. vod)
  59. vod_download
  60. ;;
  61. m4a)
  62. m4a_download
  63. ;;
  64. esac
  65. else
  66. help_info
  67. fi