Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Datasink exception при попытки записи видео в файл 
V
    Опции темы
Jubei
Дата 31.10.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Разбираюсь с JMF и решил написать простенькую програмку, которая берет из веб камеры видео поток и записывает в файл.
Код


        Vector devices =CaptureDeviceManager.getDeviceList(new VideoFormat(VideoFormat.YUV));    
        CaptureDeviceInfo  di = (CaptureDeviceInfo) devices.elementAt(0);
        MediaLocator mi = di.getLocator();

        
        DataSource mainsource = Manager.createDataSource(mi);
        
        
        proc = Manager.createProcessor(mainsource);
        StateHelper stathelp = new StateHelper(proc);
        stathelp.configure(10000);
        
        VideoFormat vfmt = new VideoFormat(VideoFormat.CINEPAK);
        proc.getTrackControls()[0].setFormat(vfmt);
        proc.getTrackControls()[0].setEnabled(true);
        proc.setContentDescriptor(new FileTypeDescriptor(FileTypeDescriptor.QUICKTIME));
        Control control = proc.getControl("javax.media.control.FrameRateControl");
        if ( control != null && 
                 control instanceof javax.media.control.FrameRateControl )
                  ((javax.media.control.FrameRateControl)control).setFrameRate(15.0f);
        
        stathelp.realize(10000);
        
        MediaLocator dest = new MediaLocator("file://newfile.mov"); 
        DataSource data = proc.getDataOutput(); 
        DataSink datasink = Manager.createDataSink(data,dest);
        proc.start();

        
        datasink.start();
        datasink.open();
        
        proc.close();
        datasink.stop();
        datasink.close();


Вроде бы все написано правильно (по примерам что находил в сети аутпут потока в файл идет именно так), но выскакивает гнусный эксепшен

Код

javax.media.NoDataSinkException: Cannot find a DataSink for: com.sun.media.multiplexer.BasicMux$BasicMuxDataSource@82764b
    at javax.media.Manager.createDataSink(Manager.java:1894)
    at VideoStreamReader.main(VideoStreamReader.java:66)

где 66 строчка это DataSink datasink = Manager.createDataSink(data,dest);
может у кто уже встречался с такой ситуацией ? Спасибо за помощь ! (а я пока пойду снова читать документацию по JMF а то может чего важное упустил по незнаю smile)

PM MAIL   Вверх
Jubei
Дата 31.10.2006, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 7.7.2005
Где: Рига,Латвия

Репутация: нет
Всего: нет



Вот что значит эффект присутствия на форуме smile через некоторое время нашел ту глупость из-за которой вываливалась ошибка!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0412 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.