blob: 5ad3e59f4988fcac3bd79d81bb1c4b620f2679ab [file] [log] [blame]
Ravago Jones3b4fd912023-03-18 13:35:17 -07001#!/bin/bash
2
3# --- begin runfiles.bash initialization ---
4# Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
5set -euo pipefail
6if [[ ! -d "${RUNFILES_DIR:-/dev/null}" && ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
7 if [[ -f "$0.runfiles_manifest" ]]; then
8 export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest"
9 elif [[ -f "$0.runfiles/MANIFEST" ]]; then
10 export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST"
11 elif [[ -f "$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
12 export RUNFILES_DIR="$0.runfiles"
13 fi
14fi
15if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
16 source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash"
17elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
18 source "$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
19 "$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
20else
21 echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
22 exit 1
23fi
24# --- end runfiles.bash initialization ---
25
26
27
28# Copied from http://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos
29
30$(rlocation ffmpeg/ffmpeg)\
31 -i $1 -i $2 -i $3 -i $4\
32 -filter_complex "
33 nullsrc=size=2560x1440 [base];
34 [0:v] setpts=PTS-STARTPTS, scale=1280x720 [upperleft];
35 [1:v] setpts=PTS-STARTPTS, scale=1280x720 [upperright];
36 [2:v] setpts=PTS-STARTPTS, scale=1280x720 [lowerleft];
37 [3:v] setpts=PTS-STARTPTS, scale=1280x720 [lowerright];
38 [base][upperleft] overlay=shortest=1 [tmp1];
39 [tmp1][upperright] overlay=shortest=1:x=1280 [tmp2];
40 [tmp2][lowerleft] overlay=shortest=1:y=720 [tmp3];
41 [tmp3][lowerright] overlay=shortest=1:x=1280:y=720
42 " \
43 -c:v libx264 ~/video_tiler_out.mp4