Was ist FFprobe?
FFprobe ist ein Dienstprogramm von FFmpeg, das Mediendateien und Streams ohne Transkodierung untersucht. Es liefert Angaben zu Containern, Codecs, Abmessungen, Zeitinformationen, Tags und weiteren technischen Metadaten.
So funktioniert FFprobe
FFprobe öffnet eine Ressource über die Demuxing- und Probing-Schichten von FFmpeg, identifiziert Streams und gibt ausgewählte Container-, Paket-, Frame- und Tag-Felder aus. FFprobe kann strukturierte Ausgaben zur Automatisierung serialisieren, ohne eine Ersatzmediendatei zu erzeugen. Probing verursacht weniger Rechenaufwand als eine vollständige Transkodierung, doch manche Eigenschaften werden nur geschätzt oder erfordern, weiter in den Stream hineinzulesen. Es dient häufig als Eingangskontrolle vor der Validierung, der Weiterleitung oder dem Erstellen einer Encoding-Konfiguration.
Wichtige Fakten
- Strukturiertes JSON in Kombination mit show_entries ist für die Automatisierung sicherer als das Parsen des standardmäßigen menschenlesbaren Berichts, dessen Bezeichnungen und Formatierung keine zugesicherte Schnittstelle für den Datenaustausch sind.
- Containerdauer und nominelle Bildrate können fehlen, geschätzt oder irreführend sein. Paket- und Frame-Zeitstempel sind nötig, wenn eine Pipeline variable Bildintervalle oder Lücken in den Zeitstempeln erkennen muss.
- Eine abgeschnittene Datei kann plausible Header und Stream-Deklarationen aufweisen, obwohl spätere Pakete nicht lesbar sind. Erfolgreiches Probing stellt daher keine vollständige Prüfung der Decodierbarkeit dar.
Wann FFprobe wichtig ist
Pipelines führen FFprobe vor der Verarbeitung aus, um Eingaben zu validieren und kompatible Einstellungen zu wählen. Bei fehlerhaften oder fehlenden Metadaten können Decodiertests erforderlich sein; sich allein auf die Probing-Ausgabe zu verlassen, reicht dann möglicherweise nicht aus.