|
# inspect tasks: |
|
# inspect_chiko : shows chiko mov file inspection |
|
# inspect_hazuki_online : shows youtube available download formats |
|
# inspect_hazuki_offline : shows hazuki mp4 file inspection |
|
|
|
CHIKO_SRC := chiko_src.mov |
|
CHIKO_TRIMMED := chiko_trimmed.mov |
|
CHIKO_EYECATCH_START := 23 |
|
CHIKO_EYECATCH_DURATION := 2 |
|
CHIKO_CROP := "w=1370:h=700:x=234:y=200" |
|
|
|
HAZUKI_SRC := hazuki_src.mp4 |
|
HAZUKI_SRC_URL := "https://www.youtube.com/watch?v=0Efumx0B9VI" |
|
HAZUKI_TRIMMED := hazuki_trimmed.mov |
|
HAZUKI_EYECATCH_START := 58 |
|
HAZUKI_EYECATCH_DURATION := 3 |
|
|
|
# 134 means 640x360 mp4 in that movie |
|
HAZUKI_DOWNLOAD_FORMAT := 134 |
|
|
|
MERGED := merged.mp4 |
|
MERGED_GIF := merged.gif |
|
|
|
CLEAN := ${CHIKO_TRIMMED} ${HAZUKI_SRC} ${HAZUKI_TRIMMED} \ |
|
${MERGED} ${MERGED_GIF} |
|
|
|
all: ${MERGED_GIF} |
|
|
|
clean: |
|
rm ${CLEAN} |
|
|
|
.PHONY: inspect_chiko |
|
inspect_chiko: |
|
ffprobe ${CHIKO_SRC} |
|
|
|
.PHONY: inspect_hazuki_online |
|
inspect_hazuki_online: |
|
youtube-dl -F "${HAZUKI_SRC_URL}" |
|
|
|
.PHONY: inspect_hazuki_offline |
|
inspect_hazuki_offline: |
|
ffprobe ${HAZUKI_SRC} |
|
|
|
${HAZUKI_SRC}: |
|
youtube-dl -f "${HAZUKI_DOWNLOAD_FORMAT}" -o "${HAZUKI_SRC}" \ |
|
"${HAZUKI_SRC_URL}" |
|
|
|
${CHIKO_TRIMMED}: ${CHIKO_SRC} |
|
ffmpeg -i ${CHIKO_SRC} \ |
|
-ss ${CHIKO_EYECATCH_START} -t ${CHIKO_EYECATCH_DURATION} \ |
|
-vf crop=${CHIKO_CROP} ${CHIKO_TRIMMED} |
|
|
|
${HAZUKI_TRIMMED}: ${HAZUKI_SRC} |
|
ffmpeg -i ${HAZUKI_SRC} \ |
|
-ss ${HAZUKI_EYECATCH_START} -t ${HAZUKI_EYECATCH_DURATION} \ |
|
${HAZUKI_TRIMMED} |
|
|
|
${MERGED}: ${CHIKO_TRIMMED} ${HAZUKI_TRIMMED} |
|
ffmpeg -i ${CHIKO_TRIMMED} -i ${HAZUKI_TRIMMED} \ |
|
-filter_complex " \ |
|
nullsrc=size=640x720 [base]; \ |
|
[0:v] setpts=PTS-STARTPTS, scale=640x360 [upper]; \ |
|
[1:v] setpts=PTS-STARTPTS, scale=640x360 [lower]; \ |
|
[base][upper] overlay=shortest=1 [tmp1]; \ |
|
[tmp1][lower] overlay=shortest=1:y=360 \ |
|
" \ |
|
-y -c:v libx264 ${MERGED} |
|
|
|
${MERGED_GIF}: ${MERGED} |
|
ffmpeg -i ${MERGED} -an -r 15 -pix_fmt rgb24 -f gif -y ${MERGED_GIF} |