Pedig valami furcsaság lehet, mert két dolog van:
1. ha megnézed a leírást, ez teljesen valid paraméterezés, aminek működnie kell
2. kipróbáltam, és tökéletesen működik - tényleg, minden irányból.
Esetleg érdemes abba az irányba menni, hogy mit ír a leírás, és hátha ott kiderül valami, ami nem működik. Akkor be lehet jelenteni egy bugba.
Én linux alatt tudom csak kipróbálni, ott működött. Például egy bash script:
#!/bin/bash
if [ -z "$1" ]; then
echo "Használat: $0 <URL>"
exit 1
fi
URL="$1"
PLAYLIST=$(yt-dlp --get-filename -o "%(playlist_title)s" "$URL")
if [ -n "$PLAYLIST" ] && [ "$PLAYLIST" != "NA" ]; then
OUTPUT_TEMPLATE="video/%(uploader)s/%(playlist_title)s/%(title)s/%(title)s.%(ext)s"
else
OUTPUT_TEMPLATE="video/%(uploader)s/%(title)s/%(title)s.%(ext)s"
fi
yt-dlp \
-o "$OUTPUT_TEMPLATE" \
-S "lang" \
-f bestvideo[vcodec^=avc]+bestaudio[format_id^=140] \
--write-sub \
--write-auto-sub \
--sub-lang en,hu \
--convert-subs srt \
--write-description \
--add-metadata \
--embed-thumbnail \
--write-info-json \
"$URL"
Szerintem ez pont az, ahogy Te akarod használni. A format_id az 140. Ha egy videó URL-jét adod meg, akkor azt tölti le, ha egy lejátszási listát, akkor azt, és szépen beteszi az OUTPUT_TEMPLATE-nek megfelelő könyvtár szerkezetbe.
Próbáld ki több videóval, hátha a fájlnévben van valami hülye karakter, ami a windowsnak gondot okoz. (vagy hasonló)