Introduction
Introduction Statistics Contact Development Disclaimer Help
brtv-generate-title-slides.sh - bitreich-tv - Meme TV encoding and streaming
git clone git://bitreich.org/bitreich-tv git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfr…
Log
Files
Refs
Tags
LICENSE
---
brtv-generate-title-slides.sh (1626B)
---
1 #!/bin/sh
2 # generate title slide animation for each hashtag in file specified by s…
3 # stdin would typically be annna's module/hashtags/hashtags.txt
4 # requirements: ffmpeg(1), convert(1)
5
6
7 ### CONFIGURATION START
8
9 # output title animations dir
10 title="/br/gopher/tv/title"
11
12 # ffmpeg flags for generated videos
13 video_ext="webm"
14 ffmpeg_codec="-loglevel error -acodec libopus -b:a 96K -f webm -vf scale…
15
16 # target video resolution
17 video_resolution=1280x720
18
19 # slide style
20 # xc:$color ( https://imagemagick.org/script/color.php )
21 # /some/file.png
22 bgcontent=/br/gopher/tv/bitreich-tv-bg.png
23 fgcontent=/br/gopher/tv/bitreich-tv-title-fg.png
24
25 # show title slides for this duration [s]
26 title_display_time=5
27
28 # logo to draw in background
29 logo="bitreichtv.vtv"
30
31 ### CONFIGURATION END
32
33
34 temp="$(mktemp).png"
35
36 title_slide() {
37 # Don't forget the whitespace at the end of the logo.
38 convert -font "Liberation-Mono" \
39 -size "$video_resolution" \
40 "${bgcontent}" \
41 "${fgcontent}" \
42 -gravity center \
43 -composite \
44 -stroke '#000000' \
45 -strokewidth 2 \
46 -fill '#FFFFFF' \
47 -gravity north \
48 -pointsize 13 \
49 -draw "text -70,240 '$(cat "$logo")' " \
50 -draw "text -70,520 'Playing: ${1}'" \
51 "$temp"
52
53 ffmpeg -y \
54 -f lavfi \
55 -i anullsrc=r=48000 \
56 -i "$temp" \
57 -t "${title_display_time}" \
58 $ffmpeg_codec \
59 "$2" < /dev/null
60 printf '%s\n' "$2"
61 }
62
63 mkdir -p "$title"
64
65 # make title slide for every tag in first column of stdin
66 # (if title slide doesn't already exist)
67 while read -r tag url; do
68 out="${title}/${tag#\#}.${video_ext}"
69 if [ ! -f "$out" ]; then
70 title_slide "$tag" "$out"
71 fi
72 done
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.