[Delphi] Przechwycić obraz z odtwarzanego filmu

0

Witam :)

Szukam sposobu na przechwycenie obrazu puszczanego w danej chwili przez VMR 9 (lub w ogóle przez DirectX - tzn. leci jakiś film) i zrobienie z tego obrazu Print Screena do pliku BMP. Posiada ktoś może skuteczny sposób?

Pozdrawiam :d

0

Niewykonalne [???]

Uzupełnię opis o informację, że nie zależy mi na ciągłości odtwarzania - skutki działania mogą być widoczne (np.: zarwanie. pauza, czy czarny ekran na chwilę). Chodzi o samą możliwość zrobienia zrzutu z tego co odtwarza konkretna aplikacja. Chodzi mi dokładnie o program AltDVB (do obsługi karty DVB-PCI). Brakuje mu porządnego modułu do robienia screenshotów. Wiem, że do odtwarzania wykorzystuje coś o nazwie TVideoPanel...

Help [glowa]

0

Masz Ty problem Ci powiem :-)

Do rzeczy,mozesz zrobic PrintScreena w Pascalu,ja znam metode z przerwaniamia BIOS'u/DOSa ktore to umozliwiaja [green]

zapraszam na stronke http://81.26.5.254/Members/rtomaszewski/dzienne/systemy-operacyjne

zapoznaj sie z laborkami,jesli Ci za malo to: http://81.26.5.254/Members/achrobot/systemy-operacyjne

ps. nawet gdzies mam chyba taki program,tylko jest jedna niepewna,czy bedzie robic PrtSc podczas odtwarzania filmu :/ pozdrawiam

0

Sam Print Screen sprawy nie załatwi, bo zescreenowany musi być tylko obszar, gdzie leci obraz (do tego najlepiej w takiej rozdzielczości jak jest podawany do VMR, czyli przykładowo 720x576 (nawet jeśli na ekranie jest inaczej rozciągnięty, bo ktoś rozciągnął okno programu)...

Brak mi koncepcji jak to zachaczyć [glowa] Jest tu jakiś spec od DS Pack? Może z jego pomocą można na ułamek sekundy przejąć odtwarzanie i wykonać całą operację [???]

Każdy pomysł mile widziany... ;-)

0

Operacja którą chcesz zaimplementować nazywa się przejmowaniem nakładki (overlay capturing). Ogólnie jest dosyć skomplikowana, było o tym kilkakrotnie na forum. Innym wyjściem jest całkowite wyłączenie akceleracji sprzętowej, ale przy próbie przejęcia obrazu z gry ta opcja odpada.

P.S. O przerwaniach BIOS/DOS zapomnij, nie te czasy; a i system operacyjny Cię do nich nie dopuści. Ktoś, kto o tym pisze, nie zna się na rzeczy, albo uczył się na Win9x - te rzeczy już dawno nie są aktualne.

0

O właśnie - ta nazwa się przyda, bo nie za bardzo wiedziałem jak to określić po angielsku - dzięki - będę szukać :-)

Co do drugiej opcji, akurat w moim wypadku sprawa dotyczy tylko i wyłącznie streamu audio/video odtwarzanego z karty DVB-PCI, więc teoretycznie też wchodzi to w grę, ale czy chodzi tu o trwałe wyłączenie, czy da radę zrobić to dynamicznie (tzn. wyłączyć, screen, włączyć).

PS: Jednym i drugim sposobem otrzymam obraz o rozdzielczości zgodnej z pierwotną, rozciągnięty, ale z zachowanymi proporcjami, czy zdeformowany (w zależności od tego jak sobie użytkownik programu porozciągał okno)?

Jeszcze raz dzięki za pomoc [browar]

1 użytkowników online, w tym zalogowanych: 0, gości: 1