FAQ virtualdub scripts
+ Ответить
Показано с 1 по 3 из 3

Тема: virtualdub scripts

Комбинированный просмотр

  1. #1

    По умолчанию

    Цитата Сообщение от Maxim_Sed Посмотреть сообщение
    тема по ависинту
    дк вопрос не о АвиСинте, а о виртуал-дабе

    ну вщм-то задачу уже решил: написал скриптами. Просто пришлось еще Ависинт ставить, а наверно можно было бы без него обойтись. Он был нужен ТОЛЬКО для того, чтобы открыть левый и правый каналы из 3д файла, а потом объединить их в один вертикальный кадр с сжатием по высоте.

    вот для истории, вдруг кому пригодится:
    файл dubbing3D.cmd
    @echo off

    rem %1 - job file
    rem %2 - avi file

    set jf=%~1
    set srcfile=%~2
    set resfileL=%~dpn2_l_deshake%~x2
    set resfileR=%~dpn2_r_deshake%~x2
    set resfile=%~dpn2_deshake%~x2
    set avsfile=%~dpn2.avs
    set avsfileL=%~dpn2_l.avs
    set avsfileR=%~dpn2_r.avs

    echo Job File: %jf%
    echo Avi File: %srcfile%

    rem готовим файлы avs

    rem выдергиваем ЛЕВЫЙ файл
    echo>> %avsfileL% vLeft = AviSource("%srcfile%", vtrack = 0)
    echo>> %avsfileL% return vLeft

    rem выдергиваем ПРАВЫЙ файл
    echo>> %avsfileR% vRight = AviSource("%srcfile%", vtrack = 1)
    echo>> %avsfileR% return vRight

    rem вертикально соединяем два ОБРАБОТАННЫХ файла
    echo>> %avsfile% vLeft = AviSource("%resfileL%")
    echo>> %avsfile% vRight = AviSource("%resfileR%")
    echo>> %avsfile% F = StackVertical(vLeft, vRight)
    echo>> %avsfile% Z = VerticalReduceBy2(F)
    echo>> %avsfile% return Z

    rem готовим файл джоба
    if exist %1 goto skip_create
    rem echo> %jf% // VirtualDub job list (Sylia script format)
    rem echo>>%jf% // This is a program generated file -- edit at your own risk.
    rem echo>>%jf% // $numjobs 1000

    :skip_create


    :addfile
    set srcfile1=%~dpn2
    set srcfile1=%srcfile1:\=\\%
    echo %srcfile1%

    >> %jf% echo // $job "Job %~nx2"
    >> %jf% echo // $script
    >> %jf% echo.
    >> %jf% echo declare fName;
    >> %jf% echo.
    >> %jf% echo fName = "%srcfile1%";
    >> %jf% echo.
    >> %jf% echo VirtualDub.Open(fName + ".avi",0,0);
    >> %jf% echo.
    >> %jf% echo VirtualDub.video.filters.Clear();
    >> %jf% echo.
    >> %jf% echo declare n;
    >> %jf% echo n = VirtualDub.video.filters.Add("Deshaker v3.0");
    >> %jf% echo.
    >> %jf% echo // ПЕРВЫЙ проход: ПИШЕМ лог deshaker'а (второй параметр "18|1...)
    >> %jf% echo VirtualDub.video.filters.instance[0].Config("18|1|30|4|1|0|1|0|640|480|1|2|1000|1000|1 000|1000|4|1|4|2|8|30|300|4|" + fName + ".log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|15|15|5|15|0|0|3 0|30|0|0|0|0|1|0|0|10|1000|1|88|1|1|20|5000|100|20 |1");
    >> %jf% echo.
    >> %jf% echo VirtualDub.Preview(); // запускаем дешейкер
    >> %jf% echo.
    >> %jf% echo // ВТОРОЙ проход: ЧИТАЕМ лог deshaker'а (второй параметр "18|2...)
    >> %jf% echo VirtualDub.video.filters.instance[0].Config("18|2|30|4|1|0|1|0|640|480|1|2|1000|1000|1 000|1000|4|1|4|2|8|30|300|4|" + fName + ".log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|15|15|5|15|0|0|3 0|30|0|0|0|0|1|0|0|10|1000|1|88|1|1|20|5000|100|20 |1");
    >> %jf% echo.
    >> %jf% echo VirtualDub.audio.filters.Clear();
    >> %jf% echo.
    >> %jf% echo VirtualDub.video.SetMode(3);
    >> %jf% echo VirtualDub.video.SetSmartRendering(0);
    >> %jf% echo VirtualDub.video.SetPreserveEmptyFrames(0);
    >> %jf% echo VirtualDub.video.SetFrameRate2(0,0,1);
    >> %jf% echo VirtualDub.video.SetIVTC(0, 0, 0, 0);
    >> %jf% echo VirtualDub.video.SetCompression(0x34363278,0,10000 ,0);
    >> %jf% echo VirtualDub.video.SetCompData(4720,"AwAAAAUAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAFwAAAOYAAAAgAwAAA QAAAAAAAAAAAAAAAQAAAC5ceDI2NC5zdGF0cwAAcwB0AGEAdAB zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAIAAAABAAA AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA==");
    >> %jf% echo.
    >> %jf% echo VirtualDub.Open("%avsfileL:\=\\%",0,0); // выдергиваем ЛЕВЫЙ файл
    >> %jf% echo VirtualDub.SaveAVI("%resfileL:\=\\%"); // пишем готовый файл
    >> %jf% echo.
    >> %jf% echo VirtualDub.Open("%avsfileR:\=\\%",0,0); // выдергиваем ПРАВЫЙ файл
    >> %jf% echo VirtualDub.SaveAVI("%resfileR:\=\\%"); // пишем готовый файл
    >> %jf% echo.
    rem сбрасываем фильтр Deshake и пишем сжатый 3д-файл (соединенные вертикально два готовых файла)
    >> %jf% echo VirtualDub.video.filters.instance[n].Remove();
    >> %jf% echo.
    >> %jf% echo VirtualDub.Open("%avsfile:\=\\%",0,0); // читаем сдвоенный вертикальный 3Д-файл
    >> %jf% echo VirtualDub.SaveAVI("%resfile:\=\\%"); // пишем готовый файл
    >> %jf% echo VirtualDub.Close();
    >> %jf% echo.
    >> %jf% echo // $endjob


    файл create_JobFor3D.cmd:
    @echo off

    set jf=%~dp1vdub_3d_job.jobs

    del %jf%

    for %%i in (%~dp1*.avi) do call dubbing3D.cmd %jf% %%i


    запускаем так:
    create_JobFor3D.cmd <Путь с видео-файлами 3Д>

    create_JobFor3D.cmd ищет все .avi файлы в указанной папке и для каждого из них запускает dubbing3D.cmd
    Тот в свою очередь создает и дополняет файл vdub_3d_job.jobs, в котором описываются задания virtualdub'а:
    - для каждого файла .avi создается 3 файла ависинта: один открывает левый канал, второй правый канал и третий рисует оба кадра сверху и снизу, сжимая все это по вертикали в 2 раза, чтобы открывали 3д-телеки.
    - далее в виртуалдабе открывается левый канал, добавляется компрессия, добавляется плагин Дешейкер и отрабатывает первый проход, в котором пишется лог-файл его работы
    - затем идет второй проход, когда выравнивается левый видео-файл и записывается
    - потом открывается правый файл и так же записывается
    - а потом отрисовываются уже стабилизированные каналы друг над другом и с сжатием по вертикали в 2 раза
    готово. Этот джоб-файл открываем в виртуалдабе (F4, File-Open, Start) и ждем, пока все обработается.

    ПС. основа взята отсюда, хотя там выполнялась другая задача.
    Последний раз редактировалось Voice2001; 05.01.2017 в 16:30.
    Продаю котят. Недорого. 50р ведро.

+ Ответить

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)