cleaner faster

This commit is contained in:
fred 2022-04-02 02:43:24 +02:00
parent c25b815804
commit e113e08566
3 changed files with 59 additions and 97 deletions

View File

@ -1,32 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>_PSEUDO_ VIDEO BUNKER - Astroport powered</title>
<link rel="stylesheet" href="_IPFSROOT_/styles/decoration.css" type="text/css" />
<link rel="stylesheet" href="_IPFSROOT_/styles/layout.css" type="text/css" />
<link rel="icon" type="image/png" href="_IPFSROOT_/styles/logo.png" />
</head>
<body>
<header>
<h6>
<a href="https://qo-op.com">Bunker "<span>BOX</span>"</a> _PSEUDO_
</h6>
</header>
<main>
<article>
<video autoplay="autoplay" controls>
<source src="_IPFSID_/output.mp4" type="video/mp4">
<a href="_IPFSID_/output.mp4">Ma Video</a>
</video>
<h1 class="video-title">
Enregistrement du _DATE_
</h1>
</article>
</main>
</body>
</html>

View File

@ -1,6 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>_PSEUDO_ [IPFS Bunker BOX]</title>
<link rel="stylesheet" href="_IPFSROOT_/styles/video-js.css" type="text/css" />
<link rel="stylesheet" href="_IPFSROOT_/styles/forest.css" type="text/css" />
@ -11,23 +12,23 @@
<body>
<header>
<h6>
<a href="https://astroport.com">Bunker "<span>BOX</span>"</a> _PSEUDO_
<a href="https://astroport.com"> "<span>Bunker BOX</span>"</a> powered by <span>"</span>Astroport<span>"</span>
</h6>
</header>
<main>
<article>
<video
id="my-video"
id="_HLS_"
class="video-js vjs-theme-forest"
controls
preload="auto"
width="640"
height="360"
poster="MY_VIDEO_POSTER.jpg"
poster="_IPFSROOT_/styles/logo.png"
data-setup="{}"
>
<source src="_HLS_" type="application/x-mpegURL" />
<source src="_IPFSROOT_/_HLS_" type="application/x-mpegURL" />
<p class="vjs-no-js">
Activer JavaScript SVP
</p>
@ -44,7 +45,7 @@
<script src="_IPFSROOT_/js/videojs-contrib-hls.min.js"></script>
<script>
var player = videojs('my-video');
var player = videojs('_HLS_');
player.play();
</script>

View File

