SMOLNET PORTAL home about changes
iSeveral bugfixes - bitreich-tv - Meme TV encoding and streaming	Err	bitreich.org	70
hgit clone git://bitreich.org/bitreich-tv git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/bitreich-tv	URL:git://bitreich.org/bitreich-tv git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/bitreich-tv	bitreich.org	70
1Log	/scm/bitreich-tv/log.gph	bitreich.org	70
1Files	/scm/bitreich-tv/files.gph	bitreich.org	70
1Refs	/scm/bitreich-tv/refs.gph	bitreich.org	70
1Tags	/scm/bitreich-tv/tag	bitreich.org	70
1LICENSE	/scm/bitreich-tv/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 9955fec4d21435eae1aa98c8c7078932d192df5c	/scm/bitreich-tv/commit/9955fec4d21435eae1aa98c8c7078932d192df5c.gph	bitreich.org	70
1parent 3a8559a5c96734befbfdb580c7e8a2ab491ea6d4	/scm/bitreich-tv/commit/3a8559a5c96734befbfdb580c7e8a2ab491ea6d4.gph	bitreich.org	70
hAuthor: Anders Damsgaard <anders@adamsgaard.dk>	URL:mailto:anders@adamsgaard.dk	bitreich.org	70
iDate:   Tue, 11 Aug 2020 21:26:32 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iSeveral bugfixes	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M brtv-start.sh                       |      51 ++++++++++++++++++++-----------	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 33 insertions(+), 18 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/brtv-start.sh b/brtv-start.sh	/scm/bitreich-tv/file/brtv-start.sh.gph	bitreich.org	70
i@@ -1,12 +1,6 @@	Err	bitreich.org	70
i #!/bin/sh	Err	bitreich.org	70
i-# generate title animations and start streaming server	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-pass="$(gpg2 -q -d icecastpass.gpg)"	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-if [ $# -ne 1 ]; then	Err	bitreich.org	70
i-        printf 'usage: %s <memecache_path>\n' "$0" >&2	Err	bitreich.org	70
i-        exit	Err	bitreich.org	70
i-fi	Err	bitreich.org	70
i+# generate title animations and start streaming to server	Err	bitreich.org	70
i+# requirements: ffmpeg(1), convert(1)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i ### CONFIGURATION START	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -44,6 +38,20 @@ title_display_time=5	Err	bitreich.org	70
i 	Err	bitreich.org	70
i ### CONFIGURATION END	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+pass="$(gpg2 -q -d icecastpass.gpg)"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+die() {	Err	bitreich.org	70
i+        printf '%s: error: %s\n' "${0##*/}" "$1" >&2	Err	bitreich.org	70
i+        exit 1	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+regeximatch() {	Err	bitreich.org	70
i+        printf '%s' "$1" | grep -iEq "$2"	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+if [ $# -ne 1 ]; then	Err	bitreich.org	70
i+        die "usage: ${0##*/} <memecache_path>"	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i 	Err	bitreich.org	70
i fit_img_16_9() {	Err	bitreich.org	70
i         convert -resize "$video_resolution"\> -size "$video_resolution" "$1" \	Err	bitreich.org	70
i@@ -62,6 +70,7 @@ video_from_img() {	Err	bitreich.org	70
i 	Err	bitreich.org	70
i title_slide() {	Err	bitreich.org	70
i         img="$(basename "${1%.*}".png)"	Err	bitreich.org	70
i+        #echo "title_slide $1 -> $img"	Err	bitreich.org	70
i         convert -size "$video_resolution" "xc:${bgcolor}" \	Err	bitreich.org	70
i                 -pointsize 48 -fill "$fgcolor" \	Err	bitreich.org	70
i                 -gravity center -draw "text 0,0 '#${img%.*}'" "$img"	Err	bitreich.org	70
i@@ -70,21 +79,28 @@ title_slide() {	Err	bitreich.org	70
i                 -i anullsrc=r=48000 \	Err	bitreich.org	70
i                 -i "$img" \	Err	bitreich.org	70
i                 -t "${title_display_time}" \	Err	bitreich.org	70
i-                $ffmpec_codec \	Err	bitreich.org	70
i+                $ffmpeg_codec \	Err	bitreich.org	70
i                 "$2" && rm "$img"	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i video_conv() {	Err	bitreich.org	70
i-        ffmpeg -y -i "$1" $ffmpeg_codec -max_muxing_queue_size 1024 "$2"	Err	bitreich.org	70
i+        printf 'encode %s -> %s\n' "$1" "$2"; ffmpeg -y -i "$1" $ffmpeg_codec -max_muxing_queue_size 1024 "$2"	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i mkdir -p "$title"	Err	bitreich.org	70
i mkdir -p "$memecache_conv"	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # generate video from each image	Err	bitreich.org	70
i-for f in "$memecache"/*.{jpg,jpeg,JPG,png,PNG}; do	Err	bitreich.org	70
i+for f in "$memecache"/*.jpg \	Err	bitreich.org	70
i+        "$memecache"/*.jpeg \	Err	bitreich.org	70
i+        "$memecache"/*.JPG \	Err	bitreich.org	70
i+        "$memecache"/*.png \	Err	bitreich.org	70
i+        "$memecache"/*.PNG; do	Err	bitreich.org	70
i         out="${memecache_conv}/$(basename "${f%.*}.${video_ext}")"	Err	bitreich.org	70
i-        if [ -e "$f" ] && [ ! -e "$out" ]; then	Err	bitreich.org	70
i+        if [ ! -f "$out" ]; then	Err	bitreich.org	70
i+                if ! regeximatch "$(file -ib "$f")" "^image\/"; then	Err	bitreich.org	70
i+                        die "input image $f is invalid ($(file -b "$f"))"	Err	bitreich.org	70
i+                fi	Err	bitreich.org	70
i                 printf 'in: %s, out: %s\n' "$f" "$out"	Err	bitreich.org	70
i                 fit_img_16_9 "$f" "${out%.*}.jpg"	Err	bitreich.org	70
i                 video_from_img "${out%.${video_ext}}.jpg" "${out}"	Err	bitreich.org	70
i@@ -96,18 +112,17 @@ if [ ! -f "bitreich-tv.${video_ext}" ]; then	Err	bitreich.org	70
i         title_slide bitreich-tv bitreich-tv.${video_ext}	Err	bitreich.org	70
i fi	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-# make title slides for video and converted images and encode to common codec	Err	bitreich.org	70
i+# make title slides for video and converted images and encode all video clips to common codec	Err	bitreich.org	70
i for f in "$memecache"/*.mkv \	Err	bitreich.org	70
i          "$memecache"/*.mp4 \	Err	bitreich.org	70
i                  "$memecache"/*.webm \	Err	bitreich.org	70
i                  "$memecache_conv"/*."${video_ext}"; do	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        title_path="${title}/$(basename "${f%.*}.webm")"	Err	bitreich.org	70
i-        [ ! -e "$title_path" ] && title_slide "$f" "$title_path"	Err	bitreich.org	70
i+        title_path="${title}/$(basename "${f%.*}.${video_ext}")"	Err	bitreich.org	70
i+        [ ! -f "$title_path" ] && title_slide "$f" "$title_path"	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        out="${memecache_conv}/$(basename "${f%.*}.webm")"	Err	bitreich.org	70
i-        [ ! -e "$out" ] && video_conv "$f" "$out"	Err	bitreich.org	70
i+        out="${memecache_conv}/$(basename "${f%.*}.${video_ext}")"	Err	bitreich.org	70
i+        [ ! -f "$out" ] && video_conv "$f" "$out"	Err	bitreich.org	70
i done	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # generate random playlist from converted memes and add title slides	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/bitreich-tv/commit/9955fec4d2...
Content-Typetext/plain; charset=utf-8