So weisen Sie ffmpeg an, im Stream empfangene Metadaten auszugeben

So weisen Sie ffmpeg an, im Stream empfangene Metadaten auszugeben

Ich verwende ffmpeg, um einen RTSP-Stream von einer Überwachungskamera zu empfangen. Es gibt 3 Unterstreams von der Kamera:

  Stream #0:0: Video: h264 (High), yuvj420p(pc, bt709, progressive), 2592x1944 [SAR 1887:1888 DAR 629:472], 15 fps, 100 tbr, 90k tbn
  Stream #0:1: Audio: aac (LC), 8000 Hz, mono, fltp
  Stream #0:2: Data: none

Mit Audio und Video habe ich gut zurechtgekommen, aber ich habe noch nicht herausgefunden, wie ich mit den Daten umgehen soll. Diese Daten enthalten Bewegungsalarme, Störungen und andere Daten. Ich habe die folgende Kartenoption verwendet, um die Datenquelle anzugeben:

-map 0:2

Aber ich kann kein akzeptiertes Ausgabeformat finden.

Antwort1

Um Ihre Kamera-Streams aufzuzeichnen, können Sie den MPEG-TS-Container verwenden, der Datenströme akzeptiert.
So zeichnen Sie in einem MPEG-TS-Container auf:
ffmpeg -i <input> -map 0 -c copy -f mpegts record.ts

Und lesen/extrahieren Sie dann den Dateninhalt:
ffmpeg -i record.ts -map 0:2 -c copy -f data data.txt

verwandte Informationen