Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 28.04.2017, 09:15   #1
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 860
Репутация: 435
По умолчанию DirectShow видео из TStream

Добрый день форумчане!

Подскажите пожалуйста как можно воспроизвести видео из TStream не сохраняя его в файл. Я получаю видео по сети и сохраняю в файл это работает, а вот есть ли способ воспроизвести видео сразу из памяти.
Посмотрел в интернете примеры но нужного не нашел, либо с пинами как то нужно работать.

Буду благодарен, весы под рукой.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 28.04.2017, 09:23   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,753
Репутация: 2126
По умолчанию

Цитата:
Посмотрел в интернете примеры но нужного не нашел
https://msdn.microsoft.com/en-us/lib...sktop/dd317573

Цитата:
The application reads the file into memory at the specified rate and plays the file.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 28.04.2017, 10:01   #3
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 860
Репутация: 435
По умолчанию

Спасибо конечно, но это описание я видел, не могу сообразить что и куда, хотелось бы примерчик создания ресурса видеопотока

пробовал так создать ресурс но не создается pSource = nil
Код:

 Result := coCreateInstance(CLSID_FileSource, nil,
                               CLSCTX_INPROC_SERVER,
                               IID_IFileSourceFilter, pSource);

пробовал так
Код:

    
var
 pMStream: IAMMultiMediaStream;
PrimaryVidStream: IMediaStream;
...............................................

if FAILED(CoCreateInstance(CLSID_AMMultiMediaStream, nil, CLSCTX_INPROC_SERVER,
    IID_IAMMultiMediaStream, pMStream)) then
    exit;
   if FAILED(pMStream.Initialize(STREAMTYPE_READ, AMMSF_NOGRAPHTHREAD, nil)) then
    exit;

   if FAILED(pMStream.AddMediaStream(nil, @MSPID_PrimaryVideo, 0, PrimaryVidStream)) then
    exit;

    pMStream.SetState(STREAMSTATE_RUN);

но ссылается на работу через файл pMStream.OpenFile(filename, 0);

Я не могу понять как создать ресурс который из буфера полученного по сети видео будет извлекать данные для воспроизведения и опять же скажу что мне нужно без файла все это делать.
Через файл работает но хотелось бы потоком

а потом буду воспроизводить так
Код:

pCaptureGraphBuilder.RenderStream(nil, @MEDIATYPE_Stream, pSource, nil, nil);

Сейчас пробую вот это, ошибки пока нет
Код:

 if FAILED(coCreateInstance(CLSID_AsyncReader, nil,  CLSCTX_INPROC_SERVER,  IID_IFileSourceFilter, pSourceRender)) then
exit


Последний раз редактировалось Aliens_wolfs; 28.04.2017 в 11:58.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 01.05.2017, 10:26   #4
BLACK_RAIN
Участник клуба
 
Регистрация: 13.02.2012
Сообщений: 512
Репутация: 119
По умолчанию

натыкался недавно на это: http://basicsprog.ucoz.ru/publ/6-1-0-39
Там в комментариях написано как сделать это для TFileStream. Думаю, TFileStream можно заменить на TStream.
Сам не пробовал.
BLACK_RAIN вне форума   Ответить с цитированием
Старый 01.05.2017, 13:17   #5
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 860
Репутация: 435
По умолчанию

Спасибо! Буду разбираться дальше, в этой ссылке кое что есть.
Жму на весы одобрения!)

Последний раз редактировалось Aliens_wolfs; 01.05.2017 в 13:28.
Aliens_wolfs вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
8 бит видео.DirectShow yarik32 Мультимедиа в Delphi 2 14.01.2012 23:37
Наложение спрайтов на видео (DirectShow) jetyb C# (си шарп) 0 27.07.2011 12:29
Как рисовать поверх видео DirectShow ???? FarStar Visual C++ 7 17.06.2011 12:57
directshow видео из потока Ser-V Общие вопросы C/C++ 0 27.10.2010 22:12
DirectShow, вытащить скрины видео AleD Мультимедиа в Delphi 0 25.07.2010 07:16


11:53.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru