Laden...

ununterbrochene Aufnahme eines Desktopvideos von 5min (x-Minuten) mit Microsoft Expression Encoder

Erstellt von masterchris_99 vor 12 Jahren Letzter Beitrag vor 12 Jahren 3.993 Views
M
masterchris_99 Themenstarter:in
89 Beiträge seit 2006
vor 12 Jahren
ununterbrochene Aufnahme eines Desktopvideos von 5min (x-Minuten) mit Microsoft Expression Encoder

Hallo,

ich würde gerne durchgehend ein Video vom Desktop machen. Sobald man nun eine Aktion startet sollen die letzten x-Minuten des Videos gespeichert werden.

Es sollen also bis zu 10min (Begrenzung wenn man nicht die Pro-Version will) im Buffer gehalten werden und auf Wunsch eine Range, in diesem fall die letzten X-Minuten, gespeichert werden.


        private void CaptureMoni()
        {
            try
            {
                Rectangle _screenRectangle = Screen.PrimaryScreen.Bounds;
                _screenCaptureJob = new ScreenCaptureJob();
                _screenCaptureJob.CaptureRectangle = _screenRectangle;
                _screenCaptureJob.ShowFlashingBoundary = true;
                _screenCaptureJob.ScreenCaptureVideoProfile.FrameRate = 20;
                _screenCaptureJob.CaptureMouseCursor = true;

                _screenCaptureJob.OutputScreenCaptureFileName = string.Format(@"C:\test.wmv");
                if (File.Exists(_screenCaptureJob.OutputScreenCaptureFileName))
                {
                    File.Delete(_screenCaptureJob.OutputScreenCaptureFileName);
                }
                _screenCaptureJob.Start();
            }
            catch(Exception e) { }
        }

in etwa so:


        private void SaveRecord(int cntMinutes)
        {

            try
            {
                _screenCaptureJob.Stop();
                // something like that
                _screenCaptureJob.SaveLastXMinutes(cntMinutes);
            }
            catch(Exception e) { }
        }

Hat da jemand eine Idee?

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo masterchris_99,

was genau ist das Problem? Was genau willst du wissen? Wo hakt es? Siehe auch [Hinweis] Wie poste ich richtig? Punkt 5.

herbivore

M
masterchris_99 Themenstarter:in
89 Beiträge seit 2006
vor 12 Jahren

sorry ich dachte ich habe es richtig rübergebracht... 😃

Ich will durchgehend einen Puffer von 10min Video im Speicher halten. Wenn nun der Anwender z. B. einen Button drückt sollen 5min von den 10min Puffer gespeichert werden.

Wenn das Programm über die 10min kommt soll natürlich angefügt werden aber hinten auch abgeschnitten. So das ich immer nur 10min im Puffer habe.

  • Puffer
    : Gespeichert

[----------::::::::::]

Von den 10min Videomaterial ( "-" )die mir zur Verfügung stehen will ich nun also die letzten 5min ( ":" ) speichern.

Ist es jetzt verständlicher?

5.658 Beiträge seit 2006
vor 12 Jahren

Ja, aber wo ist das Problem? Wo genau scheitert es und was hast du schon ausprobiert?

Weeks of programming can save you hours of planning

M
masterchris_99 Themenstarter:in
89 Beiträge seit 2006
vor 12 Jahren

Na so wie ich das sehe kann man mit ScreenCaptureJob nur direkt in eine Datei speichern und wenn die 10min um sind wird die Datei beendet.

Ich kann aber nicht die letzten 10min im Puffer halten und auf Wunsch die x-Min sichern. Zumindest weiß ich nicht wie.

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo masterchris_99,

so wie ich es verstehe, ist das eine absichtliche Begrenzung der Trial- bzw. freien Version.

herbivore

M
masterchris_99 Themenstarter:in
89 Beiträge seit 2006
vor 12 Jahren

hmm nicht das ich wüsste.
Diese 10min Begrenzung die in der Freeversion vorhanden ist, ist ja auch in Ordnung da ich eh nicht mehr als 10min aufnehmen möchte.

5.658 Beiträge seit 2006
vor 12 Jahren

Was ist denn dein Puffer? Die Datei, in die der Stream reingeschrieben wird? Wenn ich es richtig verstehe, mußt du alle 10 min eine neue Datei anlegen und das Capturing neu starten.

Dann kannst du hinterher aus den Dateien beliebige Abschnitte rauskopieren und als Resultat ausgeben. Für den Zugriff auf die Videodaten gibt es z.B. CodeProject einige Artikel.

Weeks of programming can save you hours of planning

M
masterchris_99 Themenstarter:in
89 Beiträge seit 2006
vor 12 Jahren

ja das fand ich ein wenig unpraktisch...
ich wollte als puffer lieber den speicher oder so nehmen und am ende nicht groß rumschneiden.
Aber anscheinend führt kein weg daran vorbei?

5.658 Beiträge seit 2006
vor 12 Jahren

Achso, darum geht es dir? Woher sollen wir das wissen, wenn du es nicht schreibst? Vor allem, wenn in deinem Code diese Zeile drin steht:

_screenCaptureJob.OutputScreenCaptureFileName = string.Format(@"C:\test.wmv");

Ob das funktioniert oder nicht, ist eine Sache der API des Encoders. Wenn es dort nicht drinsteht, ob es funktioniert oder nicht, woher sollen wir das denn wissen?

Weeks of programming can save you hours of planning