iFix input read errors by providing ffmpeg with blank stdin - 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 60592b8f08f20a71d6fca1bd3ec1e4baa42667a1 /scm/bitreich-tv/commit/60592b8f08f20a71d6fca1bd3ec1e4baa42667a1.gph bitreich.org 70 1parent 2c603b4a4ac3a953f11aac4157aae322f52a9e80 /scm/bitreich-tv/commit/2c603b4a4ac3a953f11aac4157aae322f52a9e80.gph bitreich.org 70 hAuthor: Anders Damsgaard URL:mailto:anders@adamsgaard.dk bitreich.org 70 iDate: Sun, 16 Aug 2020 20:57:36 +0200 Err bitreich.org 70 i Err bitreich.org 70 iFix input read errors by providing ffmpeg with blank stdin Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M brtv-generate-title-slides.sh | 23 ++++++++++++----------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 12 insertions(+), 11 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/brtv-generate-title-slides.sh b/brtv-generate-title-slides.sh /scm/bitreich-tv/file/brtv-generate-title-slides.sh.gph bitreich.org 70 i@@ -18,34 +18,35 @@ video_resolution=1280x720 Err bitreich.org 70 i Err bitreich.org 70 i # slide style Err bitreich.org 70 i bgcolor=magenta Err bitreich.org 70 i-fcolor=white Err bitreich.org 70 i+fgcolor=white Err bitreich.org 70 i Err bitreich.org 70 i # show title slides for this duration [s] Err bitreich.org 70 i 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+temp="$(mktemp).png" 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- printf 'title_slide %s -> %s\n' "$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+ -gravity center -draw "text 0,0 '${1}'" "$temp" Err bitreich.org 70 i ffmpeg -y \ Err bitreich.org 70 i+ -loglevel error \ Err bitreich.org 70 i -f lavfi \ Err bitreich.org 70 i -i anullsrc=r=48000 \ Err bitreich.org 70 i- -i "$img" \ Err bitreich.org 70 i+ -i "$temp" \ Err bitreich.org 70 i -t "${title_display_time}" \ Err bitreich.org 70 i $ffmpeg_codec \ Err bitreich.org 70 i- "$2" && rm "$img" Err bitreich.org 70 i+ "$2" < /dev/null Err bitreich.org 70 i+ printf '%s\n' "$2" Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i mkdir -p "$title" Err bitreich.org 70 i Err bitreich.org 70 i-# make title slide for every file in $1/ if they do not already exist Err bitreich.org 70 i-while IFS=' Err bitreich.org 70 i-' read -r line; do Err bitreich.org 70 i- out_path="${title}/$(basename "${f%.*}.${video_ext}")" Err bitreich.org 70 i- [ ! -f "$out_path" ] && title_slide "$f" "$out_path" Err bitreich.org 70 i+# make title slide for every tag in first column of stdin Err bitreich.org 70 i+# (if title slide doesn't already exist) Err bitreich.org 70 i+while read -r tag url; do Err bitreich.org 70 i+ out="${title}/${tag#\#}.${video_ext}" Err bitreich.org 70 i+ [ ! -f "$out" ] && title_slide "$tag" "$out" Err bitreich.org 70 i done Err bitreich.org 70 .