wie finde ich den nächstgelegenen iframes mit ffprobe?

543
Juneyoung Oh

Ich frage mich, ob ich in der Videodatei mit ffprobe oder ffmpeg die nächstgelegenen iframes aus bestimmten Positionen (möglicherweise bestimmte Sekunden) finden kann.

Ist es möglich? Das Ergebnis, was ich möchte, ist die Position der Bilder in Sekunden.

Mein Befehl ist ffprobe -show_frames -select_streams v -print_format json=c=1 Z63902_5_130719.ts | grep "I" | grep "\"pkt_dts_time\"". Da es in diesem Json nur ein "Ich" gibt, grep ich nur "Ich". Mein Problem ist, dass dies zu langsam ist. Mein letztes Ziel ist, Iframe-Positionen vom RTSP-Protokoll zu erhalten und Liste zu erstellen. Wenn es zu RTSP geht, wird es viel langsamer als jetzt sein.

Wie kann ich das lösen?

0
Sehen Sie meine Antwort in der verlinkten Frage und lassen Sie mich wissen, ob dies hilft. slhck vor 10 Jahren 0
@slhck Danke für die Antwort. Ich konnte diese Antwort jedoch nicht versuchen, denn wenn ich den Befehl verwende, der in Ihrem Link gepostet wurde, wird "bash: Syntaxfehler in der Nähe des unerwarteten Token" ("") angezeigt. Eigentlich verwende ich Full-Scan (?), Um Keyframes zu finden Das Problem ist, dass es zu langsam ist. Ich befehle, dass ffprobe und grep, und es dauert 3 Minuten, um die Position des Frames aus 10 Minuten Video abzurufen. Gibt es eine Möglichkeit, die Geschwindigkeit zu verbessern? Nochmals vielen Dank Juneyoung Oh vor 10 Jahren 0
Ich verwende die Option -print_format, andernfalls wird beim Ausführen des Befehls grep nur "pict_type: I" angezeigt. Juneyoung Oh vor 10 Jahren 0
@slhck Ich habe einen besseren Weg gefunden, um Iframe-Positionen aufzulisten. Wenn ich die Option "-show_frames" verwende, dauert es 2 Minuten und 59 Sekunden. Aber irgendwie, wenn ich andere Optionen verwende, war es in wenigen Sekunden fertig. Ich weiß nicht warum, aber es ist sicher, dass die Option "show_packets" mit demselben Ergebnis schneller ist. Danke noch einmal. Soll ich diese Frage löschen oder nicht? Ich werde deinem Urteil folgen: D Juneyoung Oh vor 10 Jahren 0
Wenn Sie möchten, können Sie Ihre eigene Lösung als Antwort auf die andere Frage posten, und wir lassen diese Frage einfach stehen. Sie müssen es nicht löschen. slhck vor 10 Jahren 0
@slhck Danke: D Da ich denke, du bist so ein Experte der ff-Serie. Wenn Sie nichts dagegen haben, kann ich noch eine Frage stellen? Ich arbeite mit Dateien im TS-Format. Wie Sie wissen, hat das TS-Paket eine feste Größe, die 188 Byte beträgt. Wenn ich jedoch die Option "-show_packets" verwende und meine TS-Datei eingebe, ist die Größe sehr unterschiedlich. Ich weiß nicht warum diese Größe so ist. Danke und einen schönen Tag. Juneyoung Oh vor 10 Jahren 0
Nicht sicher - können Sie vielleicht eine neue Frage mit mehr Details und Beispielausgaben posten? Vielen Dank! slhck vor 10 Jahren 0

0 Antworten auf die Frage