Herramientas de anotación y automatización de After Effects (scripts) para el trabajo de los estudiantes

Necesito un consejo profesional para la autoevaluación entre los estudiantes. Estoy buscando una herramienta (secuencia de comandos o secuencias de comandos) que ayude a anotar videos muy largos en After Effects. También me gustaría automatizar el proceso sin repetirme.

Tengo largos discursos (narraciones) de estudiantes con subtítulos. Los subtítulos se editan en Edición de subtítulos. En Edición de subtítulos, al comienzo de algunas palabras u oraciones, agrego símbolos como [#] o [$] . Después de importar video y subtítulos ( pt_ImportSubtitles ) con los símbolos [#] y [$] agregados , me gustaría que un tercio inferior específico (anotación de texto simple o comentarios) se active automáticamente (aparece en la pantalla) (durante 3 segundos) para cada palabra importada o grupo de palabras (marcador o marca de tiempo) con símbolos específicos.

Digamos que tengo dos tercios inferiores. El primer tercio inferior está asociado con palabras que comienzan con un símbolo [#] (argumento válido) y otro conjunto de palabras está asociado con cualquier palabra que comience con [$] (argumento no válido).

Ejemplos [#] Moscú es la capital de la Federación Rusa [$] Moscú no es la capital de la Federación Rusa

Captura de pantalla de la edición de subtítulos

Si [#] se repite 30 veces, el primer tercio inferior también debe aparecer 30 veces. La misma lógica es para el símbolo [$] .

Los textos para tercios inferiores preferiblemente deben almacenarse fuera de AE ​​en una hoja de cálculo, por ejemplo ( Text2Spreadsheet )

Por favor, hágame saber si una herramienta (secuencia de comandos o un conjunto de secuencias de comandos) que estoy buscando existe o no. Si no. ¿Cómo puedo hacerlo manualmente con los scripts que mencioné anteriormente? Gracias a todos

Esto se puede hacer con secuencias de comandos, pero dudo que ya haya una secuencia de comandos que haga lo que creo que desea. ¿Por qué no separar el proceso de subtítulos y el proceso del tercio inferior? Lo haría mucho más simple.
Los tercios inferiores están completamente separados de los subtítulos importados (marcas de tiempo). Solo uso las marcas de tiempo de los subtítulos (marcadores) para activar los tercios inferiores para que aparezcan cuando sea necesario.
Perdón. No todas las marcas de tiempo de los subtítulos, pero los subtítulos que contienen símbolos como: # y & solamente. Al comienzo de ciertos subtítulos.

Respuestas (2)

Como he escrito en mi blog , puede usar la función evalFilepara cargar el contenido de un archivo externo como datos o código ejecutable.

Entonces, si tiene un archivo llamado titles.txtque se ve así

var titles={
    {startTime:1.23, endTime:2.23, textContent:"this is the first subtitle"},
    {timestamp:2.34, endTime:3.45, textContent:"this is the second subtitle"},
    {timestamp:4.56, endTime:5.55, textContent:"and so on…"}
}

…puede evaluarlo como parte de la fuente de la expresión, de modo que la titlesmatriz ahora esté disponible para la expresión.

Entonces, podría hacer algo como esto con la propiedad de texto de origen de una capa de texto:

try{
    myPath = “/path/to/my/titles.txt”; //obviously the path to the file
    $.evalFile(myPath);
    for (var i=0; i < titles.length; i++){
       if (time > titles[i].startTime && time < titles[i].endTime){
           titles[i].textContent;
       } else { ""; } //blank text
 }catch(err){ERROR”;
} 

Lo que hace es:

  • cargar el archivo de subtítulos,
  • escanee los títulos y mire cada uno para ver si la hora actual está entre sus puntos de inicio y finalización
  • si es el momento adecuado para que se muestre el subtítulo, establece el texto de origen en el contenido del subtítulo; si no, lo establece en una cadena en blanco.

Otras capas podrían usar las variables startTime y endTime para controlar otras propiedades, como la opacidad o cualquier otra cosa que pueda animar.

Si las marcas de tiempo de los subtítulos se representan como código de tiempo smpte, deberá agregar un convertidor a la expresión. Hay uno aquí .

Puede usar un editor de texto compatible (notepad ++, atom, sublime text, vim, etc.) para reformatear el archivo de subtítulos, o puede usar herramientas de procesamiento de texto JS (por ejemplo, regex, string.split, string.replace, etc.) en el script para analizar el archivo de subtítulos. Recomiendo en contra de este último, van a ser mucho más lentos. Recuerde que la expresión se evalúa cada vez que se procesa el cuadro , lo que incluye leer el archivo de subtítulos desde el disco. Si tiene activado el desenfoque de movimiento, eso podría significar docenas de veces cada cuadro.

Gracias por tu ayuda. Solo quería hacer varios tercios inferiores y aplicarlos sobre (30 o 50) sellos cuyas cadenas comienzan con [#] (símbolo asociado con el primer tercio inferior) y luego aplico el segundo tercio inferior a todos los sellos cuyas cadenas comienzan con [$] (símbolo asociado al segundo tercio inferior). Por favor, vea la captura de pantalla de arriba. En su código, no veo cómo hacerlo (busque cadenas que comiencen con [#] o [$]). Estoy equivocado ? Perdón. Como ves, el inglés no es mi primera lengua.
Simplemente guarde sus subtítulos como un srt o lo que sea, luego use un editor de texto como los que mencioné (todos gratuitos) formatéelos para que se vean como el ejemplo anterior. Puede usar buscar y reemplazar y expresiones regulares. Puede agregar código a la expresión que busca el símbolo, javascript tiene muchas herramientas de procesamiento de cadenas, la mayoría de las cuales funcionan en expresiones (aunque no están documentadas), pero sería mejor hacerlo en un editor de texto.

Consulte Marker Remap en www.aescripts.com/marker-remap. Toma los principios que mencionó anteriormente y agrega un poderoso panel de After Effects para controlar las adiciones de marcadores y el tiempo. No podrá personalizarlo para sus etiquetas, pero creo que ofrece la funcionalidad que está buscando.