Screen z VLC komponenty   otázka

VB.NET

Používam komponentu VLC - AxVLCPlugin na zachytávanie streamovaného videa. Potreboval by som z neho spraviť screen priamo z kódu. Niečo také, ako robí priamo prehrávač cez video/vytvoriť snímku.

Ďakuejm za každé nasmerovanie.

VS2010 VB.NET

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Našel jsem tento kousek kódu, který by měl vyvolat funkci přehrávače přesně, jak popisujete.

Dim key = AxVLCPlugin1.getVariable("key-snapshot")
AxVLCPlugin1.setVariable("key-pressed", key)
' Možná to je takto, asi se to liší podle verze VLC.
Dim key = AxVLCPlugin1.Player.getVariable("key-snapshot")
AxVLCPlugin1.Player.setVariable("key-pressed", key)

Nemám možnost to vyzkoušet, ale počítám, že je to pouze simulace akce uživatele, tím kódem říkáte, aby přehrávač provedl ten UI příkaz "Take snapshot", který se chová tak, že aktuální snímku uloží do složky Obrázky (pokud není nastaveno jinak). Nemyslím si, že má jakýkoliv wrapper na vlclib.dll nebo axvlc.dll funkce pro vrácení alespoň bytového pole, natož třeba objektu Bitmap obrázku. Pokud budete chtít s obrázkem dále pracovat, budete to muset dále zkombinovat s komponentou FileSystemWatcher a hlídat vytvoření nového souboru ve složce Obrázky. Ještě lépe, budete si muset zjistit, kam si VLC ukládá nastavení (pravděpodobně to bude C:\Users\<uživatel>\AppData\Roaming\vlc\vlcrc), tam vyčíst, kam se ukládají snapshoty a jaký formát má jméno souboru, hlídat ten adresář FileSystemWatcherem a porovnávat nově vytvořené soubory, jejich názvy, s formátem definovaným v nastavení.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ďakujem za Váš čas.

Pri spustení mi to vyhodilo chybu:

Error HRESULT E_FAIL has been returned from a call to a COM component.

Skúsil som aj :

AxVLCPlugin21.video.takeSnapshot()

(používam komponentu AxVLCPlugin21 aj AxVLCPlugin1)

ukázalo to na obrazovke, že to ukladá do appdata-temp ... no fyzicky tam tie .bmp obrázky nie sú.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zvláštní, pokud to vypsalo informaci o uložení na obrazovce, tak je všechno správně, jak způsob volání funkce, tak samotná funkce. Zkuste si najet do nastavení VLC a najít si v tom dialogu cestu, kam se snapshoty ukládají. http://leteckaposta.cz/819009023 Pokud je cesta prázdná, jako u mě, znamená to výchozí složku - Dokumenty. Také píšete, že jste nenašel BMP soubory - VLC dělá PNG nebo JPG snapshoty, tak možná tam byla chyba a proto jste soubor nenašel. Určitě také zaktualizujte VLC, pokud nemáte aktuální.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Presne tak, ukáže pekne v ľavo hore náhľad na foto a oznam, že ukladá do presne: C:\Users\vtomek\AppData\Local\Temp\AXVLC12E0S48.bmp. Ak video zachytávam priamo pomocou VLC playeru (nie komponenty), tak mi to ukladá pekne do zložky „Obrázky“ vo formáte .png. Netreba nejakým spôsobom komponente AxVLCPlugin zadať, kde má ukladať screeny a v akom formáte?

Ďakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback