1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
media_dir = /srv/media
music_dir = $(media_dir)/music
flac = $(wildcard $(music_dir)/*/*.flac)
mp3 := $(subst flac,mp3,$(flac))
img_dir = $(media_dir)/pictures
src_dir = $(img_dir)/src
thumb_dir = $(img_dir)/thumb
www_dir = $(img_dir)/www
img = $(wildcard $(src_dir)/*.jpeg)
img_thumb := $(subst $(src_dir), $(thumb_dir), $(subst jpeg,webp, $(img)))
img_www := $(subst $(src_dir), $(www_dir), $(subst jpeg,webp, $(img)))
video_dir = /srv/media/videos
video_webm = $(wildcard $(video_dir)/*/*.webm)
video_mp4 := $(subst webm,mp4, $(video_webm))
video_webp := $(subst webm,webp, $(video_webm))
video_png := $(subst webm,png, $(video_webm))
climbing_dir = /srv/media/climbing
climbing_webm = $(wildcard $(climbing_dir)/*.webm)
climbing_mp4 := $(subst webm,mp4, $(climbing_webm))
climbing_webp := $(subst webm,webp, $(climbing_webm))
all: music pictures videos climbing
music: $(mp3)
pictures: $(img_www) $(img_thumb)
videos: $(video_mp4) $(video_webp)
climbing: $(climbing_mp4) $(climbing_webp)
%.mp3: %.flac
ffmpeg -i $< -ab 256k -map_metadata 0 -id3v2_version 3 $@
%.webp: %.webm
ffmpeg -i $< -hide_banner -loglevel error -vf thumbnail -frames:v 1 -c:v png -f image2pipe - | convert - $@
$(www_dir)/%.webp: $(src_dir)/%.jpeg
convert $< -resize 1536x1024 -quality 85 $@
$(thumb_dir)/%.webp: $(src_dir)/%.jpeg
convert $< -resize 150x100 -quality 85 $@
%.mp4: %.webm
ffmpeg -i $< -vf scale=1280:-2 -c:v h264 -c:a aac -b:a 128k -strict -2 -movflags faststart $@
|