Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2010, 10:30   #1
Azm87
 
Регистрация: 05.06.2010
Сообщений: 7
По умолчанию синхронизация 2 видеофайлов в делфи

здраствуйте народ, пожалуйста помогите с решением вопроса.
у меня есть 2 вед камеры, мне требуется осуществить видеозапись одновременно с 2 камер и потом осуществить синхронный просмотр в моей программе, т.е. уже записанные 2 видеофайла просматривать и прокручивать одновременно, пожалуйста помогите
Azm87 вне форума Ответить с цитированием
Старый 05.06.2010, 18:46   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

берете directshow, строите граф фильтров для видеоустройств и производите захват, аналогично и для воспроизведения.

для старта 1 2 3 и всегда готовый помочь - гугль
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.06.2010, 11:30   #3
Azm87
 
Регистрация: 05.06.2010
Сообщений: 7
По умолчанию

Спасибо!) но самое главное для меня именно синхронно прокручивать (как мы перематываем ведео файл в видеоплеерах) 2 видеофайла, как это сделать?
Azm87 вне форума Ответить с цитированием
Старый 07.06.2010, 12:14   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ну вы настырный если directshow уже так быстро выучили, то через интерфейс IMediaSeeking, а конкретно:
Код:
var pos: int64;
...
MediaSeeking.SetPositions(pos, AM_SEEKING_AbsolutePositioning,
  pos, AM_SEEKING_NoPositioning);
в случае двух видео, имеем два интерфейса
Код:
type
  //DirectShow Media Player
  TDSMP = record
    Initialized  : boolean;
    
    //DirectShow
    GraphBuilder : IGraphBuilder;
    MediaControl : IMediaControl;
    MediaSeeking : IMediaSeeking;
    MediaEventEx : IMediaEvent;
    BasicAudio   : IBasicAudio;
    BasicVideo   : IBasicVideo;
    VideoWindow  : IVideoWindow;
    //grab-
    pGrabber     : ISampleGrabber;
    pGrabberF    : IBaseFilter;
    mt           : AM_MEDIA_TYPE;
    //VMR-
    pRenderer    : IBaseFilter;
    pConfig      : IVMRFilterConfig;
    pBitmap      : IVMRMixerBitmap;
    VMRBitmap    : VMRALPHABITMAP;
    //color_control-
    pVProcAmp    : IAMVideoProcAmp;
    pVProcAmpF   : IBaseFilter;
    v1_min,v1_max,v1_pos,v1_freq,         //яркость
    v2_min,v2_max,v2_pos,v2_freq,         //контрастность
    v3_min,v3_max,v3_pos,v3_freq,         //оттенок
    v4_min,v4_max,v4_pos,v4_freq:smallint;//насыщенность
    v1_en,v2_en,v3_en,v4_en:bool;         //доступ к регулятору
    //Video info
    VideoAvail   : boolean;
    VideoWidth   : integer;
    VideoHeight  : integer;
    VideoBitRate : integer;
    VideoFPS     : single;
  end;


function dsmpSetPos(dsmp1,dsmp2: TDSMP; pf,pb:integer; mode:boolean):integer;
var _stop: Int64;
begin
 result:=0;
 if (not dsmp1.Initialized)or(not dsmp2.Initialized) then exit;
 dsmp1.MediaSeeking.GetStopPosition(_stop);
 //
 _pos:= pf;//cинхронизация
 if mode then _pos:=_pos+5 else _pos:=_pos-5;
 result:= _pos;

 if (_pos < 0)  then _pos:= 0;
 if (_pos > pb) then _pos:= pf;
 _pos:= (_pos * Duration) div pb;
 if _pos > _stop then _pos:= _stop;

 //set position
 try
 dsmp1.MediaSeeking.SetPositions(_pos, AM_SEEKING_AbsolutePositioning,
  _pos, AM_SEEKING_NoPositioning);

 dsmp2.MediaSeeking.SetPositions(_pos, AM_SEEKING_AbsolutePositioning,
  _pos, AM_SEEKING_NoPositioning);

 except end 
end;
смысл ясен?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 07.06.2010 в 12:18.
raxp вне форума Ответить с цитированием
Старый 07.06.2010, 12:55   #5
Azm87
 
Регистрация: 05.06.2010
Сообщений: 7
По умолчанию

вообщем, можно задать такой вопрос, мне нужен уже готовый продукт, по всем этим критериям, мыгли бы вы его сделать, конечно я в долгу не останусь)))
Azm87 вне форума Ответить с цитированием
Старый 07.06.2010, 13:05   #6
Azm87
 
Регистрация: 05.06.2010
Сообщений: 7
По умолчанию

как та по аське могули с вами связаться?
Azm87 вне форума Ответить с цитированием
Старый 07.06.2010, 13:08   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

приложите тут четкое ТЗ по требуемым характеристикам, подумаем в случае наличия времени
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.06.2010, 13:18   #8
Azm87
 
Регистрация: 05.06.2010
Сообщений: 7
По умолчанию

просто сдача диплома на днях, а вот реализации именно пункта: "видеозапись с двух камер и просмотр одновременно двух видеофайлов и их синхронная перемотка" вызывает затруднение, (даже нет возможности написать такой программный продукт-тупой в этой области). если у вас есть возможность связаться со мной по аське, вот мой уин-423-096-556
Azm87 вне форума Ответить с цитированием
Старый 07.06.2010, 14:11   #9
Azm87
 
Регистрация: 05.06.2010
Сообщений: 7
По умолчанию

Программный продукт реализует функции:
1)видеозаписи с 2 веб-камер;
2)сохранения этих файлов;
3)синхронный просмотр 2 видеофайлов (синхронная прокрутка).
Буду благодарен в помощи
Azm87 вне форума Ответить с цитированием
Старый 07.06.2010, 15:48   #10
Azm87
 
Регистрация: 05.06.2010
Сообщений: 7
По умолчанию

такое ТЗ подходит? или что-то подробнее?
Azm87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронизация kostyan142 Общие вопросы по Java, Java SE, Kotlin 6 13.01.2010 01:39
Синхронизация yarilo Софт 2 07.08.2009 15:50
Проблема с воспроизведением видеофайлов. BIRHoFF Софт 0 22.07.2007 17:36