Así que estoy tratando de crear una acción de carpeta en Automator que tomará cualquier archivo mp4 que se coloque en él y superponga el archivo "código de tiempo" de ese archivo. pegado en el título del archivo como tal:
00/58/47; 02-test.mp4
con 00/58/47; 02 siendo la referencia de inicio del código de tiempo que deseo pasar al campo de código de tiempo del filtro de texto de inserción para superponer al nuevo archivo de video.
Así que, como soy muy nuevo en bash, comencé a eliminar la parte que quería y cuando pensé que tenía una referencia de código de tiempo con el formato correcto, intenté pasarla al filtro de texto de dibujo pero no funciona ...
Creo que debe tener algo que ver con la forma en que la variable $ TC está o no expandiéndose en el comando ffmpeg. Cualquier comentario o sugerencia sobre cómo pasar correctamente la variable de referencia de inicio de código de tiempo al campo de código de tiempo de superposición de texto de sorteo sería muy apreciado.
aquí es donde estoy
for f in "$@"
do
FILENAME=$(basename "$f")
#grab TC start reference from Filename
DTC=${FILENAME:0:11}
# create variables for first string replace
MATCH='/'
REPL='\\:'
# Replace "/" with "\\:"
CTC="${DTC//$MATCH/$REPL}"
# create variables for second string replace
MATCH2=';'
REPL2='\\;'
# Replace ";" with "\\;"
FTC="${CTC/$MATCH2/$REPL2}"
#put formatted timecode in a variable
TC="$FTC"
/usr/local/bin/ffmpeg -i "$f" -vf \
"format=yuv444p, \
#### This ${TC} Variable doesn't work... if I type out a timecode ie.
#### '00\:58\:47\;02' within the single quotes it works fine
drawtext=fontfile=/Library/Fonts/Arial.ttf :timecode='${TC}' \
:rate=30000/1001 :x=(w-tw)/2: y=(h-th)/2: fontcolor=white: fontsize=36: \
box=1: boxcolor=0x00000099, \
format=yuv420p" \
-c:v libx264 -r 30000/1001 \
-x264opts "keyint=180:min-keyint=180:no-scenecut" \
-c:a copy -movflags +faststart
"/Users/Station1/Desktop/TCDONE/${FILENAME%.*}.mp4"
mv "$f" "/Users/Station-1/Desktop/TCOG/${FILENAME%.*}.mp4"
done
Cualquier solución o explicación sobre cómo pasar correctamente la variable $ TC al campo de superposición del código de tiempo del filtro de texto de sorteo sería muy apreciada. ¡Gracias por leer!
${TC}
y obtén lo que quiero = 00 \: 58 \: 47 \; 02 o lo que creo que quiero para que una variable ingrese timecode='${TC}'
pero solo después de agregar dobles barras invertidas a mis reemplazos de cadena. Que voy a editar en el anterior ahora. Pero todavía no funciona como una acción de carpeta.
${TC}
en realidad proporciona lo que quieres? Muestra un eco de esta variable.