-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
38 lines (29 loc) · 935 Bytes
/
Makefile
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
###
# 1. Convert AVCHD to MP4
# 2. Concatenate MP4 videos into movies.
#
# make: 1, 2
# make convert: 1
###
SHELL := /bin/bash
MTS_DIR = avchd
MP4_DIR = mp4
MOVIELISTS_DIR = movielists
MOVIES_DIR = movies
MTS_VIDEOS = $(shell ls $(MTS_DIR) | grep "MTS")
MTS_FULL = $(addprefix $(MTS_DIR)/,$(MTS_VIDEOS))
MP4_VIDEOS = $(MTS_VIDEOS:.MTS=.mp4)
MP4_FULL = $(addprefix $(MP4_DIR)/,$(MP4_VIDEOS))
MOVIELISTS = $(shell ls $(MOVIELISTS_DIR) | grep "txt")
MOVIELISTS_FULL = $(addprefix $(MOVIELISTS_DIR)/,$(MOVIELISTS))
MOVIES = $(MOVIELISTS:.txt=.mp4)
MOVIES_FULL = $(addprefix $(MOVIES_DIR)/,$(MOVIES))
default: $(MOVIES_FULL)
.PHONY: convert
convert: $(MP4_FULL)
$(MOVIES_DIR)/%.mp4: $(MP4_FULL) $(MOVIELISTS_DIR)/%.txt
mkdir -p movies
ffmpeg -f concat -i $(MOVIELISTS_DIR)/$*.txt -c copy $(MOVIES_DIR)/$*.mp4
$(MP4_DIR)/%.mp4: $(MTS_DIR)/%.MTS
mkdir -p mp4
ffmpeg -i $< -vcodec mpeg4 -b:v 15M -acodec libmp3lame -b:a 192k $@