Bunker BOX history

This commit is contained in:
fred 2022-04-06 17:12:40 +02:00
parent 3658c59bda
commit d4b6d703f4
8 changed files with 216 additions and 156 deletions

151
crowdbridge.sh Executable file
View File

@ -0,0 +1,151 @@
#!/bin/bash
################################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
################################################################################
mkdir -p ~/.zen/bunkerbox # BunkerBOX temp directory
# Fred MadeInZion, [20/03/2022 23:03]
# Script qui capture et transfert dans IPFS le flux des nouvelles vidéos de https://crowdbunker.com/
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
TS=$(date -u +%s%N | cut -b1-13)
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) || echo " warning ipfs daemon not running"
isLAN=$(hostname -I | awk '{print $1}' | head -n 1 | cut -f3 -d '/' | grep -E "(^127\.)|(^192\.168\.)|(^fd42\:)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
IPFSGWESC="https:\/\/tube.copylaradio.com" && IPFSNGW="https://tube.copylaradio.com"
IPFSGWESC="http:\/\/127.0.0.1:8080" && IPFSNGW="http://127.0.0.1:8080"
[[ ! $isLAN ]] && IPFSGWESC="https:\/\/$(hostname)" && IPFSNGW="https://$(hostname)"
echo "IPFS GATEWAY $IPFSNGW"
## GET LATEST VIDEOS
VWALLURL="https://api.crowdbunker.com/post/all"
curl -s $VWALLURL -H "Accept: application/json" > ~/.zen/bunkerbox/crowd.json
## LOOP THROUGH
for VUID in $(cat ~/.zen/bunkerbox/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 ~/.zen/bunkerbox/$VUID/media
URL="https://api.crowdbunker.com/post/$VUID/details"
# echo "WISHING TO EXPLORE $URL ?"; read TEST; [[ "$TEST" != "" ]] && echo && continue
curl -s $URL -H "Accept: application/json" -o ~/.zen/bunkerbox/$VUID/$VUID.json
# STREAMING LIVE ?
echo ">>> Extracting video caracteristics from ~/.zen/bunkerbox/$VUID/$VUID.json"
ISLIVE=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .video.isLiveType)&& [[ "$ISLIVE" == "true" ]] && echo "LIVE... "
LIVE=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .video.isLiveActive) && [[ "$LIVE" == "true" ]] && echo "STREAMING... Bypassing..." && echo && continue
DURATION=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .video.duration) && [[ $DURATION == 0 ]] && echo "NOT STARTED YET" && echo && continue
TITLE=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .video.title)
CHANNEL=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .channel.name)
ORGUID=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .organization.uid)
ORGNAME=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .organization.name)
ORGBANNER=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .organization.banner.url)
HLS=$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r .video.hlsManifest.url)
MEDIASOURCE=$(echo $HLS | rev | cut -d '/' -f 2- | rev)
echo "$TITLE ($DURATION s)"
echo "READY TO PROCESS ?"; read TEST; [[ "$TEST" != "" ]] && echo && continue
echo "$HLS"
curl -s $HLS -o ~/.zen/bunkerbox/$VUID/$VUID.m3u8
# cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8
echo ">>>>>>>>>>>>>>>> Downloading VIDEO"
# Choose 360p or 480p or 240p
VSIZE=360 && VIDEOHEAD=$(cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) && VIDEOSRC=$(cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.')
[[ "$VIDEOSRC" == "" ]] && VSIZE=480 && VIDEOHEAD=$(cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) && VIDEOSRC=$(cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.')
[[ "$VIDEOSRC" == "" ]] && VSIZE=240 &&VIDEOHEAD=$(cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) && VIDEOSRC=$(cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.')
VTHUMB="$(cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq -r --arg VSIZE "$VSIZE" '.video.thumbnails[] | select(.height == $VSIZE) | .url')"
echo ">>>>>>>>>>>>>>>> Downloading Video $VSIZE Thumbnail"
curl -s $VTHUMB -o ~/.zen/bunkerbox/$VUID/media/$VUID.jpg
[[ ! -f ~/.zen/bunkerbox/$VUID/media/$VUID.jpg ]] && cp ~/.zen/bunkerbox/$VUID/media/astroport.jpg ~/.zen/bunkerbox/$VUID/media/$VUID.jpg # CORRECT MISSING THUMB
echo "VIDEOSRC=$MEDIASOURCE/$VIDEOSRC"
# Downloading Video m3u8 and Video
[[ ! -f ~/.zen/bunkerbox/$VUID/media/$VIDEOSRC.m3u8 ]] && curl -s $MEDIASOURCE/$VIDEOSRC.m3u8 -o ~/.zen/bunkerbox/$VUID/media/$VIDEOSRC.m3u8
[[ ! -f ~/.zen/bunkerbox/$VUID/media/$VIDEOSRC ]] && curl $MEDIASOURCE/$VIDEOSRC -o ~/.zen/bunkerbox/$VUID/media/$VIDEOSRC
echo ">>>>>>>>>>>>>>>> Downloading AUDIO"
AUDIOLINE=$(cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 | grep '=AUDIO')
AUDIOFILE=$(echo $AUDIOLINE | rev | cut -d '.' -f 2- | cut -d '"' -f 1 | rev)
echo "AUDIO=$MEDIASOURCE/$AUDIOFILE"
# Downloading Audio m3u8 and Audio
[[ ! -f ~/.zen/bunkerbox/$VUID/media/$AUDIOFILE.m3u8 ]] && curl -s $MEDIASOURCE/$AUDIOFILE.m3u8 -o ~/.zen/bunkerbox/$VUID/media/$AUDIOFILE.m3u8
[[ ! -f ~/.zen/bunkerbox/$VUID/media/$AUDIOFILE ]] && curl $MEDIASOURCE/$AUDIOFILE -o ~/.zen/bunkerbox/$VUID/media/$AUDIOFILE
echo ">>>>>>>>>>>>>>>> CREATING $VSIZE M3U8"
echo "#EXTM3U
#EXT-X-VERSION:6
#EXT-X-INDEPENDENT-SEGMENTS
$AUDIOLINE
$VIDEOHEAD
$VIDEOSRC.m3u8
" > ~/.zen/bunkerbox/$VUID/media/$VUID.m3u8
ls ~/.zen/bunkerbox/$VUID/media/
##########################################################################
echo "##########################################################################"
echo ">>>>>>>>>>>>>>>> ADDING index.html"
# COPY index, style, js AND data
cp -R ${MY_PATH}/templates/styles ~/.zen/bunkerbox/$VUID/media/
cp -R ${MY_PATH}/templates/js ~/.zen/bunkerbox/$VUID/media/
cp ${MY_PATH}/templates/videojs.html ~/.zen/bunkerbox/$VUID/media/index.html
cp ${MY_PATH}/images/astroport.jpg ~/.zen/bunkerbox/$VUID/media/
# Add current reversed history
if [[ -f ~/.zen/bunkerbox/history.json ]]; then
echo '{
"Videos":' > ~/.zen/bunkerbox/$VUID/media/$VUID.history.json
cat ~/.zen/bunkerbox/history.json | jq '.[] | reverse' >> ~/.zen/bunkerbox/$VUID/media/$VUID.history.json
echo '}' >> ~/.zen/bunkerbox/$VUID/media/$VUID.history.json
else
cp ${MY_PATH}/templates/data/history.json ~/.zen/bunkerbox/history.json
fi
# Using relative links
sed "s/_IPFSROOT_/./g" ${MY_PATH}/templates/videojs.html > ~/.zen/bunkerbox/$VUID/media/index.html
sed -i "s/_VUID_/$VUID/g" ~/.zen/bunkerbox/$VUID/media/index.html
sed -i s/_DATE_/$(date -u "+%Y-%m-%d#%H:%M:%S")/g ~/.zen/bunkerbox/$VUID/media/index.html
sed -i "s~_TITLE_~$TITLE~g" ~/.zen/bunkerbox/$VUID/media/index.html
sed -i "s~_CHANNEL_~$CHANNEL~g" ~/.zen/bunkerbox/$VUID/media/index.html
echo ">>>>> ADDING TO IPFS : ipfs add -rwH ~/.zen/bunkerbox/$VUID/media/* "
echo
IPFSROOT=$(ipfs add -rwHq ~/.zen/bunkerbox/$VUID/media/* | tail -n 1)
INDEX="/ipfs/$IPFSROOT"
VMAIN="/ipfs/$IPFSROOT/$VUID.m3u8"
# UPDATING original JSON
cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq ".video.hlsManifest.url = \"$VMAIN\"" > ~/.zen/bunkerbox/$VUID/media/$VUID.json
echo "M3U8 : $IPFSNGW$VMAIN"
## UPDATE GLOCAL HISTORY ?
IsThere=$(cat ~/.zen/bunkerbox/history.json | jq .Videos[].link | grep $VUID)
[[ ! $IsThere ]] && echo "Add $INDEX/$VUID.jpg to history.json" && cat ~/.zen/bunkerbox/history.json | jq '.Videos += [{"link": "<a href='"'_INDEX_'"'><img src='"'_INDEX_/_VUID_.jpg'"' height=80 >'"'_TITLE_'"'</a>"}]' > ~/.zen/bunkerbox/$VUID/media/$VUID.history.json
sed -i "s~_INDEX_~$INDEX~g" ~/.zen/bunkerbox/$VUID/media/$VUID.history.json
sed -i "s~_VUID_~$VUID~g" ~/.zen/bunkerbox/$VUID/media/$VUID.history.json
sed -i "s~_TITLE_~$TITLE~g" ~/.zen/bunkerbox/$VUID/media/$VUID.history.json
cp -f ~/.zen/bunkerbox/$VUID/media/history.json ~/.zen/bunkerbox/$VUID.history.json
## (found ''' later) COULD BE DONE LIKE THAT
# cat ~/.zen/bunkerbox/$VUID/media/$VUID.history.json | jq --arg INDEX "$INDEX" --arg TITLE "$TITLE" '.Videos += [{"link": "<a href='''$INDEX''' >'''$TITLE'''</a>"}]' > ~/.zen/bunkerbox/history.json
echo "HIST: $IPFSNGW/ipfs/$IPFSROOT"
echo "JSON : $IPFSNGW/ipfs/$IPFSROOT/$VUID.json"
##########################################################################
# cat ~/.zen/bunkerbox/$VUID/media/$VUID.json | jq -r .video.hlsManifest.url
end=`date +%s`; echo Duration `expr $end - $start` seconds.
done

View File

@ -0,0 +1,6 @@
{
"Videos": [
]
}

2
templates/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

11
templates/js/pagination.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,39 +2,49 @@
<html>
<head>
<meta charset="utf-8">
<title>_PSEUDO_ [IPFS Bunker BOX]</title>
<title>_CHANNEL_ : _TITLE_ [BunkerBOX]</title>
<link rel="icon" type="image/png" href="_IPFSROOT_/styles/logo.png" />
<link rel="stylesheet" href="_IPFSROOT_/styles/video-js.css" type="text/css" />
<link rel="stylesheet" href="_IPFSROOT_/styles/forest.css" type="text/css" />
<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://crowdbunker.com"> "<span>Bunker BOX</span>"</a> IPFS
<a href="https://crowdbunker.com/v/_VUID_" target="bunker"> "<span>CrowdBunker</span>"</a> /ipfs/
</h6>
</header>
<main>
<article>
<center>
<div class="row justify-center">
<video
id="_HLS_"
id="vbunk"
class="video-js vjs-theme-forest"
controls
preload="auto"
poster="_IPFSROOT_/astroport.jpg"
data-setup="{}"
width="auto" height="auto"
poster="_IPFSROOT_/_VUID_.jpg"
>
<source src="_IPFSROOT_/_HLS_" type="application/x-mpegURL" />
<source src="_IPFSROOT_/_VUID_.m3u8" type="application/x-mpegURL" />
<p class="vjs-no-js">
Activer JavaScript SVP
</p>
</video>
<h1 class="video-title">
_PSEUDO_ (_DATE_)
</div>
</center>
<article>
<h1 class="video-title">
_TITLE_ (_DATE_)
</h1>
</article>
<center>
<div id="videosList"><div class="wrapper"></div></div>
</center>
<h6>
powered by <a href="https://astroport.com"><span>"</span>Astroport<span>"</span></a>
</h6>
@ -43,11 +53,30 @@
</body>
<script src="_IPFSROOT_/js/video.min.js"></script>
<script src="_IPFSROOT_/js/jquery.min.js"></script>
<script src="_IPFSROOT_/js/pagination.min.js"></script>
<link rel="stylesheet" href="_IPFSROOT_/styles/pagination.css" />
<script>
var player = videojs('_HLS_', {
var player = videojs('vbunk', {
autoplay: 'muted'
});
</script>
<script>
$.getJSON('./_VUID_.history.json', function (json) {
$('#videosList').pagination({
dataSource: json.Videos,
pageSize: 1,
callback: function(data, pagination) {
var wrapper = $('#videosList .wrapper').empty();
$.each(data, function (i, f) {
$('#videosList .wrapper').append('<ul><li>' + f.link + '</li></ul>');
});
}
});
});
</script>
</html>

View File

@ -1,143 +0,0 @@
#!/bin/bash
################################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
################################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
TS=$(date -u +%s%N | cut -b1-13)
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) || echo " warning ipfs daemon not running"
isLAN=$(hostname -I | awk '{print $1}' | head -n 1 | cut -f3 -d '/' | grep -E "(^127\.)|(^192\.168\.)|(^fd42\:)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
# 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:\/\/127.0.0.1:8080" && IPFSNGW="http://127.0.0.1:8080"
[[ ! $isLAN ]] && IPFSGWESC="https:\/\/$(hostname)" && IPFSNGW="https://$(hostname)"
echo "IPFS GATEWAY $IPFSNGW"
## GET LATEST VIDEOS
VWALLURL="https://api.crowdbunker.com/post/all"
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
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)
HLS=$(cat /tmp/$VUID/$VUID.json | jq -r .video.hlsManifest.url)
MEDIASOURCE=$(echo $HLS | rev | cut -d '/' -f 2- | rev)
echo "$TITLE ($DURATION s)"
echo "$HLS"
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"
# 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"
# 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"
echo ">>>>>>>>>>>>>>>> Downloading AUDIO"
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"
# 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"
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"
#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"
# 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 NEW M3U8"
echo "#EXTM3U
#EXT-X-VERSION:6
#EXT-X-INDEPENDENT-SEGMENTS
$AUDIOLINE
$VIDEOHEAD
$VIDEOSRC.m3u8
" > /tmp/$VUID/media/$VUID.m3u8
# sed -i "s/$AUDIOFILE.m3u8/$IPFSGWESC\/ipfs\/$IPFSAUDM3U8\/$AUDIOFILE.m3u8/g" /tmp/$VUID/$VUID.m3u8
##########################################################################
echo ">>>>>>>>>>>>>>>> CREATE index.html"
# COPY index, style AND js
cp -R ${MY_PATH}/../templates/styles /tmp/$VUID/media/
cp -R ${MY_PATH}/../templates/js /tmp/$VUID/media/
cp ${MY_PATH}/../templates/videojs.html /tmp/$VUID/media/index.html
cp ${MY_PATH}/../images/astroport.jpg /tmp/$VUID/media/
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
VMAIN="/ipfs/$IPFSROOT/$VUID.m3u8"
echo "M3U8 : $IPFSNGW$VMAIN"
INDEX=$(ipfs add -rwHq /tmp/$VUID/media/index.html | tail -n 1)
echo "INDEX: $IPFSNGW/ipfs/$INDEX"
cat /tmp/$VUID/$VUID.json | jq ".video.hlsManifest.url = \"$VMAIN\"" > /tmp/$VUID/media/$VUID.json
JSON=$(ipfs add -rwHq /tmp/$VUID/media/$VUID.json | tail -n 1)
echo "JSON : $IPFSNGW/ipfs/$JSON"
##########################################################################
# cat /tmp/$VUID/media/$VUID.json | jq -r .video.hlsManifest.url
end=`date +%s`; echo Duration `expr $end - $start` seconds.
echo "CONTINUE ?"; read
done

View File

@ -44,9 +44,12 @@ kill -15 $processid
## RECOMMANCER ?
espeak "mp4 transcoding" #-acodec aac
# ffmpeg -i input.mp4 -i greenscreen.mp4 -filter_complex '[1:v]colorkey=color=00FF00:similarity=0.85:blend=0.0[ckout];[0:v][ckout]overlay[out]' -map '[out]' output.mp4
# Ecran vert : ffmpeg -i input.mp4 -i greenscreen.mp4 -filter_complex '[1:v]colorkey=color=00FF00:similarity=0.85:blend=0.0[ckout];[0:v][ckout]overlay[out]' -map '[out]' output.mp4
rm -f ~/.zen/tmp/output.mp4
ffmpeg -i ~/.zen/tmp/MyVid.mp4 -vcodec libx264 -loglevel quiet ~/.zen/tmp/output.mp4
# Conversion HLS
ffmpeg -i ~/.zen/tmp/output.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls ~/.zen/tmp/output.m3u8
IPFSID=$(ipfs add -wrHq ~/.zen/tmp/output.mp4 | tail -n 1)
echo "NEW VIDEO FILE /ipfs/$IPFSID/output.mp4"