2016-04-08 10 views
0

Ich plane, eine einfache Lösung zu entwickeln, mit der ich eine sehr einfache Video-Stream-Analyse im laufenden Betrieb durchführen kann. So etwas habe ich noch nie gemacht, daher die sehr allgemeine und offene Frage. Das Hauptaugenmerk liegt auf der Überprüfung, ob der Stream ohne Probleme läuft - Standbilder, schwarze Bildschirme und ob der Ton da ist. Die Synchronisierung ist nicht möglich. Ich lese über offene Bibliotheken wie OpenCV und Xuggler, aber sie scheinen komplexer als für meine Bedürfnisse. FFmpeg kann schwarze Bildschirme erkennen, aber nicht im laufenden Betrieb.Video-Stream-Analyse im laufenden Betrieb - beraten?

Gibt es noch eine andere offene Bibliothek, in die ich schauen könnte? Könnten Sie mir irgendetwas raten? Ich denke über die Verwendung von Java oder Python nach. Oder vielleicht beides. Die Effizienz der Lösung ist außerhalb des Geltungsbereichs, ich konzentriere mich jetzt nur auf Standbild- und Schwarzbild-Erkennung.

Jede Beratung ist willkommen!

Mit freundlichen Grüßen, Peter

+0

mit OpenCV können Sie Standbilder und schwarze Bildschirme problemlos und in ein paar Zeilen erkennen, obwohl für den Audioteil etwas anderes benötigt wird. OpenCV ist in Python und Java verfügbar. – api55

+0

Was meinen Sie mit "FFmpeg ist nicht in der Lage, schwarze Bildschirme im laufenden Betrieb zu erkennen"? – aergistal

Antwort

1

Sie können einen Live-Stream analysieren mit ffmpeg on-the-fly. Zum Beispiel:

ffmpeg -i <input> -filter:v blackdetect=d=9 -filter:a silencedetect=d=9 -t 10 -f null /dev/null

prüft, ob 9s aus 10s Video sind schwarz oder stumm. Wiederholen.

Für Bilder, die sich nicht ändern, nehmen Sie zwei Screenshots zu unterschiedlichen Zeiten und sehen Sie, ob sie unterschiedlich sind. Für z. mit imagemagick können Sie compare -metric <metric> <in1> <in2> <diff> tun.