Elke Image Van een Directshow Video 'Stream'

Pagina: 1
Acties:

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
Ik ben researcher aan een unief in de UK. ik ben bezig met realtime videoprocessing (iets wat ik al een tijdje deed mbv VideoForWindows).

Nu wil ik echter ook DV kunnen capturen alsook eender welk filetype van video dat ondersteunt word door her OS (en onderliggend DirectShow).

Ik ben hier af en aan al een tijd mee bezig maar niets wat beschikbaar is (opensource) is ook maar half bruikbaar.

Hieronder (in't engels mijn bevindingen)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Methods of capturing video to memory in Microsoft Windows

Direct API,
  -> simple, robust, efficient and totally specific so reuse or cross use is quite simply none. 

VFW
  -> Hacking Preview (quite easily the most reliable method but!
        - doesn't often listen to framerate changes,
        - overhead
        - window needs to be 'visible' (even just 1 pixel size)
  -> noSequence (Yield or no Yield)
        - should be the best solution, but drivers often cause problems (as always)
        - to yield or not to yield    
        - messages are not always clear (ie waiting for things to stop happen often and must or should be dealt with threads)


  -> WDM is usually provided for VFW but not VFW -> WDM Driver.
         - is this causing the stuttering?
  

DirectShow
   -> Own filter (a 'renderer') (not seen a stable one yet)
   -> ISampleCallback (using a intermediate filter)
       problems: no access to interlaced images to using strictly old header 
                 overhead (buffers is not quite sure)

   + modern platform but scarely not very stable, some manufacturers prefer VFW still!
   + DV capture and decoding capable
   + colour conversions can be done on the go
   +  

   - Threading issues and deadlocks are all over the place, including most of the samples provided by MS.


MME (not quite sure about name). And plots these to DirectX Surfaces... (quite sure it uses DS under da hood)


Ik heb al gezocht naar verschillende libs (zoals DSVideoLib, maar crashed heel de tijd en niet juist en gewoon niet goed), de voorbeelden van de SDK werken ook maar half (ie de video stopt na een Taskmanager of net iets teveel attentie ergens anders), etc etc.

Ik zoek alleen een lib die gewoon elke image in sequence kan geven wanneer IK erom vraag. Gewoon een soort van splitter.

Misschien hebben jullie ideen van libs of projecten die dit gebruiken (yep ik heb VLC al gaan zien maar doet dan weer teveel zelf en is teveel geintegreerd in zichzelf : te grote hack job).

In feite ken ik maar 1 programma dat nooit een probleem heeft en dat is VVVV. Helaas geen code voor...

(een mens zou al naar Quicktime grijpen met zo'n issues). Het is btw wel belangrijk dat ik elke frame gewoon als 24/32 RGBA krijg...