UPGRADE v1.0 : CopierYoutube & MP3 tag detection make video link copied & converted to mp3
This commit is contained in:
parent
70c209682e
commit
6fb0996f89
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
# Version: 0.4
|
# Version: 1.0
|
||||||
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
||||||
########################################################################
|
########################################################################
|
||||||
MY_PATH="`dirname \"$0\"`" # relative
|
MY_PATH="`dirname \"$0\"`" # relative
|
||||||
|
@ -47,10 +47,17 @@ tiddlywiki --load ${INDEX} \
|
||||||
--render '.' 'CopierYoutube.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[CopierYoutube]]'
|
--render '.' 'CopierYoutube.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[CopierYoutube]]'
|
||||||
|
|
||||||
echo "DEBUG : cat ~/.zen/game/players/${PLAYER}/G1CopierYoutube/CopierYoutube.json | jq -r"
|
echo "DEBUG : cat ~/.zen/game/players/${PLAYER}/G1CopierYoutube/CopierYoutube.json | jq -r"
|
||||||
|
## CHEK FOR MP3 TAG
|
||||||
|
TAGS=()
|
||||||
|
TAGS=($(cat ~/.zen/game/players/${PLAYER}/G1CopierYoutube/CopierYoutube.json | jq -r .[].tags))
|
||||||
|
echo "TAGS :${#TAGS[@]}: ${TAGS[@]}"
|
||||||
|
isMP3=$(echo ${TAGS[@] | grep -w "MP3")
|
||||||
|
|
||||||
|
## GET USER BROWSER for YOUTUBE COOKIES
|
||||||
|
BZER=$(xdg-settings get default-web-browser | cut -d '.' -f 1 | cut -d '-' -f 1) ## GET cookies-from-browser
|
||||||
|
[[ $BZER ]] && BROWSER="--cookies-from-browser $BZER " || BROWSER=""
|
||||||
|
[[ ! $isLAN ]] && BROWSER=""
|
||||||
|
|
||||||
BZER=$(xdg-settings get default-web-browser | cut -d '.' -f 1 | cut -d '-' -f 1) ## GET cookies-from-browser
|
|
||||||
[[ $BZER ]] && BROWSER="--cookies-from-browser $BZER " || BROWSER=""
|
|
||||||
[[ ! $isLAN ]] && BROWSER=""
|
|
||||||
###################################################################
|
###################################################################
|
||||||
## URL EXTRACTION & yt-dlp.cache.${PLAYER} upgrade
|
## URL EXTRACTION & yt-dlp.cache.${PLAYER} upgrade
|
||||||
for YURL in $(cat ~/.zen/game/players/${PLAYER}/G1CopierYoutube/CopierYoutube.json | jq -r '.[].text' | grep 'http'); do
|
for YURL in $(cat ~/.zen/game/players/${PLAYER}/G1CopierYoutube/CopierYoutube.json | jq -r '.[].text' | grep 'http'); do
|
||||||
|
@ -136,41 +143,50 @@ if [[ ! ${TIDDLER} ]]; then
|
||||||
## EXTRA PARAM TO TRY
|
## EXTRA PARAM TO TRY
|
||||||
# --write-subs --write-auto-subs --sub-langs "fr, en, en-orig" --embed-subs
|
# --write-subs --write-auto-subs --sub-langs "fr, en, en-orig" --embed-subs
|
||||||
|
|
||||||
/usr/local/bin/yt-dlp -q -f "(bv*[ext=mp4][height<=720]+ba/b[height<=720])" \
|
if [[ ${isMP3} == "" ]]; then
|
||||||
$BROWSER \
|
# copying video
|
||||||
--download-archive ${HOME}/.zen/.yt-dlp.list \
|
/usr/local/bin/yt-dlp -q -f "(bv*[ext=mp4][height<=720]+ba/b[height<=720])" \
|
||||||
-S res,ext:mp4:m4a --recode mp4 --no-mtime --embed-thumbnail --add-metadata \
|
$BROWSER \
|
||||||
-o "${HOME}/.zen/tmp/yt-dlp/$TITLE.%(ext)s" ${ZYURL}
|
--download-archive ${HOME}/.zen/.yt-dlp.list \
|
||||||
|
-S res,ext:mp4:m4a --recode mp4 --no-mtime --embed-thumbnail --add-metadata \
|
||||||
|
-o "${HOME}/.zen/tmp/yt-dlp/$TITLE.%(ext)s" "${ZYURL}"
|
||||||
|
ZFILE="$TITLE.mp4"
|
||||||
|
|
||||||
################################################################################
|
############################################################################
|
||||||
### ADAPT TO TW RYTHM (DELAY COPY?)
|
### CHECK RESULT CONVERT MKV TO MP4
|
||||||
echo
|
[[ -s "${HOME}/.zen/tmp/yt-dlp/$TITLE.mkv" ]] \
|
||||||
ZFILE="$TITLE.mp4"
|
&& ffmpeg -loglevel quiet -i "${HOME}/.zen/tmp/yt-dlp/$TITLE.mkv" -c:v libx264 -c:a aac "${HOME}/.zen/tmp/yt-dlp/$TITLE.mp4" \
|
||||||
|
&& rm "${HOME}/.zen/tmp/yt-dlp/$TITLE.mkv"
|
||||||
|
|
||||||
############################################################################
|
if [[ ! -s "${HOME}/.zen/tmp/yt-dlp/${ZFILE}" ]]; then
|
||||||
### CHECK RESULT CONVERT MKV TO MP4
|
echo "No FILE -- TRYING TO RESTORE CACHE FROM TW -- ${ZFILE}"
|
||||||
[[ -s "${HOME}/.zen/tmp/yt-dlp/$TITLE.mkv" ]] \
|
tiddlywiki --load ${INDEX} \
|
||||||
&& ffmpeg -loglevel quiet -i "${HOME}/.zen/tmp/yt-dlp/$TITLE.mkv" -c:v libx264 -c:a aac "${HOME}/.zen/tmp/yt-dlp/$TITLE.mp4" \
|
--output ~/.zen/game/players/${PLAYER}/G1CopierYoutube \
|
||||||
&& rm "${HOME}/.zen/tmp/yt-dlp/$TITLE.mkv"
|
--render '.' "$YID.TW.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${ZFILE}"
|
||||||
|
|
||||||
if [[ ! -s "${HOME}/.zen/tmp/yt-dlp/${ZFILE}" ]]; then
|
if [[ -s ~/.zen/game/players/${PLAYER}/G1CopierYoutube/${YID}.TW.json ]]; then
|
||||||
echo "No FILE -- TRYING TO RESTORE CACHE FROM TW -- ${ZFILE}"
|
rm "${HOME}/.zen/game/players/${PLAYER}/G1CopierYoutube/${ZFILE}.json" 2>/dev/null
|
||||||
tiddlywiki --load ${INDEX} \
|
cd ${HOME}/.zen/game/players/${PLAYER}/G1CopierYoutube/
|
||||||
--output ~/.zen/game/players/${PLAYER}/G1CopierYoutube \
|
ln -s "./${YID}.TW.json" "${ZFILE}.json"
|
||||||
--render '.' "$YID.TW.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${ZFILE}"
|
cd -
|
||||||
|
else
|
||||||
|
## REMOVE FILE FROM .yt-dlp.list - RETRY NEXT TIME
|
||||||
|
grep -v -- "$YID" ${HOME}/.zen/.yt-dlp.list > /tmp/.yt-dlp.list
|
||||||
|
mv /tmp/.yt-dlp.list ${HOME}/.zen/.yt-dlp.list
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -s ~/.zen/game/players/${PLAYER}/G1CopierYoutube/${YID}.TW.json ]]; then
|
continue
|
||||||
rm "${HOME}/.zen/game/players/${PLAYER}/G1CopierYoutube/${ZFILE}.json" 2>/dev/null
|
|
||||||
cd ${HOME}/.zen/game/players/${PLAYER}/G1CopierYoutube/
|
|
||||||
ln -s "./${YID}.TW.json" "${ZFILE}.json"
|
|
||||||
cd -
|
|
||||||
else
|
|
||||||
## REMOVE FILE FROM .yt-dlp.list - RETRY NEXT TIME
|
|
||||||
grep -v -- "$YID" ${HOME}/.zen/.yt-dlp.list > /tmp/.yt-dlp.list
|
|
||||||
mv /tmp/.yt-dlp.list ${HOME}/.zen/.yt-dlp.list
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
continue
|
else
|
||||||
|
# copying mp3
|
||||||
|
echo "TODO..."
|
||||||
|
/usr/local/bin/yt-dlp -q -x --no-mtime --audio-format mp3 --embed-thumbnail --add-metadata \
|
||||||
|
$BROWSER \
|
||||||
|
--download-archive ${HOME}/.zen/.yt-dlp.list \
|
||||||
|
-o "$HOME/Astroport/${PLAYER}/mp3/%(autonumber)s_%(title)s.%(ext)s" "${ZYURL}"
|
||||||
|
|
||||||
|
ZFILE="$TITLE.mp3"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
@ -181,12 +197,12 @@ if [[ ! ${TIDDLER} ]]; then
|
||||||
[[ ! $FILE_BSIZE ]] && echo "SIZE ERROR" && continue
|
[[ ! $FILE_BSIZE ]] && echo "SIZE ERROR" && continue
|
||||||
FILE_SIZE=$(echo "${FILE_BSIZE}" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }')
|
FILE_SIZE=$(echo "${FILE_BSIZE}" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }')
|
||||||
echo "$boucle - ${ZFILE} - FILE SIZE = $FILE_SIZE ($FILE_BSIZE octets)"
|
echo "$boucle - ${ZFILE} - FILE SIZE = $FILE_SIZE ($FILE_BSIZE octets)"
|
||||||
|
echo
|
||||||
espeak "GOOD! Video Number $boucle = $FILE_SIZE" > /dev/null 2>&1
|
|
||||||
|
|
||||||
|
|
||||||
### CREATE GIF ANIM : make_video_gifanim_ipfs.sh
|
### CREATE GIF ANIM : make_video_gifanim_ipfs.sh
|
||||||
$(${MY_PATH}/../tools/make_video_gifanim_ipfs.sh "${HOME}/.zen/tmp/yt-dlp" "${ZFILE}" | tail -n 1) ## export ANIMH
|
[[ ${isMP3} == "" ]] \
|
||||||
|
&& $(${MY_PATH}/../tools/make_video_gifanim_ipfs.sh "${HOME}/.zen/tmp/yt-dlp" "${ZFILE}" | tail -n 1) ## export ANIMH
|
||||||
|
|
||||||
echo "HOP=$HOP
|
echo "HOP=$HOP
|
||||||
ANIMH=$ANIMH
|
ANIMH=$ANIMH
|
||||||
PROBETIME=$PROBETIME
|
PROBETIME=$PROBETIME
|
||||||
|
@ -211,14 +227,22 @@ if [[ ! ${TIDDLER} ]]; then
|
||||||
CHANNEL=$(/usr/local/bin/yt-dlp $BROWSER --print "%(channel)s" "${ZYURL}" | sed -r 's/\<./\U&/g' | sed 's/ //g') # CapitalGluedWords
|
CHANNEL=$(/usr/local/bin/yt-dlp $BROWSER --print "%(channel)s" "${ZYURL}" | sed -r 's/\<./\U&/g' | sed 's/ //g') # CapitalGluedWords
|
||||||
PLAYLIST=$(/usr/local/bin/yt-dlp $BROWSER --print "%(playlist)s" "${ZYURL}" | sed -r 's/\<./\U&/g' | sed 's/ //g')
|
PLAYLIST=$(/usr/local/bin/yt-dlp $BROWSER --print "%(playlist)s" "${ZYURL}" | sed -r 's/\<./\U&/g' | sed 's/ //g')
|
||||||
EXTRATAG="$CHANNEL $PLAYLIST"
|
EXTRATAG="$CHANNEL $PLAYLIST"
|
||||||
|
|
||||||
|
if [[ ${isMP3} == "" ]]; then
|
||||||
## PREPARE VIDEO HTML5 CODE
|
## PREPARE VIDEO HTML5 CODE
|
||||||
TEXT="<video controls width=100% poster='/ipfs/"${ANIMH}"'>
|
TEXT="<video controls width=100% poster='/ipfs/"${ANIMH}"'>
|
||||||
<source src='/ipfs/"${ILINK}"' type='"${MIME}"'>
|
<source src='/ipfs/"${ILINK}"' type='"${MIME}"'>
|
||||||
</video>
|
</video>
|
||||||
<br>
|
<br>
|
||||||
{{!!filesize}} - {{!!duration}} sec. - vtratio(dur) = {{!!vtratio}} ({{!!dur}})
|
{{!!filesize}} - {{!!duration}} sec. - vtratio(dur) = {{!!vtratio}} ({{!!dur}})
|
||||||
<br>
|
<br>
|
||||||
<h1><a href='"${ZYURL}"'>"${TITLE}"</a></h1>"
|
<h1><a href='"${ZYURL}"'>"${TITLE}"</a></h1>"
|
||||||
|
else
|
||||||
|
TEXT="<audio controls>
|
||||||
|
<source src='/ipfs/"${ILINK}"' type='"${MIME}"'>
|
||||||
|
Your browser does not support the audio element.
|
||||||
|
</audio>"
|
||||||
|
fi
|
||||||
|
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
dur=`expr $end - $start`
|
dur=`expr $end - $start`
|
||||||
|
|
Loading…
Reference in New Issue