An_privateНо вот как организовать сложение результата анализа в лог?Это можно сделать WriteFile-ом.
Например.
##################################################
AVISource("test.avi")
# Тут я специально поменял порядок полей, чтобы проверить скрипт.
AssumeBFF
part1=trim(0,200)
part2=trim(201,0).SwapFields
Part1++Part2
AssumeBFF
# Тут пошел основной скрипт
v1 = assumeframebased()
global tff=assumetff(v1).separatefields().bob()
global bff=assumebff(v1).separatefields().bob()
colon1 = " : "
Top="TFF"
Bottom="BFF"
logname = "output.txt"
bff # Это нужно чтобы сошлось количество кадров в исходном интерлэйсном клипе и в боб-клипе. Иначе обработается только половина.
WriteFileIF(logname, "(yDifferenceFromPrevious(tff)+ydifferenceToNext(tff)<yDifferenceFromPrevious(bff)+yDifferenceToNext(bff))", "Current_Frame+1", "colon1", "Top", "colon1", "yDifferenceFromPrevious(tff)+ydifferenceToNext(tff)", "colon1", "yDifferenceFromPrevious(bff)+yDifferenceToNext(bff)")
WriteFileIF(logname, "(yDifferenceFromPrevious(tff)+ydifferenceToNext(tff)>=yDifferenceFromPrevious(bff)+yDifferenceToNext(bff))", "Current_Frame+1", "colon1", "Bottom", "colon1", "yDifferenceFromPrevious(tff)+ydifferenceToNext(tff)", "colon1", "yDifferenceFromPrevious(bff)+yDifferenceToNext(bff)")
##################################################
Далее либо запускается скрипт через Дуб > video analysis pass, либо, что суть тоже самое, через ffmpeg (ffprobe.exe -i test.avs -count_frames, так даже удобнее, т.к. можно батник на авто-обработку кучи файлов легко реализовать, да и работает намного быстрее, чем Дуб).
На выходе тхт файл, в котором содержится следующая инфа:
Номер ПОЛУКАДРА : Порядок поля : Отличие для TFF : Отличие для BFF.
(Последние два - просто для проверки, по сути TFF или BFF вычисляется их сравнением, см.формулу в скрипте).
#############################
397 : BFF : 26.398357 : 19.133083
398 : BFF : 28.377050 : 20.037685
399 : BFF : 28.925915 : 20.586552
400 : BFF : 30.040155 : 21.024448
401 : BFF : 29.665941 : 20.650234
402 : TFF : 26.822704 : 30.620838
403 : TFF : 32.160988 : 35.959122
404 : TFF : 24.498444 : 40.867424
405 : TFF : 25.116959 : 41.485939
406 : TFF : 24.436981 : 40.926235
#################################
На двухсотом кадре в скрипте я поменял порядок полей клипа, на 402-м полукадре (201-м кадре) автомат это увидел. Все работет
![](/wink.svg)
Соотвественно, батч можно реализовать скриптом, автоматом создающим кучу AVS-ов с автовнесением имен входных файлов, имен лог-файлов и т.п.