Copie Youtube = Video/MP3 youtube-dl
This commit is contained in:
parent
f5d32d76a0
commit
c13eb2d6ea
|
@ -82,12 +82,41 @@ case ${PREFIX} in
|
||||||
########################################################################
|
########################################################################
|
||||||
Y)
|
Y)
|
||||||
|
|
||||||
[[ ! -d ~/astroport/youtube ]] && mkdir -p ~/astroport/youtube
|
|
||||||
YTURL=$(zenity --entry --width 300 --title "Lien ou identifiant à copier" --text "Copiez le lien (URL) ou l'ID de la vidéo" --entry-text="")
|
YTURL=$(zenity --entry --width 300 --title "Lien ou identifiant à copier" --text "Copiez le lien (URL) ou l'ID de la vidéo" --entry-text="")
|
||||||
[[ $YTURL == "" ]] && exit 1
|
[[ $YTURL == "" ]] && exit 1
|
||||||
|
|
||||||
youtube-dl --no-mtime -o "~/astroport/youtube/%(id)s_%(title)s.%(ext)s" $YTURL
|
# Create TEMP directory
|
||||||
|
YTEMP="/tmp/$(date -u +%s%N | cut -b1-13)"
|
||||||
|
mkdir -p ${YTEMP}
|
||||||
|
CONVERT=$(zenity --question --width 300 --title "Convertir en MP3 ?" --text "Voulez-vous convertir la vidéo en mp3?" )
|
||||||
|
|
||||||
|
# youtube-dl $YTURL
|
||||||
|
if [ $? == 1 ]; then
|
||||||
|
echo "VIDEO"
|
||||||
|
/usr/local/bin/youtube-dl -f '[height=720]/best' \
|
||||||
|
--write-info-json --write-annotations \
|
||||||
|
--no-mtime -o "${YTEMP}/%(id)s_%(title)s.%(ext)s" $YTURL
|
||||||
|
inpath="youtube"
|
||||||
|
else
|
||||||
|
echo "MP3"
|
||||||
|
/usr/local/bin/youtube-dl -x --audio-format mp3 \
|
||||||
|
--write-info-json --add-metadata --embed-thumbnail \
|
||||||
|
--no-mtime -o "${YTEMP}/%(id)s_%(title)s.%(ext)s" $YTURL
|
||||||
|
inpath="mp3"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get filename, extract ID, make destination dir and move copy.
|
||||||
|
YFILE=$(ls -t ${YTEMP} | head -n 1)
|
||||||
|
YID=$(echo "${YFILE}" | cut -d "_" -f 1)
|
||||||
|
|
||||||
|
FILE_PATH="$HOME/astroport/$inpath/$YID"
|
||||||
|
mkdir -p ${FILE_PATH} && mv ${YTEMP}/* ${FILE_PATH}/
|
||||||
|
|
||||||
|
FILE_NAME="$(basename "${YFILE}")"
|
||||||
|
TMDB=$YID
|
||||||
|
|
||||||
|
rm -Rf ${YTEMP}
|
||||||
|
echo "DONE" && exit 1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -195,12 +224,14 @@ echo "${CAT};$TMDB;$YEAR;$TITLE;$SAISON;${GENRES};${GROUPES};$RES;/ipfs/_IPFSREP
|
||||||
|
|
||||||
mv "${FILE_PATH}/${FILE_NAME}" ~/astroport/${CAT}/${TMDB}/ && zenity --warning --width ${large} --text "Votre fichier est prêt ~/astroport/${CAT}/${TMDB}/${FILE_NAME} à embarquer. Cliquez sur OK puis patientez quelques minutes..."
|
mv "${FILE_PATH}/${FILE_NAME}" ~/astroport/${CAT}/${TMDB}/ && zenity --warning --width ${large} --text "Votre fichier est prêt ~/astroport/${CAT}/${TMDB}/${FILE_NAME} à embarquer. Cliquez sur OK puis patientez quelques minutes..."
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# ADD $FILE to IPFS / ASTROPORT / KODI
|
# ADD $FILE to IPFS / ASTROPORT / KODI
|
||||||
|
########################################################################
|
||||||
~/.zen/astrXbian/zen/new_file_in_astroport.sh "$HOME/astroport/${CAT}/${TMDB}/" "${FILE_NAME}"
|
~/.zen/astrXbian/zen/new_file_in_astroport.sh "$HOME/astroport/${CAT}/${TMDB}/" "${FILE_NAME}"
|
||||||
########################################################################
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
|
||||||
zenity --warning --width 300 --text "OK! Vidéo $FILE_NAME transférée dans Kodi/Vstream/Astroport"
|
zenity --warning --width 300 --text "OK! Vidéo $FILE_NAME transférée dans Kodi/Vstream/Astroport"
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
|
@ -34,20 +34,25 @@ TITLE="${file%.*}"
|
||||||
|
|
||||||
# GET XZUID
|
# GET XZUID
|
||||||
[[ -f ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title ]] && XZUID=$(cat ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title) || XZUID=$(hostname)
|
[[ -f ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title ]] && XZUID=$(cat ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title) || XZUID=$(hostname)
|
||||||
[[ ! $(echo "$path" | cut -d '/' -f 4 | grep 'astroport') ]] && echo "Fichiers à placer dans ~/astroport/ MERCI" && exit 1
|
[[ ! $(echo "$path" | cut -d '/' -f 4 | grep 'astroport') ]] && echo "Les fichiers sont à placer dans ~/astroport/ MERCI" && exit 1
|
||||||
TYPE=$(echo "$path" | cut -d '/' -f 5 ) # ex: /home/$YOU/astroport/... film, youtube, mp3
|
TYPE=$(echo "$path" | cut -d '/' -f 5 ) # ex: /home/$YOU/astroport/... film, youtube, mp3
|
||||||
CAT=$(echo "$TYPE" | awk '{ print tolower($0) }')
|
CAT=$(echo "$TYPE" | awk '{ print tolower($0) }')
|
||||||
[[ ! $CAT ]] && echo "CAT est le 5e champs de $path" && exit 1
|
[[ ! $CAT ]] && echo "CAT est le 5e sous-répertoire de $path" && exit 1
|
||||||
|
|
||||||
PREFIX=$(echo "$TYPE" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, Y, M
|
PREFIX=$(echo "$TYPE" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, Y, M ou Y
|
||||||
|
if [[ "$PREFIX" == "Y" ]]; then
|
||||||
TMDB=$(echo "$path" | cut -d '/' -f 6 )
|
INDEXPREFIX="YOUTUBE_"
|
||||||
[ "$TMDB" -ne "$TMDB" ] && echo "ERROR: $path BAD TMDB code. Get it from https://www.themoviedb.org/ " && exit 1 # $TMDB NOT A NUMBER
|
REFERENCE=$(echo "$file" | cut -d "_" -f 1) # Youtube filename starts with ID_
|
||||||
|
else
|
||||||
|
INDEXPREFIX="TMDB_"
|
||||||
|
REFERENCE=$(echo "$path" | cut -d '/' -f 6 ) # Contains TMDB id
|
||||||
|
[ "${REFERENCE}" -ne "${REFERENCE}" ] && echo "ERROR: $path BAD TMDB code. Get it from https://www.themoviedb.org/ " && exit 1 # ${REFERENCE} NOT A NUMBER
|
||||||
|
fi
|
||||||
|
|
||||||
# File is placed in ROOT ~/astroport ?
|
# File is placed in ROOT ~/astroport ?
|
||||||
[[ $PREFIX == "" ]] && echo "WARNING. $TYPE is root file UNTREATED" && exit 1
|
[[ $PREFIX == "" ]] && echo "WARNING. $TYPE is root file UNTREATED" && exit 1
|
||||||
|
|
||||||
echo "ADDING ${path}${file} to IPFS and ${PREFIX}ASTRXBIAN INDEX"
|
echo "ADDING ${path}${file} to IPFS and create ${PREFIX}ASTRXBIAN INDEX"
|
||||||
echo "~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN"
|
echo "~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN"
|
||||||
echo "-----------------------------------------------------------------"
|
echo "-----------------------------------------------------------------"
|
||||||
|
|
||||||
|
@ -62,27 +67,33 @@ echo "New $TYPE INDEX ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX
|
||||||
URLENCODE_FILE_NAME=$(echo ${file} | jq -Rr @uri)
|
URLENCODE_FILE_NAME=$(echo ${file} | jq -Rr @uri)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
## CREATE NEW ipns KEY : TMDB_$TMDB
|
## CREATE NEW ipns KEY : ${INDEXPREFIX}${REFERENCE}
|
||||||
########################################################################
|
########################################################################
|
||||||
########################################################################
|
########################################################################
|
||||||
[[ ! -d ~/.zen/KEY/TMDB_$TMDB/${G1PUB} ]] && mkdir -p ~/.zen/KEY/TMDB_$TMDB/${G1PUB} && KEY=$(ipfs key gen "TMDB_$TMDB") && KEYFILE=$(ls -t ~/.ipfs/keystore/ | head -n 1)
|
[[ ! -d ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB} ]] && mkdir -p ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB} && KEY=$(ipfs key gen "${INDEXPREFIX}${REFERENCE}") && KEYFILE=$(ls -t ~/.ipfs/keystore/ | head -n 1)
|
||||||
## INIT ipns
|
## INIT ipns
|
||||||
if [[ $KEY ]]; then
|
if [[ $KEY ]]; then
|
||||||
echo "$KEYFILE" > ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/.ipns.key.keystore_filename
|
# memorize IPNS key filename for easiest exchange
|
||||||
echo "$KEY" > ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/.ipns.link
|
echo "$KEYFILE" > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.ipns.key.keystore_filename
|
||||||
touch ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/.zen
|
# Publishing IPNS key
|
||||||
echo "/ipfs/$IPFSREPFILEID/${file}" > ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/.ipfs.filelink
|
echo "$KEY" > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.ipns.link
|
||||||
mv ~/astroport/${CAT}/${TMDB}/ajouter_video.txt ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/
|
# .zen could contain ZEN for economic value
|
||||||
# echo "<meta http-equiv=\"Refresh\" content=\"0;URL=http://localhost:8181/ipns/$KEY/TMDB_$TMDB/${G1PUB}/\">" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/TMDB_$TMDB/ipns.html
|
touch ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.zen
|
||||||
# TRY NATOOLS FOR SECURE SHARING # $MY_PATH/jaklis/lib/natools.py encrypt -k $G1PUB -i ~/.ipfs/keystore/$KEYFILE -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/TMDB_$TMDB/.ipns.key.encrypt.natools
|
# CLEAR ipfs link (is then cyphered to manage exchange regulation)
|
||||||
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i ~/.ipfs/keystore/$KEYFILE -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/TMDB_$TMDB/.ipns.key.natools.encrypt
|
echo "/ipfs/$IPFSREPFILEID/${file}" > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.ipfs.filelink
|
||||||
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/.ipfs.filelink -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/TMDB_$TMDB/.ipfs.filelink.natools.encrypt
|
# TRANSFERT from ajouter_video.sh "ajouter_video.txt" later used line 118
|
||||||
rm ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/.ipfs.filelink
|
mv ~/astroport/${CAT}/${TMDB}/ajouter_video.txt ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/
|
||||||
|
# echo "<meta http-equiv=\"Refresh\" content=\"0;URL=http://localhost:8181/ipns/$KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/\">" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/ipns.html
|
||||||
|
# TRY NATOOLS FOR SECURE SHARING # $MY_PATH/jaklis/lib/natools.py encrypt -k $G1PUB -i ~/.ipfs/keystore/$KEYFILE -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/.ipns.key.encrypt.natools
|
||||||
|
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i ~/.ipfs/keystore/$KEYFILE -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/.ipns.key.natools.encrypt
|
||||||
|
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.ipfs.filelink -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/.ipfs.filelink.natools.encrypt
|
||||||
|
rm ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.ipfs.filelink
|
||||||
fi
|
fi
|
||||||
# IPNS index.html Redirect to ipfs streaming link (could be contract or anything !!)
|
# IPNS index.html Redirect to ipfs streaming link (could be contract or anything !!)
|
||||||
echo "<meta http-equiv=\"Refresh\" content=\"0;URL=http://localhost:8181/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME\">" > ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/index.html
|
echo "<meta http-equiv=\"Refresh\" content=\"0;URL=http://localhost:8181/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME\">" > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/index.html
|
||||||
NEWIPFS=$(ipfs add -rHq ~/.zen/KEY/TMDB_$TMDB/ | tail -n 1 )
|
echo "<h1>REJOIGNEZ <a href='https://astroport.com'>ASTROPORT</a>/KODI</h1>" > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/index.html
|
||||||
ipfs name publish --key="TMDB_$TMDB" $NEWIPFS
|
NEWIPFS=$(ipfs add -rHq ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/ | tail -n 1 )
|
||||||
|
ipfs name publish --key="${INDEXPREFIX}${REFERENCE}" $NEWIPFS
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -104,7 +115,7 @@ if [[ ! $isFILEinINDEX && ! $isLINKinINDEX ]]; then
|
||||||
touch ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/$G1PUB
|
touch ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/$G1PUB
|
||||||
# SIMILAR with "ipfs ls /ipns/${IPFSNODEID}/.${IPFSNODEID}/PIN/ (...)"
|
# SIMILAR with "ipfs ls /ipns/${IPFSNODEID}/.${IPFSNODEID}/PIN/ (...)"
|
||||||
# TODO: switch case $PREFIX
|
# TODO: switch case $PREFIX
|
||||||
[[ -f ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/ajouter_video.txt ]] && line=$(cat ~/.zen/KEY/TMDB_$TMDB/${G1PUB}/ajouter_video.txt | sed "s/_IPFSREPFILEID_/$IPFSREPFILEID/g") || line="$CAT;$TMDB;$YEAR;$TITLE;$SAISON;;${XZUID};$RES;/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME"
|
[[ -f ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/ajouter_video.txt ]] && line=$(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/ajouter_video.txt | sed "s/_IPFSREPFILEID_/$IPFSREPFILEID/g") || line="$CAT;${REFERENCE};$YEAR;$TITLE;$SAISON;;${XZUID};$RES;/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME"
|
||||||
echo "$line" >> ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
|
echo "$line" >> ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
|
||||||
else
|
else
|
||||||
if [[ $isFILEinMYINDEX ]]; then
|
if [[ $isFILEinMYINDEX ]]; then
|
||||||
|
@ -132,3 +143,4 @@ echo "--------------- KODI INDEX UPDATED ----------------------"
|
||||||
echo "NEW $TYPE ($file) ADDED."
|
echo "NEW $TYPE ($file) ADDED."
|
||||||
echo "INDEX UPDATED : http://127.0.0.1:8181/ipns/${IPFSNODEID}/.${IPFSNODEID}/${PREFIX}ASTRXBIAN"
|
echo "INDEX UPDATED : http://127.0.0.1:8181/ipns/${IPFSNODEID}/.${IPFSNODEID}/${PREFIX}ASTRXBIAN"
|
||||||
echo "VIDEO IPNS LINK : http://localhost:8181/ipns/$KEY/$G1PUB/"
|
echo "VIDEO IPNS LINK : http://localhost:8181/ipns/$KEY/$G1PUB/"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue