Rollender Desktop-Rekorder? [geschlossen]

11

Ich möchte eine Windows-Software, die ständig aufzeichnet, was ich auf meinem Desktop mache, und Filmmaterial verwirft, das älter als [30] Sekunden ist. Die Aufnahme wäre eine rollende.

Die Idee ist, dass ich irgendwie einen Knopf drücken und sehen kann, "was gerade passiert ist".

Ich möchte es nicht babysitten müssen. Das heißt, ich möchte keine Software für Screencasting (was ich nicht versuche). Meine Voreingenommenheit dagegen basiert auf meiner (vielleicht falschen?) Annahme, dass ich die Aufnahme den ganzen Tag über regelmäßig starten / stoppen müsste.

Die Idee ist, dass diese Software weniger Ressourcen (als ein Screencast-Recorder) auf meiner Box verbraucht, da nur eine sehr begrenzte Menge an Filmmaterial im Speicher bleibt (und eine geringe Qualität sogar akzeptabel wäre), da Frames relativ schnell verworfen werden nachdem sie gefangen genommen wurden.

Wo finde ich eine Software mit solchen Funktionen?

Lanze
quelle
2
Teilen Sie uns Ihre Plattform mit. Unter Linux wäre es trivial, ein Skript zu schreiben, das genau das mit ffmepg tut.
Brice
Ich habe die Frage so bearbeitet, dass ich eine Windows-Lösung benötige.
Lanze
Ich hätte gerne genau das. Hat jemand eine Windows-Lösung?
Kieran
Genau. Ich kann nicht glauben, dass das noch nicht existiert. Der Game DVR von Xbox One bietet seit Jahren genau diese Funktionalität, ebenso wie GoPros ("Looping Recording") und andere Camcorder ("Pre-Recording").
Aldaviva
Es stellt sich heraus, dass Open Broadcaster Software genau diese Funktion hat, sie heißt "Replay Buffer". Aktivieren Sie es unter Einstellungen> Ausgabe, wählen Sie eine Dauer aus und klicken Sie dann auf "Wiederholungspuffer starten". Sie möchten Replay Buffer - Save Replay einen Hotkey zuweisen, der ein Video der letzten N Sekunden in Ihren Aufzeichnungspfad schreibt. Zu Ihrer Information, Sie müssen Ihren Stream eigentlich nirgendwo senden, nur um OBS für die Aufnahme zu verwenden. Sie können ihn also nur lokal verwenden und nicht an Twitch oder ähnliches senden.
Aldaviva

Antworten:

1
  • Installieren Sie den Screen Capture Recorder: https://github.com/rdp/screen-capture-recorder-to-video-windows-free
  • Fügen Sie das installierte ffmpeg-Verzeichnis in Ihren Pfad ein. Auf meinem Computer war dies: C: \ Programme (x86) \ Screen Capturer Recorder \ configuration_setup_utility \ vendor \ ffmpeg \ bin
  • Führen Sie das folgende Batch-Skript aus:

Das Batch-Skript:

echo off
:loop
ffmpeg -loglevel info -t 300 -f dshow -video_device_number 0 -i video="screen-capture-recorder" -vcodec libx264 -pix_fmt yuv420p -s hd720 -preset ultrafast -vsync vfr -acodec libmp3lame -f mpegts - | ffmpeg -f mpegts -i - -c copy "current.mp4"
del old.mp4
mv current.mp4 old.mp4
goto loop
Kieran
quelle
Großartig, danke! Ich musste umsteigen mv, move /Ydann funktionierte es. Auch wäre es -t 30 für 30s.
xr280xr
Geben Sie außerdem mkv als Dateiformat anstelle von mp4 an, wenn Sie das Video ansehen möchten, während es noch aufgenommen wird.
Lanze
4

Angenommen, Sie verwenden eine Windows-Form und benötigen keine Echtzeitaufzeichnung. Dann möchten Sie wahrscheinlich TimerSnapper.

http://www.timesnapper.com/

Alle paar Sekunden werden Screenshots Ihres Desktops erstellt und gespeichert. Es soll Entwicklern helfen, den Überblick darüber zu behalten, woran sie tagsüber gearbeitet haben. Ich glaube, es hat eine vom Benutzer konfigurierbare Zeit, um die Screenshots zu speichern, aber ich bezweifle, dass es nur 30 Sekunden dauern wird. Besser zu viele Daten als zu wenig.

Es gibt eine ältere Version, die kostenlos ist, und eine neuere Professional-Version mit viel mehr Funktionen.

Steve Hiner
quelle
1

OK, unter Linux erstellt das folgende Skript drei .avi-Dateien in / tmp /, in denen die letzten Momente aufgezeichnet werden.

#!/bin/bash
while true; do
    ffmpeg -f x11grab -s 1280x800 -r 60 -i :0.0 -f avi /tmp/rolling.avi &> /dev/null &
    disown
    PID=$!
    sleep 30; 
    kill -KILL $PID
    cp /tmp/rolling_1.avi /tmp/rolling_2.avi
    cp /tmp/rolling.avi /tmp/rolling_1.avi
    rm /tmp/rolling.avi 
done

Natürlich müssen Sie die Argumente von ffmpeg für Ihre Bildschirmauflösung usw. ersetzen.

Ein Gruß an b0fh und ~ quack, die mir bei einigen Bash-Benachrichtigungsproblemen in diesem Thread geholfen haben .

brice
quelle
Dadurch werden 30 Sekunden aufgezeichnet, dann gelöscht und erneut gestartet. Er möchte 30 Sekunden ununterbrochen (also bekommt er immer nur 30 Sekunden, wenn er den Knopf drückt, wenn er eine Wiederholung wünscht)
t123
0

Einige Softwareprogramme, die für die Aufzeichnung von Fernsehgeräten entwickelt wurden, verfügen über diese Funktion. Vielleicht können Sie die Eingaben von Ihrer Bildschirmaufnahme-Software weiterleiten.

Chris Nava
quelle