Как определить, когда AviSynth имеет сообщение об ошибке, не видя видео выход - PullRequest
1 голос
/ 26 августа 2011

Есть ли программный способ проверки на наличие ошибок в сценариях Avisynth перед тем, как увидеть черно-красное сообщение об ошибке в выходных данных.

В настоящее время мы собираем файлы сценариев Avisynth как часть автоматической процедуры кодирования. Когда что-то идет не так с Avisynth или исходным файлом, Avisynth выдает большое черно-красное сообщение об ошибке. Наш кодировщик видит это как обычный видеофайл и продолжает кодирование, не вызывая ошибки.

Каков наилучший способ проверить наличие этих ошибок, фактически не видя выходных данных из видеофайла.

1 Ответ

1 голос
/ 16 ноября 2011

AviSynth имеет поддержку try-catch: http://avisynth.org/mediawiki/Control_structures#The_try..catch_statement

Я не уверен, как вы могли бы сообщить об ошибке вашему кодеру оттуда.Насколько я знаю, вы должны вернуть клип из скрипта, а оператор return внутри блока try / catch не всегда возвращает весь скрипт: http://avisynth.org/mediawiki/The_full_AviSynth_grammar#Closing_Remarks

Однако вы можете записывать сообщения об ошибках в текстфайлы, поэтому я видел, как люди делали это, чтобы проверить скрипт AVS на наличие ошибок перед его запуском:

script = "file_to_test.avs"
try {
  Import(script)
} catch (err) {
  WriteFileStart(BlankClip(), "C:\logfile.txt", script, """ ": " """, err, append=true)
}
...