bitreich-tv

meme tv encoding and streaming
git clone git://src.adamsgaard.dk/bitreich-tv
Log | Files | Refs Back to index

commit 60592b8f08f20a71d6fca1bd3ec1e4baa42667a1
parent 2c603b4a4ac3a953f11aac4157aae322f52a9e80
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Sun, 16 Aug 2020 20:57:36 +0200

Fix input read errors by providing ffmpeg with blank stdin

Diffstat:
Mbrtv-generate-title-slides.sh | 23++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/brtv-generate-title-slides.sh b/brtv-generate-title-slides.sh @@ -18,34 +18,35 @@ video_resolution=1280x720 # slide style bgcolor=magenta -fcolor=white +fgcolor=white # show title slides for this duration [s] title_display_time=5 ### CONFIGURATION END +temp="$(mktemp).png" title_slide() { - img="$(basename "${1%.*}".png)" - printf 'title_slide %s -> %s\n' "$1" "$img" convert -size "$video_resolution" "xc:${bgcolor}" \ -pointsize 48 -fill "$fgcolor" \ - -gravity center -draw "text 0,0 '#${img%.*}'" "$img" + -gravity center -draw "text 0,0 '${1}'" "$temp" ffmpeg -y \ + -loglevel error \ -f lavfi \ -i anullsrc=r=48000 \ - -i "$img" \ + -i "$temp" \ -t "${title_display_time}" \ $ffmpeg_codec \ - "$2" && rm "$img" + "$2" < /dev/null + printf '%s\n' "$2" } mkdir -p "$title" -# make title slide for every file in $1/ if they do not already exist -while IFS=' -' read -r line; do - out_path="${title}/$(basename "${f%.*}.${video_ext}")" - [ ! -f "$out_path" ] && title_slide "$f" "$out_path" +# make title slide for every tag in first column of stdin +# (if title slide doesn't already exist) +while read -r tag url; do + out="${title}/${tag#\#}.${video_ext}" + [ ! -f "$out" ] && title_slide "$tag" "$out" done