#!/bin/mksh
# format="-f34" # leave empty for default
player="mpv --quiet --geometry=50%:50% --keep-open"
tmpdir="$HOME/yt"

url="$1"
filepath="$tmpdir/$(youtube-dl --id --get-filename $format $url)"

youtube-dl -c -o $filepath $format $url &
print "$!" > $filepath.$$.pid

while [ ! -r $filepath ] && [ ! -r $filepath.part ]; do 
    printf '%s' "Waiting for youtube-dl..."
    sleep 3
done

[ -r $filepath.part ] && $player $filepath.part || $player $filepath
kill $(<$filepath.$$.pid)
rm $filepath.$$.pid
