audio only mp4a.40.2 129k 44k medium, m4a_dash #!/bin/sh # $ yt-dlp --get-id https://www.youtube.com/playlist?list=list_id > list.txt for i in $(cat list.txt); do filename_mp4=$(yt-dlp -f 597 --get-filename https://www.youtube.com/watch?v=$i) for fmt in 571 401 400 299 399 298 398 136; do if [ ! -e "$filename_mp4" ]; then yt-dlp -i -w -f $fmt https://www.youtube.com/watch?v=$i fi done filename_m4a=$(yt-dlp -f 599 --get-filename https://www.youtube.com/watch?v=$i) for fmt in 140 139 599; do if [ ! -e "$filename_m4a" ]; then yt-dlp -i -w -f $fmt https://www.youtube.com/watch?v=$i fi done mkdir -p out if [ -e "$filename_mp4" -a -e "$filename_m4a" ]; then ffmpeg -y -i "$filename_mp4" -i "$filename_m4a" -c copy "out/$filename_mp4“ fi rm "$filename_mp4“; rm "$filename_m4a“ done