Extrahieren von JPEG-Bildern aus dem MJPEG-Stream am Terminal

2638
Andrew

Ich versuche, JPEG-Bilder aus einem MJPEG-Stream zu extrahieren. Ich habe eine Suche durchgeführt und ein paar Quellen gefunden, aber diese extrahierten JPEG-Bilder aus einer MJPEG-Datei, wie hier . In meinem Fall habe ich keine Datei, sondern einen Live-Videostream. Wie kann ich JPEG-Bilder aus diesem Mjpeg-Stream extrahieren? Mein Ziel am Ende des Tages ist es, das Video aus einer Reihe von JPEG-Dateien neu zu erstellen.

Ich suche nach einer Befehlszeilenantwort, die in einem Terminal verwendet werden soll, da ich Ubuntu Server ohne GUI verwende. Wenn möglich, wäre es großartig, wenn Bildrate und / oder Qualität konfiguriert werden können. Ich habe mir ffmpeg, libav und vlc angesehen, kann es aber nicht ganz herausfinden. Kann jemand helfen?

0
Könnten Sie den Stream nicht einfach speichern und später extrahieren - oder gar nicht extrahieren, da Sie nur das Video benötigen? Haben Sie eine Beispiel-Stream-URL? slhck vor 11 Jahren 0
Ich habe nicht nur das Video neu erstellt, sondern auch für die Bilder. Der Stream kann auch über längere Zeiträume (mehrere Stunden) ausgeführt werden. In diesem Fall hätte ich eine extrem große Datei, die für mich unbequem ist. Ich habe vor, diese Aufzeichnung des Live-Streams an einen Tomcat-Server zu senden. Ich bin mit all dem Video- / Medienmaterial nicht so vertraut, aber ich schätze, dass es einfacher ist, Bilder zu senden als Datenpakete eines Videos. Ein Beispiel für die Stream-URL wäre "http: //192.168.254.102: 8080 / stream? Topic = / camera / rgb / image_color". Andrew vor 11 Jahren 0

1 Antwort auf die Frage

0
Andrew

Ich habe einen vlc-Befehl gefunden, der mein Problem gelöst hat:

vlc -I dummy \ http://192.168.254.102:8080/stream?topic=/camera/rgb/image_color/ \ --video-filter=scene \ --vout=dummy \ --scene-format=jpg \ --scene-ratio=1 \ --scene-prefix=snapshot \ --scene-path=/home/andrew/frames \ vlc://quit 

Dies spart jeden Frame aus dem Stream. Wenn ich alle 10 einen Frame aufnehmen möchten, der --scene-ratiokann Wert geändert bis 10: --scene-ratio=10.