31 lines
644 B
Bash
31 lines
644 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
IFS=$'\n\t'
|
|
|
|
echo "#EXT3MU
|
|
|
|
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 |