#!/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