кто-нибудь работает с сабжем?
есть 3д-видео файлы с фотоаппарата fujifilm 3d w3. Это контейнер AVI, содержащий две видео дорожки (на правый и левый объектив).
задача такая:
- Нужно открыть эти 2 видео дорожки.
- Расположить их друг над другом или рядом (чтобы смог прочитать 3д-телевизор и корректно отобразить).
- Обработать плагином Deshaker v3.0 (убрать дрожь).
- Сохранить в новый файл.
Руками это всё делается. Но хотелось бы скриптом.
Проблема в том, что я не нашел, как virtualdub'ом открыть один из видео-потоков. Открывается только первый. И как расположить их друг над другом (не нашел подходящего плагина).
Задача решаема с помощью AviSynth, но в таком случае получается каша из разных сред:
- нужно написать батник, который бы управлял всем ниже (пишет динамический скрипт для virtualdub'а и AviSynth).
- нужно установить AviSynth, который умеет вытаскивать отдельные видео-дорожки и располагать их одну над другой, плюс сжимать по вертикали (есть подозрение, что все это ДОЛЖЕН уметь virtualdub. Т.е. этот шаг, я надеюсь, можно убрать)
- написать скрипт в самом virtualdub'е, который запустит Deshaker и потом сохранит в конечный видеофайл.
скрипт для AviSynth'а совсем простой. Думаю, virtualdub должен уметь это делать:
======================================
fName = "D:\Photos\107_FUJI\111\DSCF7494.avi" # задаем путь к исходному видеофайлу
vLeft = AviSource(fName, vtrack = 0) # грузим левую картинку
vRight = AviSource(fName, vtrack = 1) # правую картинку
F = StackVertical(vLeft, vRight) # располагаем картинки одну над другой
Z = VerticalReduceBy2(F) # сжимаем по вертикали в 2 раза для корректного отображения телевизором
return Z # возвращаем результат в virtualdub
======================================
но можно ли от него избавиться?