mplayer -identify
wird den Trick tun. Wenn Sie einfach nur ffmpeg
für eine Datei aufrufen, wird automatisch eine Reihe von Informationen am Anfang über die Eingabedatei gedruckt, unabhängig davon, was Sie ffmpeg tatsächlich tun möchten.
Natürlich, wenn Sie es von Ihrem Programm ohne einen exec-Aufruf an ein externes Programm tun möchten, können Sie einfach die avcodec-Bibliotheken hinzufügen und seine eigene Identifizierungsroutine direkt ausführen.
Während Sie Ihre eigene Erkennung implementieren könnten, wird sie sicherlich den Routinen unterlegen, angesichts der absolut enormen Anzahl von Formaten, die libav * unterstützt. Und es wäre ein ziemlich alberner Fall, das Rad neu zu erfinden.
Linux "Datei" Befehl kann auch den Trick tun, aber die Menge der Daten, die es ausgibt, hängt vom Videoformat ab. Zum Beispiel gibt es auf AVI alle Arten von Daten über Auflösung, FOURCC, fps usw., während für eine MKV-Datei nur "Matroska-Daten" stehen, die nichts über die Interna oder sogar die verwendeten Video- und Audioformate sagen.
Das geht nicht weit genug. Datei sagt Ihnen ein wenig, aber nicht Codecs wie das OP fragt nach. –