Народ, спасайте! Есть два видео канала.В принципе они берутся из AMTimeline, Нужно их смекшировать таким образом, что если допустим на входе было два канала по 640x480, то на выходе будет
1280x480, т.е поставить их рядом друг с другом.И самое главное результат нужно сохранять на диск. Пытался сделать через Video Mixing Renderer 9, сешать получилось, а вот сохранить рез-т оказалось невозможным, так как у этого фильтра отстутствую выходные пины. Прошу помогите. Если имеет значение пишу на MC++, использую библиотеки DexterLib и DirectShowLib.
Здравствуйте, XSega, Вы писали:
XS>Народ, спасайте! Есть два видео канала.В принципе они берутся из AMTimeline, Нужно их смекшировать таким образом, что если допустим на входе было два канала по 640x480, то на выходе будет XS>1280x480, т.е поставить их рядом друг с другом.И самое главное результат нужно сохранять на диск. Пытался сделать через Video Mixing Renderer 9, сешать получилось, а вот сохранить рез-т оказалось невозможным, так как у этого фильтра отстутствую выходные пины. Прошу помогите. Если имеет значение пишу на MC++, использую библиотеки DexterLib и DirectShowLib.
могу продать готовый фильтр за некоторую сумму.
а вообще мы сделали фильтр с друмя входными пинами и одним выходным. хотя есть вариант как использовать VMR-9 для этого. тут поиском поищи, вроде я где-то уже спрашивал и мне объясняли
Здравствуйте, squid, Вы писали:
S>могу продать готовый фильтр за некоторую сумму.
Если не секрет о какой сумме идет речь, ответ можно прислать сюда — xsega@mail.ru S>а вообще мы сделали фильтр с друмя входными пинами и одним выходным. хотя есть вариант как использовать VMR-9 для этого. тут поиском поищи, вроде я где-то уже спрашивал и мне объясняли
Почитал я это ветку, но честно говоря так и не понял, как используя VMR, рез-т можно сохранить на диск. Кто то там писал,что такого же результата можно каким то образом добитсья,используя DES.
Здравствуйте, XSega, Вы писали:
XS>Народ, спасайте! Есть два видео канала.В принципе они берутся из AMTimeline, Нужно их смекшировать таким образом, что если допустим на входе было два канала по 640x480, то на выходе будет XS>1280x480, т.е поставить их рядом друг с другом.И самое главное результат нужно сохранять на диск. Пытался сделать через Video Mixing Renderer 9, сешать получилось, а вот сохранить рез-т оказалось невозможным, так как у этого фильтра отстутствую выходные пины. Прошу помогите. Если имеет значение пишу на MC++, использую библиотеки DexterLib и DirectShowLib.
Возьми за основу Transform filter. Кол-во пинов нужно будет переопределить.
Писал давно все подробности непомню точно, но приблизительно так...
В CheckInputType укажи поддерживаемые форматы;
в GetMediaType указываешь выходной формат;
В DecideBufferSize выделяем память;
Ну и собственно в Transform работа с данными.
Здравствуйте, squid, Вы писали:
S>это я вообще не понял. точнее я понимаю что это наверное можно для файлов, но скажем, как связать это с видеозахватом...
А у меня и не используется видеозахват, видео грузится с диска.Просто есть две видяшки — правый и левый канал, их надо объеденить в одну.
Здравствуйте, mixei, Вы писали:
M>Здравствуйте, XSega, Вы писали:
XS>>Народ, спасайте! Есть два видео канала.В принципе они берутся из AMTimeline, Нужно их смекшировать таким образом, что если допустим на входе было два канала по 640x480, то на выходе будет XS>>1280x480, т.е поставить их рядом друг с другом.И самое главное результат нужно сохранять на диск. Пытался сделать через Video Mixing Renderer 9, сешать получилось, а вот сохранить рез-т оказалось невозможным, так как у этого фильтра отстутствую выходные пины. Прошу помогите. Если имеет значение пишу на MC++, использую библиотеки DexterLib и DirectShowLib.
M>Возьми за основу Transform filter. Кол-во пинов нужно будет переопределить. M>Писал давно все подробности непомню точно, но приблизительно так...
M>В CheckInputType укажи поддерживаемые форматы; M>в GetMediaType указываешь выходной формат; M>В DecideBufferSize выделяем память; M>Ну и собственно в Transform работа с данными.
M>В нете и в SDK есть примеры Transform фильтра.
Да, я конечно понимаю,что можно написать для этого фильтр, но это займет много времени. Мне кажется должен быть способ, как в AMTimeline(DES),можно сединить два видеотрека(Организовать,что то вроде Picture in pictre,а это уже практически то, что мне нужно). Народ подскажите!
Здравствуйте, mixei, Вы писали:
M>Здравствуйте, XSega, Вы писали:
XS>>Народ, спасайте! Есть два видео канала.В принципе они берутся из AMTimeline, Нужно их смекшировать таким образом, что если допустим на входе было два канала по 640x480, то на выходе будет XS>>1280x480, т.е поставить их рядом друг с другом.И самое главное результат нужно сохранять на диск. Пытался сделать через Video Mixing Renderer 9, сешать получилось, а вот сохранить рез-т оказалось невозможным, так как у этого фильтра отстутствую выходные пины. Прошу помогите. Если имеет значение пишу на MC++, использую библиотеки DexterLib и DirectShowLib.
M>Возьми за основу Transform filter. Кол-во пинов нужно будет переопределить. M>Писал давно все подробности непомню точно, но приблизительно так...
вот эта часть самая страшная
M>В CheckInputType укажи поддерживаемые форматы; M>в GetMediaType указываешь выходной формат; M>В DecideBufferSize выделяем память; M>Ну и собственно в Transform работа с данными.
а еще нужно помнить о разных фреймрейтах
M>В нете и в SDK есть примеры Transform фильтра.
с двумя входными пинами — НЕТ!!! и это создало кучу проблем.