PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Windows » Скриншот видео в окне


Скриншот видео в окне

Сообщений 1 страница 4 из 4

1

Задача :
получить содкржимое отдельного окна в котором проигрывается видео (на паузе) и сохранить в "файл.вмр" на диск.
Пользоваться библиотекой AVIfile32.dll неудобно, так как там нужно знать номер кадра.
Вероятно это возможно через BitBlt
К сожалению (мне) не удаётся правильно считать содержимое окна с видео-кадром = получаю чёрный квадрат.

Кто-нибудь знает Правильный ответ ???

0

2

В проигрывателе собственный вывод видеопотока. Раньше Kmp  вроде делал вывод который отображался на скриншоте и его можно было заскринить.  Задача выбрать плеер.

0

3

Рендер видео на спрайт работал для версии DirectX 7 в 2004 году.
В новых версиях РВ в обращении к DirectX 9с эта функция удалена.
Единственный шанс, который я вижу - это с помощью BitBlt считать содержимое окна на десктопе.
Но похоже данные в окно попадают напрямую из буфера график-карты. 

К сожалению я не могу найти внятного объяснения как откуда их забрать, чтобы правильно воспользоваться функцией BitBlt .
Где они лежат ? В памяти ? В буфере графиккарты ?

Примечание : между прочим, если просто нажать кнопку PrintScreen на клавиатуре,
а затем вохранить картинку, - в окне с видео тоже часто ничего нет.

Может кто помочь ? ? ?

0

4

alex112 написал(а):

Рендер видео на спрайт работал для версии DirectX 7 в 2004 году

в те давние времена вывод видео был стандартный на поверхность плеера и там ничего не надо было придумывать. Современные кодеки выводят видео в отдельный слой. Сами плееры используя видимо внутренние функции умеют этот слой сохранить в файл. Поищи статьи типа "Overlay" (как отключить Overlay в плеере)

Отредактировано AZJIO (20.08.2023 21:10:36)

0


Вы здесь » PureBasic - форум » PureBasic для Windows » Скриншот видео в окне