@@ -849,6 +849,7 @@ function ydlo() {
849849 local _bmkv_=" --merge-output-format mkv"
850850 local _bmp3_=" -f bestaudio -x --audio-format mp3 --audio-quality 0"
851851 local _bmp4_=" -f bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4"
852+ local _subt_=" --write-subs --sub-format srt"
852853 local _enum_=" "
853854 local _rvpl_=" "
854855 # default sequence and extension for playlist
@@ -873,7 +874,10 @@ function ydlo() {
873874 _ycmd_=" ${_tool_} ${_bmp4_} "
874875 elif [[ " $p " =~ ^[/-]{1,2}best ]]; then
875876 _ycmd_=" ${_tool_} "
877+ elif [[ " $p " =~ ^[/-]{1,2}nosub ]]; then
878+ _subt_=" "
876879 elif [[ " $p " =~ ^[/-]{1,2}[rR] ]]; then
880+ _extn_=' -%(playlist_autonumber)02d.%(ext)s'
877881 _rvpl_=" --playlist-reverse"
878882 else
879883 _name_=" $p "
@@ -892,25 +896,39 @@ function ydlo() {
892896 echo " ----------"
893897 echo " name: ${_name_} "
894898 echo " href: ${_href_} "
895- echo " args: ${_ycmd_} ${_rvpl_} "
896899 if [[ " ${_href_} " =~ playlist ]]; then
897900 if [[ " ${_name_} " =~ .* " -" .* ]]; then
898901 _extn_=' %(playlist_index)s.%(ext)s'
902+ if [[ ! " ${_rvpl_} " == " " ]]; then
903+ _extn_=' %(playlist_autonumber)02d.%(ext)s'
904+ fi
899905 fi
900906 if [[ ! " ${_snum_} " == " " ]]; then
901- _sarg_=" --playlist-start ${_snum_} " ;
907+ _sarg_=" --playlist-start ${_snum_} "
908+ _sarg_=" --autonumber-start ${_snum_} ${_sarg_} "
909+ if [[ ! " ${_enum_} " == " " ]]; then
910+ local _xend_=$(( ${_enum_} - ${_snum_} + 1 ))
911+ _sarg_=" --playlist-end ${_xend_} "
912+ _sarg_=" --playlist-start 1 ${_sarg_} "
913+ _sarg_=" --autonumber-start ${_snum_} ${_sarg_} "
914+ _sarg_=" --autonumber-size ${_xend_} ${_sarg_} "
915+ fi
902916 echo " start: ${_snum_} "
903917 fi
904918 if [[ ! " ${_enum_} " == " " ]]; then
905- _earg_=" --playlist-end ${_enum_} "
906- echo " end: ${_enum_} "
907- fi
908- if [[ ! " ${_rvpl_} " == " " ]]; then
909- _args_=$( echo " ${_rvpl_} ${_args_} " | xargs)
919+ if [[ " ${_rvpl_} " == " " ]]; then
920+ _earg_=" --playlist-end ${_enum_} "
921+ echo " end: ${_enum_} "
922+ fi
910923 fi
924+ _args_=$( echo " ${_args_} ${_subt_} ${_rvpl_} " | xargs)
911925 else # not from playlist, no need sequence
926+ _args_=$( echo " ${_args_} ${_subt_} " | xargs)
912927 _extn_=' .%(ext)s'
913928 fi
929+ echo " args: ${_ycmd_} "
930+ echo " ${_args_} "
931+ echo " ${_sarg_} ${_earg_} "
914932 echo " ----------"
915933
916934 if [[ " ${_name_} " == " " ]]; then
@@ -922,6 +940,7 @@ function ydlo() {
922940
923941 # download with name
924942 echo Downloading " ${_name_} " " ${_extn_} " ...
943+ echo " "
925944 ${_ycmd_} \
926945 ${_sarg_} ${_earg_} ${_args_} \
927946 -o " ${_name_} " " ${_extn_} " \
0 commit comments