Программа AviSynth
Такой вопрос: Делаем переход между 2 видео с помощью библиотеки TransAll.dll
(Библиотеку положили в папку plugins проги Avisynth)
На рабочем компе с таким кодом в файле TransAccord.avs работает:
Left=AVISource("path\video1.avi")
Right=AVISource("path\video2.avi")
TransAccord(Left,Right,50,"hor",false,false)
А на сервере Windows Server 2012 не работает. Выкидывает ошибку:
[avisynth & 03387740] Script error: there is no function named "TransAccord"
Пробовали Avisynth версии 2.6 и версии 2.5
В чём может быть проблема?Попробуй загрузить TransAll.dll непосредственно в скрипте:
LoadPlugIn("C:\............\TransAll.dll")
Принудительно в скрипте загрузить тоже не помогает:
Left=AVISource("v1.avi")
Right=AVISource("v2.avi")
LoadPlugIn("TransAll.dll")
#LoadPlugIn("C:\Users\Administrator\Desktop\TransAll.dll")
#LoadPlugIn("C:\Program Files (x86)\AviSynth\plugins\TransAll.dll")
TransAccord(Left,Right,50,"hor",false,false)
выдаёт ошибку:
VirtualDub Error
Avisynth open failure:
LoadPlugin: unable to load "TransAll.dll", Module not found.
Install missing library?
(C:\Users\Administrator\Desktop\VirtualDub-1.10.4\TransAccord.avs, line 3)
Выдаёт теперь ошибку:
................................................
Avisynth open failure:
Script error: there is no function named "TransAccord"
(Path\TransAccord.avs, line 3)
...............................................
Ну стало быть dll-ку в папке plugins видит. Какая то мелочь ещё мешает?
http://www.avisynth.nl/users/vcmohan/
Выдаёт теперь ошибку:
................................................
Avisynth open failure:
Script error: there is no function named "TransAccord"
(Path\TransAccord.avs, line 3)
...............................................
Ну стало быть dll-ку в папке plugins видит. Что ещё мешает?
В HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth имеется 3 записи:
(Standard) -- REG_SZ -- C:\Program Files (x86)\AviSynth
initialplugindir -- REG_SZ -- C:\Program Files (x86)\AviSynth\plugins
plugindir2_5 -- REG_SZ -- C:\Program Files (x86)\AviSynth\plugins
0. Опробовать тестовые примеры работы, приведенные в документации по фильтру
1. Положить TransAll.dll в ту же папку, где лежит скрипт след. содержания
LoadPlugIn("TransAll.dll")
v1=AVISource("v1.avi")
v2=AVISource("v2.avi")
TransAccord(v1,v2,50,"hor",false,false)
и два файла -- v1.avi & v2.avi, предварительно убeдившись, что скачана нужная для системы версия библиотеки -- 32bit vs 64bit.
2. Привести лог об ошибке.
3. Отвыкать от хранения и запуска файлов в папках на десктопе.
У них кажется 64-битной версии и нет. Еще можно попробовать вызвать какую-нибудь другую функцию из этой библиотеки.
На сервере заработало только когда Visual Studio 2013 установил. Не было там. А Ависинту нужна была оттуда MSVCR120.dll
Прога AVSMeter просто чудо как хороша.
Спасибо всем за помощь!
На сервере заработало только когда Visual Studio 2013 установил. Не было там. А Ависинту нужна была оттуда MSVCR120.dll
Достаточно было redistributable package установить.