@ -15,7 +15,7 @@ isLAN=$(hostname -I | awk '{print $1}' | head -n 1 | cut -f3 -d '/' | grep -E "(
# Fred MadeInZion, [20/03/2022 23:03]
# Script qui capture et transfert dans IPFS les vidéos de https://crowdbunker.com/
IPFSGWESC="https:\/\/tube.copylaradio.com" && IPFSNGW="https://tube.copylaradio.com"
IPFSGWESC="http:\/\/localhost:8080" && IPFSNGW="http://localhost:8080"
IPFSGWESC="http:\/\/127.0.0.1:8080" && IPFSNGW="http://127.0.0.1:8080"
[[ ! $isLAN ]] && IPFSGWESC="https:\/\/$(hostname)" && IPFSNGW="https://$(hostname)"
@ -27,73 +27,70 @@ curl -s $VWALLURL -H "Accept: application/json" > /tmp/crowd.json
## LOOP THROUGH
for VUID in $(cat /tmp/crowd.json | jq -r '.posts | .[] | .video.id'); do
start=`date +%s`
[[ "$VUID" == "null" ]] && echo "MESSAGE... Bypassing..." && echo && continue
echo "Bunker BOX : Adding $VUID"
mkdir -p /tmp/$VUID/media
URL="https://api.crowdbunker.com/post/$VUID/details"
echo "WISHING TO EXPLORE $URL ?"; read TEST; [[ "$TEST" != "" ]] && echo && continue
# echo "WISHING TO EXPLORE $URL ?"; read TEST; [[ "$TEST" != "" ]] && echo && continue
curl -s $URL -H "Accept: application/json" -o /tmp/$VUID/$VUID.json
# STREAMING LIVE ?
echo ">>> Extracting video caracteristics from /tmp/$VUID/$VUID.json"
ISLIVE=$(cat /tmp/$VUID/$VUID.json | jq -r .video.isLiveType)&& [[ "$ISLIVE" == "true" ]] && echo "LIVE... "
LIVE=$(cat /tmp/$VUID/$VUID.json | jq -r .video.isLiveActive) && [[ "$LIVE" == "true" ]] && echo "STREAMING... Bypassing..." && echo && continue
DURATION=$(cat /tmp/$VUID/$VUID.json | jq -r .video.duration) && [[ $DURATION == 0 ]] && echo "NOT STARTED YET" && echo && continue
TITLE=$(cat /tmp/$VUID/$VUID.json | jq -r .video.title) && echo "$TITLE"
echo "Extracting video.hlsManifest.url from /tmp/$VUID/$VUID.json"
TITLE=$(cat /tmp/$VUID/$VUID.json | jq -r .video.title)
HLS=$(cat /tmp/$VUID/$VUID.json | jq -r .video.hlsManifest.url)
MEDIASOURCE=$(echo $HLS | rev | cut -d '/' -f 2- | rev)
echo "HLS=$HLS"
echo "$TITLE ($DURATION s)"
echo "$HLS"
echo "READY TO PROCESS ?... $DURATION s"; read TEST; [[ "$TEST" != "" ]] && echo && continue
echo "READY TO PROCESS ?"; read TEST; [[ "$TEST" != "" ]] && echo && continue
curl -s $HLS -o /tmp/$VUID/$VUID.m3u8
cat /tmp/$VUID/$VUID.m3u8
echo ">>>>>>>>>>>>>>>> Downloading VIDEO"
start=`date +%s`
# Choose 360p or 480p or 240p
VIDEOHEAD=$(cat /tmp/$VUID/$VUID.m3u8 | grep -B1 360p | head -n 1)
VIDEOSRC=$(cat /tmp/$VUID/$VUID.m3u8 | grep 360p | tail -n 1 | cut -f 1 -d '.')
[[ "$VIDEOSRC" == "" ]] && VIDEOHEAD=$(cat /tmp/$VUID/$VUID.m3u8 | grep -B1 480p | head -n 1) && VIDEOSRC=$(cat /tmp/$VUID/$VUID.m3u8 | grep 480p | tail -n 1 | cut -f 1 -d '.') #New try with 480p
[[ "$VIDEOSRC" == "" ]] && VIDEOHEAD=$(cat /tmp/$VUID/$VUID.m3u8 | grep -B1 240p | head -n 1) && VIDEOSRC=$(cat /tmp/$VUID/$VUID.m3u8 | grep 240p | tail -n 1 | cut -f 1 -d '.') #New try with 240p
echo "VIDEOSRC=$MEDIASOURCE/$VIDEOSRC"
[[ ! -f /tmp/$VUID/media/$VIDEOSRC.m3u8 ]] && curl -s $MEDIASOURCE/$VIDEOSRC.m3u8 -o /tmp/$VUID/$VIDEOSRC.m3u8
# Downloading Video m3u8 and Video
[[ ! -f /tmp/$VUID/media/$VIDEOSRC.m3u8 ]] && curl -s $MEDIASOURCE/$VIDEOSRC.m3u8 -o /tmp/$VUID/media/$VIDEOSRC.m3u8
[[ ! -f /tmp/$VUID/media/$VIDEOSRC ]] && curl $MEDIASOURCE/$VIDEOSRC -o /tmp/$VUID/media/$VIDEOSRC
IPFSVID=$(ipfs add -wrHq /tmp/$VUID/media/$VIDEOSRC | tail -n 1) ## ADD VIDEO TO IPFS
echo "VIDEO = $IPFSNGW/ipfs/$IPFSVID/$VIDEOSRC"
end=`date +%s`; echo `expr $end - $start` seconds.
# IPFSVID=$(ipfs add -wrHq /tmp/$VUID/media/$VIDEOSRC | tail -n 1) ## ADD VIDEO TO IPFS
# echo "VIDEO = $IPFSNGW/ipfs/$IPFSVID/$VIDEOSRC"
echo ">>>>>>>>>>>>>>>> Downloading AUDIO"
start=`date +%s`
AUDIOLINE=$(cat /tmp/$VUID/$VUID.m3u8 | grep '=AUDIO')
AUDIOFILE=$(echo $AUDIOLINE | rev | cut -d '.' -f 2- | cut -d '"' -f 1 | rev)
echo "AUDIO=$MEDIASOURCE/$AUDIOFILE"
[[ ! -f /tmp/$VUID/media/$AUDIOFILE.m3u8 ]] && curl -s $MEDIASOURCE/$AUDIOFILE.m3u8 -o /tmp/$VUID/$AUDIOFILE.m3u8
# Downloading Audio m3u8 and Audio
[[ ! -f /tmp/$VUID/media/$AUDIOFILE.m3u8 ]] && curl -s $MEDIASOURCE/$AUDIOFILE.m3u8 -o /tmp/$VUID/media/$AUDIOFILE.m3u8
[[ ! -f /tmp/$VUID/media/$AUDIOFILE ]] && curl $MEDIASOURCE/$AUDIOFILE -o /tmp/$VUID/media/$AUDIOFILE
IPFSAUD=$(ipfs add -wrHq /tmp/$VUID/media/$AUDIOFILE | tail -n 1) ## ADD AUDIO TO IPFS
echo "AUDIO = $IPFSNGW/ipfs/$IPFSAUD/$AUDIOFILE"
end=`date +%s`; echo `expr $end - $start` seconds.
# IPFSAUD=$(ipfs add -wrHq /tmp/$VUID/media/$AUDIOFILE | tail -n 1) ## ADD AUDIO TO IPFS
# echo "AUDIO = $IPFSNGW/ipfs/$IPFSAUD/$AUDIOFILE"
echo ">>>>>>>>>>>>>>>> VIDEO & AUDIO M3U8 IPFS LINKING"
#echo "s/$VIDEOSRC/$IPFSGWESC\/ipfs\/$IPFSVID\/$VIDEOSRC/g"
sed -i "s/$VIDEOSRC/$IPFSGWESC\/ipfs\/$IPFSVID\/$VIDEOSRC/g" /tmp/$VUID/$VIDEOSRC.m3u8
echo "cat /tmp/$VUID/$VIDEOSRC.m3u8"
# sed -i "s/$VIDEOSRC/$IPFSGWESC\/ipfs\/$IPFSVID\/$VIDEOSRC/g" /tmp/$VUID/$VIDEOSRC.m3u8
# echo "cat /tmp/$VUID/$VIDEOSRC.m3u8"
#echo "s/$AUDIOFILE/$IPFSGWESC\/ipfs\/$IPFSAUD\/$AUDIOFILE/g"
sed -i "s/$AUDIOFILE/$IPFSGWESC\/ipfs\/$IPFSAUD\/$AUDIOFILE/g" /tmp/$VUID/$AUDIOFILE.m3u8
echo "cat /tmp/$VUID/$AUDIOFILE.m3u8"
# sed -i "s/$AUDIOFILE/$IPFSGWESC\/ipfs\/$IPFSAUD\/$AUDIOFILE/g" /tmp/$VUID/$AUDIOFILE.m3u8
# echo "cat /tmp/$VUID/$AUDIOFILE.m3u8"
echo "Adding M3U8 to IPFS"
start=`date +%s`
IPFSVIDM3U8=$(ipfs add -wrHq /tmp/$VUID/$VIDEOSRC.m3u8 | tail -n 1) ## ADD VIDEO.m3u8 TO IPFS
IPFSAUDM3U8=$(ipfs add -wrHq /tmp/$VUID/$AUDIOFILE.m3u8 | tail -n 1) ## ADD AUDIO.m3u8 TO IPFS
end=`date +%s`; echo `expr $end - $start` seconds.
# echo "Adding M3U8 to IPFS"
# IPFSVIDM3U8=$(ipfs add -wrHq /tmp/$VUID/$VIDEOSRC.m3u8 | tail -n 1) ## ADD VIDEO.m3u8 TO IPFS
# IPFSAUDM3U8=$(ipfs add -wrHq /tmp/$VUID/$AUDIOFILE.m3u8 | tail -n 1) ## ADD AUDIO.m3u8 TO IPFS
echo ">>>>>>>>>>>>>>>> CREATING MAIN M3U8"
echo ">>>>>>>>>>>>>>>> CREATING NEW M3U8"
echo "#EXTM3U
#EXT-X-VERSION:6
#EXT-X-INDEPENDENT-SEGMENTS
@ -101,47 +98,43 @@ for VUID in $(cat /tmp/crowd.json | jq -r '.posts | .[] | .video.id'); do
$AUDIOLINE
$VIDEOHEAD
$IPFSNGW/ipfs/$IPFSVIDM3U8/$VIDEOSRC.m3u8
$VIDEOSRC.m3u8
" > /tmp/$VUID/$VUID.m3u8
" > /tmp/$VUID/media/$VUID.m3u8
sed -i "s/$AUDIOFILE.m3u8/$IPFSGWESC\/ipfs\/$IPFSAUDM3U8\/$AUDIOFILE.m3u8/g" /tmp/$VUID/$VUID.m3u8
# sed -i "s/$AUDIOFILE.m3u8/$IPFSGWESC\/ipfs\/$IPFSAUDM3U8\/$AUDIOFILE.m3u8/g" /tmp/$VUID/$VUID.m3u8
echo "FINAL IPFS"
IPFSM3U8=$(ipfs add -wrHq /tmp/$VUID/$VUID.m3u8 | tail -n 1)
VMAIN="$IPFSNGW/ipfs/$IPFSM3U8/$VUID.m3u8"
echo $VMAIN
##########################################################################
echo ">>>>>>>>>>>>>>>> CREATE index.html"
# COPY index, style AND js
cp -Rv ${MY_PATH}/../templates/styles /tmp/$VUID/media/
cp -Rv ${MY_PATH}/../templates/js /tmp/$VUID/media/
cp -v ${MY_PATH}/../templates/videojs.html /tmp/$VUID/media/index.html
sed -i s/_DATE_/$(date -u "+%Y-%m-%d#%H:%M:%S")/g /tmp/$VUID/media/index.html
sed -i "s~_PSEUDO_~$TITLE~g" /tmp/$VUID/media/index.html
echo "ipfs add -rwH /tmp/$VUID/media/* "
IPFSROOT=$(ipfs add -rwHq /tmp/$VUID/media/* | tail -n 1)
# Change CSS path to
sed -i "s/_IPFSROOT_/\/ipfs\/$IPFSROOT/g" /tmp/$VUID/media/index.html
sed -i "s/_HLS_/$VUID.m3u8/g" /tmp/$VUID/media/index.html
INDEX=$(ipfs add -rwHq /tmp/$VUID/media/index.html | tail -n 1)
echo "VIDEO PLAYER : $IPFSNGW/ipfs/$INDEX"
echo ">>>>>>>>>>>>>>>> UPDATING HLS in json"
cat /tmp/$VUID/$VUID.json | jq ".video.hlsManifest.url = \"$VMAIN\"" > /tmp/$VUID/z_$VUID.json
VMAIN="/ipfs/$IPFSROOT/$VUID.m3u8"
echo "M3U8 CELL $IPFSNGW$VMAIN"
cat /tmp/$VUID/$VUID.json | jq ".video.hlsManifest.url = \"$VMAIN\"" > /tmp/$VUID/$VUID.json
##########################################################################
echo ">>>>>>>>>>>>>>>> JOIN MP4 & PUBLISH INDEX"
# CONVERT TO MP4
# echo "ffmpeg -i /tmp/$VUID/media/$VIDEOSRC -i /tmp/$VUID/media/$AUDIOFILE -shortest /tmp/$VUID/media/output.mp4"
# [[ ! -f /tmp/$VUID/media/output.mp4 ]] && ffmpeg -i /tmp/$VUID/media/$VIDEOSRC -i /tmp/$VUID/media/$AUDIOFILE -shortest /tmp/$VUID/media/output.mp4
# IPFSID=$(ipfs add -wrHq /tmp/$VUID/media/output.mp4 | tail -n 1)
cat /tmp/$VUID/$VUID.json | jq -r .video.hlsManifest.url
mkdir -p /tmp/$VUID/public
end=`date +%s`; echo Duration `expr $end - $start` seconds.
# sed "s/_IPFSID_/$IPFSGWESC\/ipfs\/$IPFSID/g" ${MY_PATH}/../templates/video_bunker.html > /tmp/$VUID/public/index.html
sed "s-_HLS_-$VMAIN-g" ${MY_PATH}/../templates/videojs.html > /tmp/$VUID/public/index.html
sed -i s/_DATE_/$(date -u "+%Y-%m-%d#%H:%M:%S")/g /tmp/$VUID/public/index.html
sed -i "s/_PSEUDO_/$TITLE/g" /tmp/$VUID/public/index.html
# COPY style AND js
cp -R ${MY_PATH}/../templates/styles /tmp/$VUID/public/
cp -R ${MY_PATH}/../templates/js /tmp/$VUID/public/
echo "ipfs add -rH /tmp/$VUID/public/* "
IPFSROOT=$(ipfs add -rwHq /tmp/$VUID/public/* | tail -n 1)
# Change CSS path to
sed -i "s/_IPFSROOT_/$IPFSGWESC\/ipfs\/$IPFSROOT/g" /tmp/$VUID/public/index.html
IPFSROOT=$(ipfs add -rwHq /tmp/$VUID/public/* | tail -n 1)
echo "MP4 VIDEO INDEX $IPFSNGW/ipfs/$IPFSROOT"
##########################################################################
echo $VMAIN
echo "CONTINUE ?"; read
done