Radio-dodsorfas/scripts/yt2m3u

29 lines
629 B
Bash

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
function get_duration {
preconvert=$(youtube-dl --get-duration -- "$1" | perl -p -i -e 's/(\d\d?):(\d\d)/$1 minutes+$2 seconds/' 2> /dev/null)
convert=$(units "$preconvert")
stripped=$(echo "$convert" | grep -o '[0-9]*')
echo "$stripped"
}
function get_title {
result=$(youtube-dl --get-title -- "$1")
echo "$result"
}
function makeline {
duration=$(get_duration "$1")
title=$(get_title "$1")
echo "#EXTINF:$duration,$title"
}
videos=$(youtube-dl --get-id "$1")
videos=($videos)
for i in "${videos[@]}"; do
makeline "$i"
echo "ffmpeg2wav:youtube-dl:$i"
done