<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bash on</title><link>https://squad51.us/tags/bash/</link><description>Recent content in Bash on</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Fri, 14 Nov 2025 10:53:13 -0800</lastBuildDate><atom:link href="https://squad51.us/tags/bash/index.xml" rel="self" type="application/rss+xml"/><item><title>Slate with FFmpeg</title><link>https://squad51.us/notebook/slate_with_ffmpeg/</link><pubDate>Fri, 14 Nov 2025 10:53:13 -0800</pubDate><guid>https://squad51.us/notebook/slate_with_ffmpeg/</guid><description>&lt;p&gt;This is a little buggy with certain input movies but generally works great for
anything prores or h264 at standard 1080p resolution.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://squad51.us/images/Screenshot_slate_ffmpeg.png" alt="A screenshot of the slate this creates"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#fff;background-color:#1f1f24;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;#!/bin/bash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# slated_output.bash &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Add slate to the beginning of a movie &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# by Jamie Hardt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# (c) 2025 Squad 51 Inc. All rights reserved.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# This will add:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# - a slate to the beginning of the input movie&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# - Three thumbnails taken from pre-selected times in the input movie will be &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# on the slate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# - A lower-third text will be printed to the entire length of the outpu &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# - Then entire output will be standardized to 1920x1080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# - Audio output is 48000 pcm_s24le&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# The INPUT_FILE is expected as argument 1 on the command line, the idea being&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# you might make a copy of this script for each project and customise the&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# thumbnail positions, client and title, while the movie always changes.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# The output file will be name INPUT_FILE_slated.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Enter project info here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;HEADLINE&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;SOUND DESIGN REVIEW&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;TITLE&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;\&amp;#34;TITLE\&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;CLIENT&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;CLIENT&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;CONTACT&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;CONTACT&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;PIX_REF&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;PIC_REF&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;MESSAGE&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;MESSAGE&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Enter the times for each thumbnail here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;THUMB1_TIME&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;00:00:37&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;THUMB2_TIME&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;00:08:39&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;THUMB3_TIME&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;00:11:00&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;MESSAGE_COLOR&lt;/span&gt;=yellow
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Enter the slate duration in seconds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;SLATE_DURATION&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Set a number here to play a test tone at -20 dBFS under the slate. Don&amp;#39;t set &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# it and the slate will be silent&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# SLATE_TONE=440&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Font for slate titles. Leave it unset for the default&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;FONT&lt;/span&gt;=/System/Library/Fonts/Avenir.ttc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Set this to &amp;#34;-to 20&amp;#34; while you&amp;#39;re testing your script out, once it looks &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# right then set it to &amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;OUTPUT_LENGTH_ARG&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;-to 20&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Set this to a positive number to move the middle block, the HEADLINE, TITLE &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# and CLIENT fields down/south, to avoid covering the thumbnails.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;MIDDLE_Y_NUDGE&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Set this to a positive number to move the lower-third and &amp;#34;file&amp;#34; field in &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# the slate up/north, to avoid covering burnins&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;BOTTOM_Y_NUDGE&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;#################################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;#####&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;##### DON&amp;#39;T EDIT BELOW THIS LINE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc5fa3"&gt;if&lt;/span&gt; [ ! -z &lt;span style="color:#41a1c0"&gt;$FONT&lt;/span&gt; ]; &lt;span style="color:#fc5fa3"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#41a1c0"&gt;FONT&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;:fontfile=&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$FONT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc5fa3"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;INPUT_FILE&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$1&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;INPUT_BASENAME&lt;/span&gt;=&lt;span style="color:#fc5fa3"&gt;$(&lt;/span&gt;basename -- &lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$INPUT_FILE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#fc5fa3"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;OUTPUT_FILE&lt;/span&gt;=&lt;span style="color:#fc5fa3"&gt;$(&lt;/span&gt;dirname -- &lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$INPUT_FILE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#fc5fa3"&gt;)&lt;/span&gt;/&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;${&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;INPUT_BASENAME&lt;/span&gt;%.*&lt;span style="color:#fc6a5d"&gt;}&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;_slated.mov&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6c7986"&gt;# Escape title, client and message fields in case they have quotes or colons&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;TITLE&lt;/span&gt;=&lt;span style="color:#fc5fa3"&gt;$(&lt;/span&gt;&lt;span style="color:#d0a8ff"&gt;echo&lt;/span&gt; -n &lt;span style="color:#41a1c0"&gt;$TITLE&lt;/span&gt; | ffescape -p &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#34;&lt;/span&gt; -s &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#39;:&amp;#34;&lt;/span&gt; | ffescape -p &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style="color:#fc5fa3"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;CLIENT&lt;/span&gt;=&lt;span style="color:#fc5fa3"&gt;$(&lt;/span&gt;&lt;span style="color:#d0a8ff"&gt;echo&lt;/span&gt; -n &lt;span style="color:#41a1c0"&gt;$CLIENT&lt;/span&gt; | ffescape -p &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#34;&lt;/span&gt; -s &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#39;:&amp;#34;&lt;/span&gt; | ffescape -p &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style="color:#fc5fa3"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;MESSAGE&lt;/span&gt;=&lt;span style="color:#fc5fa3"&gt;$(&lt;/span&gt;&lt;span style="color:#d0a8ff"&gt;echo&lt;/span&gt; -n &lt;span style="color:#41a1c0"&gt;$MESSAGE&lt;/span&gt; | ffescape -p &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#34;&lt;/span&gt; -s &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#39;:&amp;#34;&lt;/span&gt; | ffescape -p &lt;span style="color:#fc6a5d"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style="color:#fc5fa3"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#41a1c0"&gt;SLATE_AUDIO&lt;/span&gt;=&lt;span style="color:#fc6a5d"&gt;&amp;#34;-f lavfi -t &lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$SLATE_DURATION&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt; -i &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc5fa3"&gt;if&lt;/span&gt; [ -z &lt;span style="color:#41a1c0"&gt;$SLATE_TONE&lt;/span&gt; ]; &lt;span style="color:#fc5fa3"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#41a1c0"&gt;SLATE_AUDIO&lt;/span&gt;+=&lt;span style="color:#41a1c0"&gt;anullsrc&lt;/span&gt;=&lt;span style="color:#41a1c0"&gt;r&lt;/span&gt;=48000:cl=stereo,aformat=&lt;span style="color:#41a1c0"&gt;sample_fmts&lt;/span&gt;=s32:&lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#41a1c0"&gt;channel_layouts&lt;/span&gt;=stereo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc5fa3"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#41a1c0"&gt;SLATE_AUDIO&lt;/span&gt;+=&lt;span style="color:#fc6a5d"&gt;&amp;#34;sine=&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$SLATE_TONE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;:r=48000,aformat=sample_fmts=s32:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#41a1c0"&gt;SLATE_AUDIO&lt;/span&gt;+=&lt;span style="color:#fc6a5d"&gt;&amp;#34;channel_layouts=stereo,aeval=val(ch):c=same&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc5fa3"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -y -hide_banner &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -f lavfi -i &lt;span style="color:#fc6a5d"&gt;&amp;#34;color=c=black:s=1920x1080:d=&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$SLATE_DURATION&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -ss &lt;span style="color:#41a1c0"&gt;$THUMB1_TIME&lt;/span&gt; -i &lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$INPUT_FILE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -ss &lt;span style="color:#41a1c0"&gt;$THUMB2_TIME&lt;/span&gt; -i &lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$INPUT_FILE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -ss &lt;span style="color:#41a1c0"&gt;$THUMB3_TIME&lt;/span&gt; -i &lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$INPUT_FILE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -i &lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$INPUT_FILE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#41a1c0"&gt;$SLATE_AUDIO&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -filter_complex &lt;span style="color:#fc6a5d"&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [1:v]trim=duration=0.04,setpts=PTS-STARTPTS,scale=560:-1,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; tpad=stop_mode=clone:stop_duration=&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$SLATE_DURATION&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;[thumb1];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [2:v]trim=duration=0.04,setpts=PTS-STARTPTS,scale=560:-1,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; tpad=stop_mode=clone:stop_duration=&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$SLATE_DURATION&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;[thumb2];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [3:v]trim=duration=0.04,setpts=PTS-STARTPTS,scale=560:-1,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; tpad=stop_mode=clone:stop_duration=&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$SLATE_DURATION&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;[thumb3];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [0:v][thumb1]overlay=100:100[tmp1];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [tmp1][thumb2]overlay=690:100[tmp2];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [tmp2][thumb3]overlay=1280:100[slate_raw];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [slate_raw]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; drawtext=text=&amp;#39;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$HEADLINE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#39;:fontcolor=white:box=1:boxcolor=black@.6:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; boxborderw=10:fontsize=72:x=(w-text_w)/2:y=(h/2)-90+&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$MIDDLE_Y_NUDGE$FONT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; drawtext=text=&amp;#39;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$TITLE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#39;:fontcolor=white:fontsize=48:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; x=(w-text_w)/2:y=(h/2)+&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$MIDDLE_Y_NUDGE$FONT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; drawtext=text=&amp;#39;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$CLIENT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#39;:fontcolor=white:fontsize=48:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; x=(w-text_w)/2:y=(h/2)+60+&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$MIDDLE_Y_NUDGE$FONT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; drawtext=text=&amp;#39;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$CONTACT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#39;:fontcolor=gray:fontsize=36:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; x=(w-text_w)/2:y=(h-(230+&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$BOTTOM_Y_NUDGE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;))&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$FONT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; drawtext=text=&amp;#39;Pix Ref\: &lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$PIX_REF&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#39;:expansion=normal:fontcolor=gray:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; fontsize=36:x=(w-text_w)/2:y=(h-(180+&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$BOTTOM_Y_NUDGE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;))&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$FONT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;[slate];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [4:v]scale=1920:1080:force_original_aspect_ratio=decrease,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black, setsar=1:1[v1];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [4:a]aresample=48000,aformat=sample_fmts=s32:channel_layouts=stereo[a1];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [slate][5:a][v1][a1]concat=n=2:v=1:a=1[vcat][acat];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; [vcat]drawtext=text=&amp;#39;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$MESSAGE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#39;:fontcolor=&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$MESSAGE_COLOR&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;:box=1:boxcolor=black:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; boxborderw=10:fontsize=42:x=(w-text_w)/2:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; y=h-(100+&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$BOTTOM_Y_NUDGE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;):fontfile=&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$FONT&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;[outv]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fc6a5d"&gt; &amp;#34;&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -map &lt;span style="color:#fc6a5d"&gt;&amp;#34;[outv]&amp;#34;&lt;/span&gt; -map &lt;span style="color:#fc6a5d"&gt;&amp;#34;[acat]&amp;#34;&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c:v libx264 -pix_fmt yuv420p -c:a pcm_s24le -movflags +faststart &lt;span style="color:#41a1c0"&gt;$OUTPUT_LENGTH_ARG&lt;/span&gt; &lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#41a1c0"&gt;$OUTPUT_FILE&lt;/span&gt;&lt;span style="color:#fc6a5d"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>