Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.57 KB | None | 0 0
  1. #!/bin/bash
  2. #this will take a file of youtube links and convert them into a playlist of invidious audio links complete with the thumbnail as album art
  3. invidious='https://invidio.us';
  4. playlistoutputfile='./playlist.xspf';
  5. echo "creating $playlistoutputfile";
  6. cat >$playlistoutputfile <<EOT
  7. <?xml version="1.0" encoding="UTF-8"?>
  8. <playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">
  9.     <title>Playlist</title>
  10.     <trackList>
  11. EOT
  12.  
  13. if [ -f "$1" ]; then
  14.   for i in $(cat $1); do
  15.     unset video audio title lengthinseconds lengthinmiliseconds image;
  16.     video=$(echo $i |awk -F'/watch\\?v=' '{ print $2 }');
  17.     audio="$invidious/latest_version?id=$video&amp;itag=140";
  18.     title=$(curl -k -s $invidious/api/v1/videos/$video|awk -F'"title":"' '{ print $2 }' |awk -F'","videoId":' '{ print $1 }'|sed 's/&/&amp;/g');
  19.     lengthinseconds=$(curl -s -k https://192.168.1.150/api/v1/videos/$video|awk -F'"lengthSeconds":' '{ print $2 }' |awk -F',"allowRatings":' '{ print $1 }');
  20.     lengthinmiliseconds=$(($lengthinseconds*1000));
  21.     image="$invidious/vi/$video/maxres.jpg";
  22. cat >>$playlistoutputfile <<EOT
  23.         <track>
  24.             <location>$audio</location>
  25.             <title>$title</title>
  26.             <duration>$lengthinmiliseconds</duration>
  27.                         <image>$image</image>
  28.             <extension application="http://www.videolan.org/vlc/playlist/0">
  29.                 <vlc:id>0</vlc:id>
  30.                 <vlc:option>network-caching=1000</vlc:option>
  31.             </extension>
  32.         </track>
  33. EOT
  34.     sleep 1;
  35.   done
  36. fi
  37.  
  38. cat >>$playlistoutputfile <<EOT
  39.     </trackList>
  40. </playlist>
  41. EOT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement