Update slated_output.bash
This commit is contained in:
@@ -2,42 +2,59 @@
|
|||||||
|
|
||||||
# This will add:
|
# This will add:
|
||||||
# - a five-second slate to the beginning of the input movie
|
# - a five-second slate to the beginning of the input movie
|
||||||
# - Three thumbnails taken from pre-selected times in the input movie will be on the slate
|
# - Three thumbnails taken from pre-selected times in the input movie will be
|
||||||
|
# on the slate
|
||||||
# - A lower-third text will be printed to the entire length of the outpu
|
# - A lower-third text will be printed to the entire length of the outpu
|
||||||
# - Then entire output will be standardized to 1920x1080
|
# - Then entire output will be standardized to 1920x1080
|
||||||
# - Audio output is 48000 pcm_s24le
|
# - Audio output is 48000 pcm_s24le
|
||||||
#
|
#
|
||||||
# The INPUT_FILE is expected as argument 1 on the command line, the idea being you might make a copy
|
# The INPUT_FILE is expected as argument 1 on the command line, the idea being
|
||||||
# of this script for each project and customise the thumbnail positions, client and title, while the
|
# you might make a copy of this script for each project and customise the
|
||||||
# movie always changes
|
# thumbnail positions, client and title, while the movie always changes.
|
||||||
#
|
#
|
||||||
# The output file will be name INPUT_FILE_slated.
|
# The output file will be name INPUT_FILE_slated.
|
||||||
|
|
||||||
|
|
||||||
# Enter project info here
|
# Enter project info here
|
||||||
PROJECT_TITLE="\"PROJECT TITLE HERE\""
|
HEADLINE="SOUND DESIGN REVIEW"
|
||||||
CLIENT="Client"
|
TITLE="\"TITLE\""
|
||||||
CONTACT="Jamie Hardt / SQUAD 51 / jamie@squad51.us / (310) 874-5620"
|
CLIENT="CLIENT"
|
||||||
MESSAGE="Sound Review $(date +%m/%d)"
|
CONTACT="CONTACT"
|
||||||
|
PIX_REF="PIC REF"
|
||||||
|
MESSAGE="Sound Design Review $(date +%m/%d)"
|
||||||
|
|
||||||
# Enter the times for each thumbnail here
|
# Enter the times for each thumbnail here
|
||||||
THUMB1_TIME="00:02:56"
|
THUMB1_TIME="00:00:30"
|
||||||
THUMB2_TIME="00:36:01"
|
THUMB2_TIME="00:01:00"
|
||||||
THUMB3_TIME="01:11:56"
|
THUMB3_TIME="00:02:00"
|
||||||
|
|
||||||
|
# Font for slate titles
|
||||||
|
FONT=:fontfile=/System/Library/Fonts/Helvetica.ttc
|
||||||
|
|
||||||
# Set this to "-to 20" while you're testing your script out, once it looks
|
# Set this to "-to 20" while you're testing your script out, once it looks
|
||||||
# right then set it to ""
|
# right then set it to ""
|
||||||
OUTPUT_LENGTH_ARG="-to 20"
|
OUTPUT_LENGTH_ARG="-to 20"
|
||||||
|
|
||||||
|
# Set this to a positive number to move the middle block, the HEADLINE, TITLE
|
||||||
|
# and CLIENT fields down/south, to avoid covering the thumbnails.
|
||||||
|
MIDDLE_Y_NUDGE="0"
|
||||||
|
|
||||||
# Set this to a positive number to move the lower-third and "file" field in
|
# Set this to a positive number to move the lower-third and "file" field in
|
||||||
# the slate up/north, to avoid covering burnins
|
# the slate up/north, to avoid covering burnins
|
||||||
BOTTOM_Y_NUDGE="90"
|
BOTTOM_Y_NUDGE="0"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#################################################################################
|
||||||
|
#####
|
||||||
|
##### DON'T EDIT BELOW THIS LINE
|
||||||
|
|
||||||
### DON'T EDIT BELOW THIS LINE ###
|
|
||||||
INPUT_FILE="$1"
|
INPUT_FILE="$1"
|
||||||
INPUT_BASENAME=$(basename -- "$INPUT_FILE")
|
INPUT_BASENAME=$(basename -- "$INPUT_FILE")
|
||||||
OUTPUT_FILE=$(dirname -- "$INPUT_FILE")/"${INPUT_BASENAME%.*}_slated.mov"
|
OUTPUT_FILE=$(dirname -- "$INPUT_FILE")/"${INPUT_BASENAME%.*}_slated.mov"
|
||||||
|
|
||||||
|
SLATE_AUDIO="-f lavfi -t 5 -i anullsrc=r=48000:cl=stereo,aformat=sample_fmts=s32:channel_layouts=stereo"
|
||||||
|
# SLATE_AUDIO="-f lavfi -t 5 -i sine=440:r=48000,aformat=sample_fmts=s32:channel_layouts=stereo,aeval=val(ch):c=same"
|
||||||
|
|
||||||
ffmpeg -y \
|
ffmpeg -y \
|
||||||
-f lavfi -i "color=c=black:s=1920x1080:d=5" \
|
-f lavfi -i "color=c=black:s=1920x1080:d=5" \
|
||||||
@@ -45,7 +62,7 @@ ffmpeg -y \
|
|||||||
-ss $THUMB2_TIME -i "$INPUT_FILE" \
|
-ss $THUMB2_TIME -i "$INPUT_FILE" \
|
||||||
-ss $THUMB3_TIME -i "$INPUT_FILE" \
|
-ss $THUMB3_TIME -i "$INPUT_FILE" \
|
||||||
-i "$INPUT_FILE" \
|
-i "$INPUT_FILE" \
|
||||||
-f lavfi -t 5 -i "anullsrc=r=48000:cl=stereo, aformat=sample_fmts=s32:channel_layouts=stereo" \
|
$SLATE_AUDIO \
|
||||||
-filter_complex "
|
-filter_complex "
|
||||||
[1:v]trim=duration=0.04,setpts=PTS-STARTPTS,scale=560:-1,tpad=stop_mode=clone:stop_duration=5[thumb1];
|
[1:v]trim=duration=0.04,setpts=PTS-STARTPTS,scale=560:-1,tpad=stop_mode=clone:stop_duration=5[thumb1];
|
||||||
[2:v]trim=duration=0.04,setpts=PTS-STARTPTS,scale=560:-1,tpad=stop_mode=clone:stop_duration=5[thumb2];
|
[2:v]trim=duration=0.04,setpts=PTS-STARTPTS,scale=560:-1,tpad=stop_mode=clone:stop_duration=5[thumb2];
|
||||||
@@ -55,16 +72,26 @@ ffmpeg -y \
|
|||||||
[tmp1][thumb2]overlay=690:100[tmp2];
|
[tmp1][thumb2]overlay=690:100[tmp2];
|
||||||
[tmp2][thumb3]overlay=1280:100[slate_raw];
|
[tmp2][thumb3]overlay=1280:100[slate_raw];
|
||||||
|
|
||||||
[slate_raw]drawtext=text='$PROJECT_TITLE':fontcolor=white:fontsize=72:x=(w-text_w)/2:y=(h/2-100)[s1];
|
[slate_raw]
|
||||||
[s1]drawtext=text='Client\: $CLIENT':fontcolor=white:fontsize=48:x=(w-text_w)/2:y=(h/2)[s2];
|
drawtext=text='$HEADLINE':fontcolor=white:box=1:boxcolor=black@.6:
|
||||||
[s2]drawtext=text='$CONTACT':fontcolor=white:fontsize=24:x=(w-text_w)/2:y=(h/2+100)[s3];
|
boxborderw=10:fontsize=72:x=(w-text_w)/2:y=(h/2)-90+$MIDDLE_Y_NUDGE$FONT,
|
||||||
[s3]drawtext=text='File\: $INPUT_BASENAME':expansion=normal:fontcolor=gray:fontsize=28:x=(w-text_w)/2:y=(h-(140+$BOTTOM_Y_NUDGE))[slate];
|
drawtext=text='$TITLE':fontcolor=white:fontsize=48:
|
||||||
|
x=(w-text_w)/2:y=(h/2)+$MIDDLE_Y_NUDGE$FONT,
|
||||||
|
drawtext=text='$CLIENT':fontcolor=white:fontsize=48:
|
||||||
|
x=(w-text_w)/2:y=(h/2)+60+$MIDDLE_Y_NUDGE$FONT,
|
||||||
|
drawtext=text='$CONTACT':fontcolor=gray:fontsize=36:
|
||||||
|
x=(w-text_w)/2:y=(h-(230+$BOTTOM_Y_NUDGE))$FONT,
|
||||||
|
drawtext=text='Pix Ref\: $PIX_REF':expansion=normal:fontcolor=gray:
|
||||||
|
fontsize=36:x=(w-text_w)/2:y=(h-(180+$BOTTOM_Y_NUDGE))$FONT[slate];
|
||||||
|
|
||||||
[4:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black, setsar=1:1[v1];
|
[4:v]scale=1920:1080:force_original_aspect_ratio=decrease,
|
||||||
|
pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black, setsar=1:1[v1];
|
||||||
[4:a]aresample=48000,aformat=sample_fmts=s32:channel_layouts=stereo[a1];
|
[4:a]aresample=48000,aformat=sample_fmts=s32:channel_layouts=stereo[a1];
|
||||||
|
|
||||||
[slate][5:a][v1][a1]concat=n=2:v=1:a=1[vcat][acat];
|
[slate][5:a][v1][a1]concat=n=2:v=1:a=1[vcat][acat];
|
||||||
[vcat]drawtext=text='$MESSAGE':fontcolor=white:box=1:boxcolor=black:boxborderw=10:fontsize=42:x=(w-text_w)/2:y=h-(100+$BOTTOM_Y_NUDGE)[outv]
|
[vcat]drawtext=text='$MESSAGE':fontcolor=white:box=1:boxcolor=black:
|
||||||
|
boxborderw=10:fontsize=42:x=(w-text_w)/2:
|
||||||
|
y=h-(100+$BOTTOM_Y_NUDGE):fontfile=$FONT[outv]
|
||||||
" \
|
" \
|
||||||
-map "[outv]" -map "[acat]" \
|
-map "[outv]" -map "[acat]" \
|
||||||
-c:v libx264 -pix_fmt yuv420p -c:a pcm_s24le -movflags +faststart $OUTPUT_LENGTH_ARG "$OUTPUT_FILE"
|
-c:v libx264 -pix_fmt yuv420p -c:a pcm_s24le -movflags +faststart $OUTPUT_LENGTH_ARG "$OUTPUT_FILE"
|
||||||
|
Reference in New Issue
Block a user