Shadowplay, Fraps & co

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    Shadowplay, Fraps & co

    Hallo,

    mein vorhaben wäre es (wie Shadowplay von nvidia) während ich spiele alles aufzunehmen und auf Knopfdruck dann die letzten 5-10min zu speichern! (Video+Sound versteht sich.)

    Habe natürlich schon im Internet und auch diesem Forum gesucht und bin auf sachen wie z.B. AForge gestoßen.

    Dieses Thema scheint sehr sehr schwierig zu sein und ich würde gerne von euch wissen wie und wo ich anfangen soll.

    Bitte sagt mir nicht es sei schwierig, immerhin möchte ich es schaffen und werde so lange daran basteln bis es klappt. :)

    lg
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!
    Das wird schwierig...

    Mit welcher Sprache willst du das denn machen, alleine .Net wird etwas schwierig, Open Broadcaster ist in C/C++ geschrieben, den Source findest du hier: github.com/jp9000/obs-studio
    Vielleicht schaffst du es, mit einem Borderless Window und der Desktop Duplication API (dafür kannst du dann SharpDX nehmen) irgendetwas zu reißen, aber das wird nicht so wie Fraps/Shadowplay sondern eher wie Camtasia Studio. Naja, sonst gibt es noch Mirror Treiber (die funktionieren aber nicht mehr auf Windows 8+) oder dann irgendwie eigene Treiber. Hier kannst du noch mal ein bisschen was nachlesen:

    woodmann.com/forum/archive/index.php/t-11023.htm
    github.com/nektra/AVRecorderTool
    Mfg
    Vincent

    *Zitat entfernt*

    Ich hatte vor es nur in vb.net zu machen. Wie gesagt, ich scheue nicht davor zurück eine fertige DLL zu nehmen! :) Wie könnte man denn realisieren das man z.B. die letzten 5 Min abspeichert?

    Eine idee wäre, das man 30-60 Bilder / Sek speichert und anhand der Urzeit dann die letzten 5 min zu einem Video schneidet? Dann müsste man noch ne Soundfile mitschneiden! :p Meinste das ist machbar?

    ~blaze~: Vollzitat entfernt
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()

    Ich weiß nicht genau, ob du wirklich weißt, was es bedeutet, wenn man sagt, dass es "schwierig" wird. Es kann schonmal vorkommen, dass du da 3 Wochen lang am basteln bist, C++/Delphi/<irgendeine Sprache> Code übersetzen musst, alles mögliche googlen musst, wobei es häufig nichtmal Englisch ist, sondern du dich auf einer russischen Seite durchkämpfen musst, die du auf der 15 Seite von Google Suche gefunden hast, und dann merkst, dass das der falsche Ansatz ist und du das Projekt am besten komplett wegwirfst, weil es aussieht wie sau.

    Wie wäre es denn, wenn du ein Plugin für Open Broadcaster schreibst? github.com/jp9000/OBS/wiki/OBS-Plugin-API-Documentation das geht zwar nicht unbedingt in VB.Net, wäre aber mit Sicherheit trotzdem eine einfache Möglichkeit (auch wenn du dafür ein bisschen C++ lernen musst).
    Ich verstehe auch irgendwie nicht, wie du die letzten 5-10 Minuten speichern willst. Woher weißt du denn, wann die anfangen? Du müsstest das in z. B. eine Minute Parts aufnehmen, und immer die ältesten Parts löschen, wenn es mehr als fünf sind, aber aufnehmen musst du trotzdem alles.


    Es kann übrigens sein, dass es auch andere (bessere) Möglichkeiten von anderen Membern hier gibt, aber das wären halt so meine Idee/Ansätze :) Vielleicht kannst du sogar was mit FFmpeg machen, die haben eine extrem gute Dokumentation, ich habe aber keine Ahnung, ob die Spiele/Bildschirmaufnahme unterstützen.
    Mfg
    Vincent

    *Zitat entfernt*

    C++ ist aber eine komplett andere Syntax, anderes Feeling ... Ist C++ sehr schwer für einen, der schon ein bisschen Programmieren kann?

    lg

    ~blaze~: Vollzitat entfernt
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()

    Hi
    auf die Sprache kommt's nicht unbedingt an, sofern du einen guten Wrapper findest oder dir nur die paar Definitionen importierst, die benötigt werden (und hoffen, dass diese in C vorhanden sind, sonst wird's hässlich oder du solltest es in C++/CLI wrappen oder direkt in C++ implementieren).
    C++ an sich ist nicht leicht, da es, wenn man es richtig machen will, doch einiges an Grundlagen braucht und eine sehr "strikte" Denkweise, sag' ich jetzt mal dazu. Man muss Regeln kennen und direkt anwenden - ist zumindest meine Erfahrung.

    Bitte übrigens darauf achten, keine Vollzitate zu machen, bzw. Zitate nur dann zu verwenden, wenn du dich auf Passagen deines Vorredners beziehst. Sonst werden die Themen absolut unübersichtlich.

    Viele Grüße
    ~blaze~
    Würdest du auch ein bisschen Geld ausgeben? Dann gäbe es die Möglichkeit das über DxTory zu machen. Kostet ca. 32€. DxTory bietet dir die Möglichkeit nicht als Datei, sonder Spiele als DirectShow wiederzugeben. Dann könntest du das mit DirectShow.NET abgreifen und weiterverarbeiten.

    Bluespide schrieb:

    Würdest du auch ein bisschen Geld ausgeben? Dann gäbe es die Möglichkeit das über DxTory zu machen. Kostet ca. 32€. DxTory bietet dir die Möglichkeit nicht als Datei, sonder Spiele als DirectShow wiederzugeben. Dann könntest du das mit DirectShow.NET abgreifen und weiterverarbeiten.
    vb-paradise.de/index.php/Attac…0b3d45cb588df229796242649


    Ich habe deine Methode verstanden, getestet und für mich nicht geeignet befunden! :/

    Hat alles geklappt, directshow konnte ich im Prgramm abfangen ect.. Nur möchte ich nicht immer DXtory laufen haben. :D

    lg
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!