2010-04-20 12 views
9

Mi piacerebbe creare un programma per catturare video.Come si può sviluppare un programma come FRAPS?

  • Qual è il modo migliore per acquisire video?
  • Conosco il C++ e sto imparando l'assemblaggio. Ho trovato nel mio libro di assemblaggio che posso ottenere dati dalla scheda video. Sarebbe il modo migliore?
  • Conosco FRAPS nei programmi, ma vorrei che il mio programma riprendesse video dell'intero schermo.

Vorrei qualcosa qualcosa di veloce, con un utilizzo di memoria basso se possibile. Un requisito è che il programma deve essere utilizzabile su altri computer, nonostante l'hardware diverso.

+7

Quale piattaforma? I grafici sono intrinsecamente dipendenti dalla piattaforma. EDIT: questa era una domanda scritta male. L'ho modificato per essere leggermente più leggibile. In futuro però, se sei troppo pigro per premere il tasto MAIUSC, molti saranno troppo pigri per rispondere a una domanda. Soprattutto quando la domanda puzza di PLZ_SEND_THE_CODEZ. –

+0

Le tue ultime due frasi fanno sembrare che tu voglia che ti mandiamo il codice. Stai cercando una spiegazione di * come * per farlo o vuoi solo una biblioteca che faccia questo? –

+3

@musicfreak: tieni presente che le ultime due frasi sono pesantemente filtrate da due editor. –

risposta

7

Il modo in cui funziona Fraps, è impossibile catturare l'intero schermo (a meno che non si sta eseguendo un'applicazione DirectX a schermo intero, naturalmente). Sembra che tu stia cercando di emulare la funzionalità di CamStudio, più di Fraps.

CamStudio è open-source (here is the SorceForge page) quindi forse si potrebbe iniziare studiando il codice sorgente? Scommetto che non è proprio per i principianti, comunque.

+0

Hmm ok grazie = 3 – blood

2

Cattura di tutto lo schermo è semplice, in breve si ottiene un handle del desktop (GetWindowHandle (0)) e BitBlt() al tuo bitmap.

Ora è necessario codificarlo in video, potenzialmente full HD o più, in tempo reale, utilizzando la compressione migliore possibile, idealmente senza perdita a causa del testo sullo schermo e della natura grafica vettoriale dei desktop tradizionali. Non conosco alcun buon codec personalizzato per tali requisiti, quindi consiglierei di utilizzare il tradizionale h.264 e di ottimizzare il compromesso tra qualità e prestazioni. FFMPEG è probabilmente la libreria più popolare per questo, basta controllare la licenza della codifica h.264.

+0

Questo ovviamente presuppone che Windows sia la piattaforma. –

+0

Sì, spero che la mia ipotesi sia giusta :) –

+0

che dire di una sovrapposizione permanente sulla parte superiore dello schermo che si desidera acquisire? Ti piace l'opzione Mostra FPS in fraps? –

Problemi correlati