Video nach einer bestimmten Zeit schneiden?

1185
user391502

Ich habe also herausgefunden, wie man ein Video zu einem bestimmten Zeitpunkt mit dem folgenden Befehl schneidet

ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.wmv ffmpeg -i input.wmv -ss 30 -c copy -t 10 output.wmv 

Das funktioniert zwar, aber es funktioniert bei einer Videodatei output.wmv. Wie kann ich dies in Echtzeit tun? Grundsätzlich möchte ich, dass eine Kamera rund um die Uhr läuft und aufzeichnet. Wenn ich auf eine Schaltfläche klicke, werden die letzten 30 Sekunden gespeichert. Was das bedeutet, ist etwas älter als 30 Sekunden, die ich nicht mehr brauche. Was ich also tun möchte, ist im Wesentlichen alle Frames, die älter als 30 Sekunden sind, von einem Eingabestrom (Webcam) abzuschneiden, damit ich die Festplatte nicht an einem Tag fülle.

1
Ich sehe keine einfache Möglichkeit, dies zu tun, aber Sie könnten alle paar Minuten in eine andere Datei aufnehmen und ältere Dateien löschen? Eine Datei von Anfang an abzuschneiden ist wahrscheinlich schwierig? barrycarter vor 9 Jahren 0
2 mögliche Probleme 1) Ist es möglich, dass Frames verloren gehen, während der Aufnahmestream startet / stoppt? 2) Sagen Sie, ich schneide alle 1 Minute. Wenn jemand bei 1:15 den Knopf drückt, hätte ich nur einen 1-minütigen und einen 15-Sekunden-Clip. user391502 vor 9 Jahren 0
2) Aber wenn Sie nur 30 Sekunden brauchen, sollten 1 Minute und 15 Sekunden ausreichen? 1) Sie könnten überlappende Aufnahmen versuchen, aber das funktioniert möglicherweise nicht. barrycarter vor 9 Jahren 0
Sorry, wenn der Beitrag verwirrend war, meine ich, die Kamera läuft rund um die Uhr. Dann zeigen Sie der Demonstration halber alle 1 Minute, dann sagen Sie um 8:00:15, dass Sie auf die Schaltfläche klicken. Sie hätten nur 15 Sekunden Film (im vordersten Clip) oder 1 Minute im vorherigen Clip user391502 vor 9 Jahren 0
Sie brauchen also nur die Zeitdauer der Videodatei und schneiden dann die letzten Sekunden nach Bedarf ab. barrycarter vor 9 Jahren 0

1 Antwort auf die Frage

1
dstob

http://sonnati.wordpress.com/2012/07/02/ffmpeg-the-swiss-army-knife-of-internet-streaming-part-v/

"5. Zeichnen Sie eine endlos rotierende Zieldatei auf"

Das erledigt Ihren Rundpuffer.

Möglicherweise müssen Sie ein wenig experimentieren, um zu sehen, wie Sie die letzten 30 Sekunden nutzen können. Es gibt verschiedene Möglichkeiten, dies zu tun, also liegt es an dem Implementierer.

Sie sollten den tatsächlichen Kontext angeben und nicht nur einen Link. Was ist, wenn der Link verschwindet? Weitere Informationen finden Sie unter [Wie schreibe ich eine gute Antwort?] (Http://superuser.com/help/how-to-answer) und [Wie Sie Material referenzieren] (http://superuser.com/help/referencing) ). LordNeckbeard vor 9 Jahren 1