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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2017, 08:15   #1
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию DirectShow видео из TStream

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

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

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

Цитата:
Посмотрел в интернете примеры но нужного не нашел
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, 09:01   #3
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

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

пробовал так создать ресурс но не создается 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 в 10:58.
Aliens_wolfs вне форума Ответить с цитированием
Старый 01.05.2017, 09:26   #4
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

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

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

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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