Фильтер записи в файл (Dump)

 
Начать новую тему   Ответить на тему    Список форумов DirectShow форум -> Фильтры
Предыдущая тема :: Следующая тема  
Автор Сообщение
Vitya
Участник


Зарегистрирован: 14.11.2007
Сообщения: 15

СообщениеДобавлено: Пт Ноя 30, 2007 1:24 pm    Заголовок сообщения: Фильтер записи в файл (Dump) Ответить с цитатой

Хочу сделать свой фильтр для записи Видео файлов...
Нашел в SDK примерах исходник Dump - который это делает,
Но после записи я немогу проиграть файл никаким плеером..
Пишет типа не найден декопресор..

В чем причина подскажите????
и что нужно чобы переделать его под запись видео.?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alan
Участник


Зарегистрирован: 11.04.2007
Сообщения: 13

СообщениеДобавлено: Вс Дек 02, 2007 2:07 am    Заголовок сообщения: Ответить с цитатой

А заголовок у полученного файла правильно сформирован? Я бы с этого начал. Взял бы любой hex редактор и посмотрел бы на заголовок файла, если там все в порядке, разбирался бы дальше. В какой формат, кстати, пишете?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AndrеySol
Активный


Зарегистрирован: 27.02.2007
Сообщения: 57

СообщениеДобавлено: Вс Дек 02, 2007 11:43 am    Заголовок сообщения: Ответить с цитатой

Было-бы интересно увидеть граф, который у Вас собирается для выполнения конвертирования. Тогда и подсказать конкретнее что-то можно.

А почему для записи файла используете Dump-фильтр. Вообще-то имеется нормальный фильтр для этой цели - FileWriter.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitya
Участник


Зарегистрирован: 14.11.2007
Сообщения: 15

СообщениеДобавлено: Пн Дек 03, 2007 3:01 pm    Заголовок сообщения: Ответить с цитатой

AndrеySol писал(а):
Было-бы интересно увидеть граф, который у Вас собирается для выполнения конвертирования. Тогда и подсказать конкретнее что-то можно.
А почему для записи файла используете Dump-фильтр. Вообще-то имеется нормальный фильтр для этой цели - FileWriter.

Напрямую FileWriter не соединяется с моим фильтром, нужно только через AVI MUX пускать а тут:
Использовал FileWriter с AVI MUX, но там какието чудеса творятся...
когда зиписываю например 30секунд видео(скринов с экрана) - а в авишке проигрывается эта вся запись за 6 секунт(как бы в убыстренном виде)
ничего не пойму что там нитак???..
в исходном фильтре выставляю 30кадров в секунду(FPS)
Код:
pvi->AvgTimePerFrame = UNITS / 30; // UNITS = 10000000

в FillBuffer делаю это
Код:

REFERENCE_TIME rtNow = m_rtLastTime;
m_rtLastTime += UNITS / 30;
pSample->SetTime(&rtNow, &m_rtLastTime);
pSample->SetSyncPoint(TRUE);

Причем если также установить например 2FPS то записнный AVI файл проигрывается вообще в замедленном действии..
граф строю так:
мой исходный фильтр(скрины рабочего стола) --> какойто компресор(microsoft video 1) --> AVI MUX --> FileWriter

Помогите с этой проблемой.... уже кучу дней не могу ничего сделать


почитал про Dump-фильтр - он оказывается пишет кадры просто в текстовый файл
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alan
Участник


Зарегистрирован: 11.04.2007
Сообщения: 13

СообщениеДобавлено: Ср Дек 05, 2007 12:30 pm    Заголовок сообщения: Ответить с цитатой

А, так это у вас не фильтр записи, а source-filter. Тогда вот: раз ссылка и два ссылка
Все с исходниками и комментариями.

А в исходном виде Dump, как я понял, сохраняет не последовательность кадров, а отдельные кадрики, и полезен исключительно при отладке.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitya
Участник


Зарегистрирован: 14.11.2007
Сообщения: 15

СообщениеДобавлено: Ср Дек 05, 2007 1:49 pm    Заголовок сообщения: Ответить с цитатой

Alan писал(а):
А, так это у вас не фильтр записи, а source-filter. Тогда вот: раз ссылка и два ссылка
Все с исходниками и комментариями.

Спасибо.. но уже раньше сталкивался с этими исходниками.. (во второй ссылки исходника самого фильтра нету)
Но все хорошо когда используеш Video Render чтобы сразу смотреть, а когда хочу записать Avi - использую AVI MUX и File Writer - Вот тут начинаются проблемы с FPS - ничего не могу понять почему Видео, которой писалось 30 секунд - проигрывается за 10секунд (какбы в ускоренном темпе)

Никто не сталкивался с такой проблемой???

ИЛИ может лючше свой FileWriter написать - У когото есть какие нибудь примерчики такого фильтра?????????
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AndrеySol
Активный


Зарегистрирован: 27.02.2007
Сообщения: 57

СообщениеДобавлено: Сб Дек 29, 2007 9:33 am    Заголовок сообщения: Ответить с цитатой

Вообще-то насчет нормальной записи AVI-видео - есть такое мнение, что даже Мелкомягкие на этот устаревший контейнер забили, кстати из-за проблем с синхронизацией видео и аудио.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitya
Участник


Зарегистрирован: 14.11.2007
Сообщения: 15

СообщениеДобавлено: Вт Янв 08, 2008 10:09 pm    Заголовок сообщения: Ответить с цитатой

AndrеySol писал(а):
Вообще-то насчет нормальной записи AVI-видео - есть такое мнение, что даже Мелкомягкие на этот устаревший контейнер забили

Подскажите чем(каким фильтром) тогда можно записать видео в файл???
Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AndrеySol
Активный


Зарегистрирован: 27.02.2007
Сообщения: 57

СообщениеДобавлено: Чт Янв 17, 2008 9:47 am    Заголовок сообщения: Ответить с цитатой

Попробуйте ASF/WMV - читать в MSDN или в соответствующем SDK.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DirectShow форум -> Фильтры Часовой пояс: GMT + 4
Страница 1 из 1
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB


Рейтинг@Mail.ru