ibrtv-generate-playlist.sh - 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 ibrtv-generate-playlist.sh (1065B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #!/bin/sh Err bitreich.org 70 i 2 # supply hashtags.txt as stdin Err bitreich.org 70 i 3 # output is a plaintext playlist with urls to memes and title slides Err bitreich.org 70 i 4 Err bitreich.org 70 i 5 Err bitreich.org 70 i 6 ### CONFIGURATION START Err bitreich.org 70 i 7 Err bitreich.org 70 i 8 # other host to serve titles and images converted to videos Err bitreich.org 70 i 9 title_image_host="gopher://bitreich.org" Err bitreich.org 70 i 10 title_dir="tv/title" Err bitreich.org 70 i 11 img2vid_dir="tv/img2vid" Err bitreich.org 70 i 12 video_ext="webm" Err bitreich.org 70 i 13 interludeurl="${title_image_host}/9/tv/tv-interlude.webm" Err bitreich.org 70 i 14 interludeoccur=5 # percentage of occurence, set to 0 to disable Err bitreich.org 70 i 15 Err bitreich.org 70 i 16 ### CONFIGURATION END Err bitreich.org 70 i 17 Err bitreich.org 70 i 18 Err bitreich.org 70 i 19 regeximatch() { Err bitreich.org 70 i 20 printf '%s' "$1" | grep -iEq "$2" Err bitreich.org 70 i 21 } Err bitreich.org 70 i 22 Err bitreich.org 70 i 23 add_title() { Err bitreich.org 70 i 24 printf '%s/9/%s/%s\n' "$title_image_host" "$title_dir" "${1#\#}.${video_ext}" Err bitreich.org 70 i 25 } Err bitreich.org 70 i 26 Err bitreich.org 70 i 27 while read -r tag url; do Err bitreich.org 70 i 28 Err bitreich.org 70 i 29 if regeximatch "$url" '\.(mkv|webm|mp4)$'; then Err bitreich.org 70 i 30 add_title "$tag" Err bitreich.org 70 i 31 printf '%s\n' "$url" Err bitreich.org 70 i 32 elif regeximatch "$url" '\.(jpg|jpeg|png|gif)$'; then Err bitreich.org 70 i 33 add_title "$tag" Err bitreich.org 70 i 34 printf '%s/9/%s/%s\n' "$title_image_host" "$img2vid_dir" "${tag#\#}.${video_ext}" Err bitreich.org 70 i 35 else Err bitreich.org 70 i 36 # skip mpv-incompatible formats that are not converted to videos Err bitreich.org 70 i 37 continue Err bitreich.org 70 i 38 fi Err bitreich.org 70 i 39 if test $(( RANDOM / 327 )) -lt "$interludeoccur"; then Err bitreich.org 70 i 40 printf '%s\n' "${interludeurl}" Err bitreich.org 70 i 41 fi Err bitreich.org 70 i 42 done Err bitreich.org 70 .