Custom Piped URL, improved code for interactive read
prompts
This commit is contained in:
parent
e509fce91d
commit
a24ebe8aff
2 changed files with 17 additions and 23 deletions
35
autoytdlp.sh
35
autoytdlp.sh
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
debug=0
|
debug=1
|
||||||
watching=1
|
watching=1
|
||||||
links=()
|
links=()
|
||||||
success=0
|
success=0
|
||||||
|
@ -43,6 +43,12 @@ bold () {
|
||||||
|
|
||||||
dlwith_piped () {
|
dlwith_piped () {
|
||||||
|
|
||||||
|
bold 'Enter Piped API instance URL'
|
||||||
|
bold '(ytapi.dc09.ru is used by default)'
|
||||||
|
read -r pipedurl
|
||||||
|
pipedurl="${pipedurl:-ytapi.dc09.ru}"
|
||||||
|
pipedurl=$(echo "$pipedurl" | sed -E 's#https?://##')
|
||||||
|
|
||||||
bold 'Choose the type of stream: 1.audio or 2.video'
|
bold 'Choose the type of stream: 1.audio or 2.video'
|
||||||
read -r stream_num
|
read -r stream_num
|
||||||
if [[ $stream_num == 1 ]]; then
|
if [[ $stream_num == 1 ]]; then
|
||||||
|
@ -56,15 +62,10 @@ dlwith_piped () {
|
||||||
jqexpr=".${stream}Streams|map(select(.videoOnly==false))|max_by(${maxby})"
|
jqexpr=".${stream}Streams|map(select(.videoOnly==false))|max_by(${maxby})"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
bold 'Here is an expression for JQ utility.'
|
bold 'Here is an expression for JQ utility'
|
||||||
echo 'Press Enter to leave it intact, or type another expression.'
|
echo 'Correct it or just press Enter'
|
||||||
echo "$jqexpr"
|
read -e -r -i "$jqexpr" newexpr
|
||||||
read -r newexpr
|
jqexpr="${newexpr:-$jqexpr}"
|
||||||
if [[ $newexpr == "" ]]; then
|
|
||||||
:
|
|
||||||
else
|
|
||||||
jqexpr="$newexpr"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
bold 'Started'
|
bold 'Started'
|
||||||
|
@ -82,7 +83,7 @@ dlwith_piped () {
|
||||||
echo "Found YT video ID: $video_id"
|
echo "Found YT video ID: $video_id"
|
||||||
|
|
||||||
echo "Requesting URL for $link"
|
echo "Requesting URL for $link"
|
||||||
video_obj=$(curl -sL "https://ytapi.dc09.ru/streams/$video_id")
|
video_obj=$(curl -sL "https://$pipedurl/streams/$video_id")
|
||||||
|
|
||||||
stream_obj=$(echo "$video_obj" | jq "$jqexpr")
|
stream_obj=$(echo "$video_obj" | jq "$jqexpr")
|
||||||
stream_url=$(echo "$stream_obj" | jq ".url" | sed s/^\"// | sed s/\"$//)
|
stream_url=$(echo "$stream_obj" | jq ".url" | sed s/^\"// | sed s/\"$//)
|
||||||
|
@ -135,14 +136,10 @@ dlwith_ytdlp () {
|
||||||
echo 'Use "b" without quotes for video and audio'
|
echo 'Use "b" without quotes for video and audio'
|
||||||
echo ' "bv" to download only video'
|
echo ' "bv" to download only video'
|
||||||
echo ' "ba" to download only audio'
|
echo ' "ba" to download only audio'
|
||||||
echo 'details: https://github.com/yt-dlp/yt-dlp#format-selection'
|
echo 'Defaults to "b" if an empty string is passed'
|
||||||
read -r format
|
echo 'Details: https://github.com/yt-dlp/yt-dlp#format-selection'
|
||||||
|
read -e -r format
|
||||||
if [[ $format == "" ]]; then
|
format="${format:-b}"
|
||||||
echo 'Passed an empty string,'
|
|
||||||
echo 'using "b" as default.'
|
|
||||||
format="b"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
bold 'Started'
|
bold 'Started'
|
||||||
|
|
|
@ -6,10 +6,7 @@ mkdir -p ./convert
|
||||||
echo "Enter input files extension:"
|
echo "Enter input files extension:"
|
||||||
echo "(empty string to match all)"
|
echo "(empty string to match all)"
|
||||||
read -r ext_input
|
read -r ext_input
|
||||||
|
ext_input="${ext_input:-*}"
|
||||||
if [[ $ext_input == "" ]]; then
|
|
||||||
ext_input="*"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Enter output files extension:"
|
echo "Enter output files extension:"
|
||||||
echo "(must not be empty)"
|
echo "(must not be empty)"
|
||||||
|
|
Reference in a new issue