Skip to content

Instantly share code, notes, and snippets.

@klausenbusk
Last active December 14, 2015 02:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save klausenbusk/9ece67406f35def55169 to your computer and use it in GitHub Desktop.
Save klausenbusk/9ece67406f35def55169 to your computer and use it in GitHub Desktop.
Bash script to download "programs" (video) from dr.dk/tv (using dr.dk/mu-online api)
#!/bin/bash
slug=$(echo "$1" | cut -f7 -d /)
programcard=$(curl --silent http://www.dr.dk/mu-online/api/1.0/programcard/"$slug")
function byte()
{
local byteoffset=$(echo ${!2} | grep -o --byte-offset "\"$1\":" | cut -f1 -d : | head -n 1)
echo ${!2} | cut -b $(($byteoffset+$(echo $1 | wc -c)))- | cut -f3 -d \" | head -n 1
}
Title=$(byte "Title" 'programcard' | sed "s/\( \?- \?\|: \| \|:\)/-/g")
BroadcastDate=$(byte "BroadcastDate" 'programcard')
VideoResource=$(byte "VideoResource\",\"Uri" 'programcard')
VideoResource=$(curl --silent --location "$VideoResource")
url=$(echo $VideoResource | grep -o '[0-9a-zA-Z/.,_-:]*.m3u8')
url=$(curl --silent $url | grep -v \# | head -n1)
for file in $(curl --silent $url | grep -v \#);
do
curl "$file" >> "$Title-$(date +%d-%b-%Y --date=$BroadcastDate).mp4"
done
@klausenbusk
Copy link
Author

We need to look at bitrate... (VideoResource)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment