From 13b295419f14bc2e41e45b134b42f6f0e05649fe Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 6 Nov 2022 00:46:59 +0100 Subject: [PATCH] TODO: Activate IPFS Video/Audio Streaming --- tools/streaming/audio.jpg | Bin 0 -> 32269 bytes tools/streaming/install.sh | 96 ++++++++++++++++ tools/streaming/ipfs_stream_ipns_loop.png | Bin 0 -> 107049 bytes tools/streaming/process-stream.service | 16 +++ tools/streaming/process-stream.sh | 134 ++++++++++++++++++++++ tools/streaming/uninstall.sh | 19 +++ 6 files changed, 265 insertions(+) create mode 100644 tools/streaming/audio.jpg create mode 100755 tools/streaming/install.sh create mode 100644 tools/streaming/ipfs_stream_ipns_loop.png create mode 100644 tools/streaming/process-stream.service create mode 100755 tools/streaming/process-stream.sh create mode 100755 tools/streaming/uninstall.sh diff --git a/tools/streaming/audio.jpg b/tools/streaming/audio.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9850d25138c04a8585071467e1c0867ccdf05848 GIT binary patch literal 32269 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\n<\!--APPLIST-->#" "/var/www/html/index.html" + +## ACTIVATE nginx rtmp +# GUIDES +# https://bartsimons.me/nginx-rtmp-streaming-server-installation-guide/ +# https://blog.100tb.com/how-to-set-up-an-rtmp-server-on-ubuntu-linux-using-nginx +# https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/ +# https://www.hostwinds.com/guide/live-streaming-from-a-vps-with-nginx-rtmp/ +# CONFIG +# https://github.com/arut/nginx-rtmp-module/wiki/Directives +# https://github.com/arut/nginx-rtmp-module/wiki/Directives#hls_variant +printf " +rtmp { + server { + listen 1935; + chunk_size 8192; + + application vod { + + play $HOME/live; + + } + + application stream { + live on; + record off; + + allow publish 127.0.0.1; + deny publish all; + allow play all; + } + + application src { + live on; + exec_push ffmpeg -i rtmp://localhost/src/$name -vcodec libx264 -vprofile baseline -g 10 -s 300x200 -acodec aac -ar 44100 -ac 1 -f flv rtmp://localhost/hls/$name 2>>/var/log/ffmpeg-$name.log; + } + } +} +" | sudo tee -a /etc/nginx/nginx.conf diff --git a/tools/streaming/ipfs_stream_ipns_loop.png b/tools/streaming/ipfs_stream_ipns_loop.png new file mode 100644 index 0000000000000000000000000000000000000000..d42d808434b83aa20a96cd26fe45d5a2130c69ce GIT binary patch literal 107049 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 UP0jvlOMDF_IW^gI8U6eJ4;NG`?EnA( literal 0 HcmV?d00001 diff --git a/tools/streaming/process-stream.service b/tools/streaming/process-stream.service new file mode 100644 index 00000000..cd3166b6 --- /dev/null +++ b/tools/streaming/process-stream.service @@ -0,0 +1,16 @@ +[Unit] +Description=Service to process RTMP stream +Wants=network.target +After=ipfs.service + +[Service] +Type=simple +User=pi +Group=pi +ExecStart=/usr/bin/process-stream.sh +ExecStop=/bin/kill -s QUIT $MAINPID +Restart=on-failure +RestartSec=10s + +[Install] +WantedBy=multi-user.target diff --git a/tools/streaming/process-stream.sh b/tools/streaming/process-stream.sh new file mode 100755 index 00000000..2b942083 --- /dev/null +++ b/tools/streaming/process-stream.sh @@ -0,0 +1,134 @@ +#!/usr/bin/env bash + +HLS_TIME=40 +M3U8_SIZE=3 +IPFS_GATEWAY="http://127.0.0.1:8080" + +echo "Astroport stream is playing on star_1 : https://tube.copylaradio.com/ipns/$(ipfs key list -l | grep star_1 | cut -d ' ' -f 1)" + +# Load settings + +# Prepare Pi Camera +# sudo modprobe bcm2835-v4l2 +# sudo v4l2-ctl --set-ctrl video_bitrate=100000 + +function startFFmpeg() { + while true; do + mv /tmp/ffmpeg.log /tmp/ffmpeg.1 + echo 1 > /tmp/stream-reset + + # Stream WebCamera + #ffmpeg -f pulse -i 1 -f video4linux2 -video_size 1280x720 -framerate 25 -i /dev/video0 -hls_time "${HLS_TIME}" "${what}.m3u8" > /tmp/ffmpeg.log 2>&1 + ffmpeg -f pulse -i 1 -f video4linux2 -video_size 720x480 -framerate 25 -i /dev/video0 -hls_time "${HLS_TIME}" "${what}.m3u8" > /tmp/ffmpeg.log 2>&1 + + ## MORE SOURCES + # http://4youngpadawans.com/stream-camera-video-and-audio-with-ffmpeg/ + ## STILL BAD :: ffmpeg -f v4l2 -i /dev/video0 -f alsa -i hw:0 -profile:v high -pix_fmt yuvj420p -level:v 4.1 -preset ultrafast -tune zerolatency -vcodec libx264 -r 10 -b:v 512k -s 640x360 -acodec aac -strict -2 -ac 2 -ab 32k -ar 44100 -f mpegts -flush_packets 0 -hls_time "${HLS_TIME}" "${what}.m3u8" > /tmp/ffmpeg.log 2>&1 + ################ GOOD ? + # Stream FM Station from a SDR module (see contrib/pi-stream to install drivers) + # Frequency ends in M IE 99.9M + # rtl_fm -f 99.9M -M fm -s 170k -A std -l0 -E deemp -r 44.1k | ffmpeg -r 15 -loop 1 -i ../audio.jpg -f s16le -ac 1 -i pipe:0 -c:v libx264 -tune stillimage -preset ultrafast -hls_time "${HLS_TIME}" "${what}.m3u8" > /tmp/ffmpeg 2>&1 + + sleep 0.5 + done +} + +# Create directory for HLS content + +currentpath="$HOME/live" +sudo umount "${currentpath}" +rm -rf "${currentpath}" +mkdir "${currentpath}" +sudo mount -t tmpfs tmpfs "${currentpath}" +# shellcheck disable=SC2164 +cd "${currentpath}" + +what="$(date +%Y%m%d%H%M)-LIVE" +echo "STARTING $what" + +# Start ffmpeg in background +startFFmpeg & + +while true; do +#TODO# Fix this one +# shellcheck disable=SC2086,SC2012 + nextfile=$(ls -tr ${what}*.ts 2>/dev/null | head -n 1) + + if [ -n "${nextfile}" ]; then + # Check if the next file on the list is still being written to by ffmpeg + if lsof "${nextfile}" | grep -1 ffmpeg; then + # Wait for file to finish writing + # If not finished in 45 seconds something is wrong, timeout + inotifywait -e close_write "${nextfile}" -t ${HLS_TIME} + fi + + # Grab the timecode from the m3u8 file so we can add it to the log + timecode=$(grep -B1 "${nextfile}" "${what}.m3u8" | head -n1 | awk -F : '{print $2}' | tr -d ,) + attempts=5 + until [[ "${timecode}" || ${attempts} -eq 0 ]]; do + # Wait and retry + sleep 0.5 + timecode=$(grep -B1 "${nextfile}" "${what}.m3u8" | head -n1 | awk -F : '{print $2}' | tr -d ,) + attempts=$((attempts-1)) + done + + if ! [[ "${timecode}" ]]; then + # Set approximate timecode + timecode="${HLS_TIME}.000000" + fi + + reset_stream=$(cat /tmp/stream-reset) + reset_stream_marker='' + if [[ ${reset_stream} -eq '1' ]]; then + reset_stream_marker=" #EXT-X-DISCONTINUITY" + fi + + echo 0 > /tmp/stream-reset + # Current UTC date for the log + time=$(date "+%F-%H-%M-%S") + + echo "Add ts file to IPFS" + ret=$(ipfs add --pin=false "${nextfile}" 2>/dev/null > /tmp/tmp.txt; echo $?) + attempts=5 + until [[ ${ret} -eq 0 || ${attempts} -eq 0 ]]; do + # Wait and retry + sleep 0.5 + ret=$(ipfs add --pin=false "${nextfile}" 2>/dev/null > /tmp/tmp.txt; echo $?) + echo "$attempts RETRY" + attempts=$((attempts-1)) + done + if [[ ${ret} -eq 0 ]]; then + # Update the log with the future name (hash already there) + echo "$(cat /tmp/tmp.txt) ${time}.ts ${timecode}${reset_stream_marker}" >> /tmp/process-stream.log + + # Remove nextfile and tmp.txt + rm -f "${nextfile}" /tmp/tmp.txt + + # Write the m3u8 file with the new IPFS hashes from the log + totalLines="$(wc -l /tmp/process-stream.log | awk '{print $1}')" + + sequence=0 + if ((totalLines>M3U8_SIZE)); then + sequence=$((totalLines-M3U8_SIZE)) + fi + { + echo "#EXTM3U" + echo "#EXT-X-VERSION:3" + echo "#EXT-X-TARGETDURATION:${HLS_TIME}" + echo "#EXT-X-MEDIA-SEQUENCE:${sequence}" + } > current.m3u8 + tail -n ${M3U8_SIZE} /tmp/process-stream.log | awk '{print $6"#EXTINF:"$5",\n'${IPFS_GATEWAY}'/ipfs/"$2}' | sed 's/#EXT-X-DISCONTINUITY#/#EXT-X-DISCONTINUITY\n#/g' >> current.m3u8 + + echo 'Add m3u8 file to IPFS and IPNS publish' + m3u8hash=$(ipfs add current.m3u8 | awk '{print $2}') + ipfs name publish --key='star_1' --timeout=5s "${m3u8hash}" & + + # Copy files to web server + cat current.m3u8 + # cp current.m3u8 /var/www/html/live.m3u8 + # cp /tmp/process-stream.log /var/www/html/live.log + fi + else + sleep 5 + fi +done diff --git a/tools/streaming/uninstall.sh b/tools/streaming/uninstall.sh new file mode 100755 index 00000000..5434b4c4 --- /dev/null +++ b/tools/streaming/uninstall.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +## TO CONTROL & REWRITE +exit 0 +set -e + +BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +sudo systemctl stop process-stream +sudo systemctl disable process-stream +sudo rm -f /usr/bin/process-stream.sh +sudo rm -f /etc/systemd/system/process-stream.service +sudo systemctl daemon-reload + +# Remove ffmpeg and supporting tools +sudo apt-get -y remove ffmpeg lsof inotify-tools + +# Revert permissions +sudo chmod 755 /var/www/html +sed -i "/ipfs repo gc/d" | sudo tee --append /etc/crontab