···11-#! /bin/bash
22-33-if [[ $1 == "run" ]]; then
44- docker-compose run --rm "${@:2}"
55-elif [[ $1 == "up" ]]; then
66- docker-compose up "${@:2}"; docker-compose down
77-else
88- docker-compose "${@:1}"
99-fi
-44
render
···11-#! /bin/bash
22-33-help() {
44- SCRIPT_FILENAME=${0##*/}
55- echo ""
66- echo "Syntax: $SCRIPT_FILENAME <path> [path...]"
77- echo " path: After Effects .aep file for aerender to render."
88- echo " Can also be a directory that contains .aep files."
99- echo ""
1010-}
1111-1212-render() {
1313- /Applications/Adobe\ After\ Effects\ CC\ 2019/aerender -project "$1"
1414-}
1515-if [[ $1 ]]; then
1616- ERRORS=()
1717- for ARG in "$@"; do
1818- echo ""
1919- if [[ -d "$ARG" ]]; then
2020- for FILE in "$ARG"/*; do
2121- if [[ -f "$FILE" && $FILE == */Project.aep ]]; then
2222- render "$FILE"
2323- fi
2424- done
2525- elif [[ -f "$ARG" && $ARG == *.aep ]]; then
2626- render "$ARG"
2727- else
2828- echo ERROR: Not a directory or .aep file: ${ARG}
2929- ERRORS+=($ARG)
3030- fi
3131- done
3232- echo ""
3333- if [[ ${#ERRORS[@]} != 0 ]]; then
3434- echo ERROR: One or more paths were not directories or .aep files:
3535- for ELEMENT in ${FILES[@]}; do
3636- echo File: $ELEMENT.
3737- done
3838- else
3939- echo "Done rendering"
4040- fi
4141-4242-else
4343- help
4444-fi
···11-#!/bin/sh
22-33-FILE=$1
44-FPS=$2
55-SCALE=$3
66-DURATION=$4
77-START_AT=$5
88-99-if [[ $FILE ]]
1010-then
1111-1212- if ! [[ $FPS ]]; then FPS=15; fi
1313- if ! [[ $SCALE ]]; then SCALE=1; fi
1414- if ! [[ $DURATION ]]; then DURATION=999999; fi
1515- if ! [[ $START_AT ]]; then START_AT=0; fi
1616-1717- PALETTE=palette-rp7w8zsw2dx83dsxrgqmt6f5.png
1818-1919- echo "Generate a palette:"
2020- ffmpeg -y -ss $START_AT -t $DURATION -i $FILE -vf fps=$FPS,scale=w=${SCALE}*iw:h=${SCALE}*ih:-1:flags=lanczos,palettegen ${PALETTE}
2121-2222- echo "Output the GIF using the palette:"
2323- ffmpeg -ss $START_AT -t $DURATION -i $FILE -i ${PALETTE} -filter_complex "fps=${FPS},scale=w=${SCALE}*iw:h=${SCALE}*ih:flags=lanczos[x];[x][1:v]paletteuse" ${FILE%.*}.gif
2424-2525- rm -f ${PALETTE}
2626-2727-else
2828- SCRIPT_FILENAME=${0##*/}
2929- echo "Syntax: $SCRIPT_FILENAME <file> [fps] [scale] [duration] [start_at]"
3030- echo " file: File to convert to gif. Required."
3131- echo " fps: Defaults to 15."
3232- echo " scale: GIF resolution. Defaults to 1."
3333- echo " duration: How long the gif will be, in seconds. Defaults to 999999."
3434- echo " start_at: Where the video starts, in seconds. Defaults to 0"
3535-fi
···11-#! /bin/bash
22-33-FILENAME=${0##*/}
44-55-if [[ -z "$1" ]]; then
66- echo "Syntax: $FILENAME videofile [subtitles]"
77-else
88- if [[ -z "$2" ]]; then
99- ffmpeg -i "${1}" -i "${2}" "${1%.*}.mp4"
1010- else
1111- ffmpeg -i "${1}" "${1%.*}.mp4"
1212- fi
1313-fi
-7
welp
···11-#! /bin/bash
22-33-# get the dir that the file is in
44-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
55-66-echo These scripts are installed in $DIR:
77-ls -1 $DIR
···11+#! /bin/bash
22+33+if [[ $1 == "run" ]]; then
44+ docker-compose run --rm "${@:2}"
55+elif [[ $1 == "up" ]]; then
66+ docker-compose up "${@:2}"; docker-compose down
77+else
88+ docker-compose "${@:1}"
99+fi
+44
bin/render
···11+#! /bin/bash
22+33+help() {
44+ SCRIPT_FILENAME=${0##*/}
55+ echo ""
66+ echo "Syntax: $SCRIPT_FILENAME <path> [path...]"
77+ echo " path: After Effects .aep file for aerender to render."
88+ echo " Can also be a directory that contains .aep files."
99+ echo ""
1010+}
1111+1212+render() {
1313+ /Applications/Adobe\ After\ Effects\ CC\ 2019/aerender -project "$1"
1414+}
1515+if [[ $1 ]]; then
1616+ ERRORS=()
1717+ for ARG in "$@"; do
1818+ echo ""
1919+ if [[ -d "$ARG" ]]; then
2020+ for FILE in "$ARG"/*; do
2121+ if [[ -f "$FILE" && $FILE == */Project.aep ]]; then
2222+ render "$FILE"
2323+ fi
2424+ done
2525+ elif [[ -f "$ARG" && $ARG == *.aep ]]; then
2626+ render "$ARG"
2727+ else
2828+ echo ERROR: Not a directory or .aep file: ${ARG}
2929+ ERRORS+=($ARG)
3030+ fi
3131+ done
3232+ echo ""
3333+ if [[ ${#ERRORS[@]} != 0 ]]; then
3434+ echo ERROR: One or more paths were not directories or .aep files:
3535+ for ELEMENT in ${FILES[@]}; do
3636+ echo File: $ELEMENT.
3737+ done
3838+ else
3939+ echo "Done rendering"
4040+ fi
4141+4242+else
4343+ help
4444+fi
···11+#!/bin/sh
22+33+FILE=$1
44+FPS=$2
55+SCALE=$3
66+DURATION=$4
77+START_AT=$5
88+99+if [[ $FILE ]]
1010+then
1111+1212+ if ! [[ $FPS ]]; then FPS=15; fi
1313+ if ! [[ $SCALE ]]; then SCALE=1; fi
1414+ if ! [[ $DURATION ]]; then DURATION=999999; fi
1515+ if ! [[ $START_AT ]]; then START_AT=0; fi
1616+1717+ PALETTE=palette-rp7w8zsw2dx83dsxrgqmt6f5.png
1818+1919+ echo "Generate a palette:"
2020+ ffmpeg -y -ss $START_AT -t $DURATION -i $FILE -vf fps=$FPS,scale=w=${SCALE}*iw:h=${SCALE}*ih:-1:flags=lanczos,palettegen ${PALETTE}
2121+2222+ echo "Output the GIF using the palette:"
2323+ ffmpeg -ss $START_AT -t $DURATION -i $FILE -i ${PALETTE} -filter_complex "fps=${FPS},scale=w=${SCALE}*iw:h=${SCALE}*ih:flags=lanczos[x];[x][1:v]paletteuse" ${FILE%.*}.gif
2424+2525+ rm -f ${PALETTE}
2626+2727+else
2828+ SCRIPT_FILENAME=${0##*/}
2929+ echo "Syntax: $SCRIPT_FILENAME <file> [fps] [scale] [duration] [start_at]"
3030+ echo " file: File to convert to gif. Required."
3131+ echo " fps: Defaults to 15."
3232+ echo " scale: GIF resolution. Defaults to 1."
3333+ echo " duration: How long the gif will be, in seconds. Defaults to 999999."
3434+ echo " start_at: Where the video starts, in seconds. Defaults to 0"
3535+fi
···11+#! /bin/bash
22+33+FILENAME=${0##*/}
44+55+if [[ -z "$1" ]]; then
66+ echo "Syntax: $FILENAME videofile [subtitles]"
77+else
88+ if [[ -z "$2" ]]; then
99+ ffmpeg -i "${1}" -i "${2}" "${1%.*}.mp4"
1010+ else
1111+ ffmpeg -i "${1}" "${1%.*}.mp4"
1212+ fi
1313+fi
+7
bin/welp
···11+#! /bin/bash
22+33+# get the dir that the file is in
44+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
55+66+echo These scripts are installed in $DIR:
77+ls -1 $DIR