[gelöst] Video-Content zeitgleich vergleichen?

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

[gelöst] Video-Content zeitgleich vergleichen?

Beitrag von Blackbox » 16.11.2020 05:26:16

Ich habe hier 2 Videos vom selben Produzenten und ähnlicher Quelle, allerdings ist eines der beiden Videos ca. 100 MB kleiner als das andere.
Mein Ansinnen ist es nun, beide Videos durch visuellen Vergleich in Augenschein zu nehmen, ob etwas bei dem kleinerem Video weggeschnitten ist, oder ob einfach ein effizienterer Videocodec verwendet wurde, welcher die Größenunterschiede erklärt.

Meine Fragestellung ist nun, gibt es einen solchen »Player« (oder ähnliches), vielleicht auch eine noch effizientere Möglichkeit bzw. Methode den Content von Videos zeitgleich (und) in Echtzeit zu vergleichen?
Ich bin erst einmal für alle Anregungen offen.
Zuletzt geändert von Blackbox am 16.11.2020 22:58:49, insgesamt 1-mal geändert.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Video-Content zeitgleich vergleichen?

Beitrag von Lord_Carlos » 16.11.2020 08:32:27

Wenn die genau Zeitgleich anfangen, kannst du mit ffmpeg Vollbilder im png format an bestimmten frames erstellen. Zwischen den Bildern kannst du entweder hin und her tabben, oder es ist viele Webseiten wo du zwei Frames/ Bilder mit einem Slider vergleichen kannst.

Ob was weggeschnitten ist kannst du ggf leicht mit einem Videoschnitt program herausfinden. Beide Videos in die Zeitliste schieben, und das oberste entweder 50% transparent geben, oder die Haelft wegschneiden.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Video-Content zeitgleich vergleichen?

Beitrag von hikaru » 16.11.2020 09:59:38

Zum ffmpeg-.Ansatz:
1. Du könntest alle Key-Frames extrahieren. [1]
2. Deine Annahme ist, dass beide Videos identisch sind. Also sollten die jeweils ersten Keyframes identisch* sein. Auch das lässt sich mit ffmpeg herausfinden. [2]
3. Du vermutest, aus einem Video könnte etwas herausgeschnitten sein, dass sie jedoch sonst identisch sind. Der Schnitt könnte auch am Anfang des Videos sein. Also solltest du, falls 2. fehlschlug den ersten Frame des kürzeren Videos über die Bildfolge des Längeren schieben und auch hier nach Übereinstimmungen suchen.
4. Findest du in 3. eine Übereinstimmung kannst du anehmen, das ab da beide Videos synchron laufen und kannst gemäß 2. fortfahren. Findest du erneut Abweichungen, wechselst du wieder zu 3.***


[1] https://superuser.com/questions/669716/ ... video-clip
[2] https://stackoverflow.com/questions/257 ... -in-ffmpeg

*) "identisch" ist hier Auslegungssache, da je nach Codierung auch zwei visuell identisch Bilder nicht zwangsläufig binär identisch sind. Ich würde zunächst den Prüfsummen-Check in [2] machen und falls der fehlschlägt, den visuellen blend-Test hinterherschieben.
Es gibt Bildbetrachter die Ähnlichkeitsvergeiche zwischen Bildern machen können. Debiangeeqie gibt z.B. einen Übereinstimmungsprozentsatz aus. Ab einem bestimmten Schwellwert (z.B. 99%**) könntest du zwei Bilder als identisch annehmen. Ich habe das in Geeqie bisher nur interaktiv genutzt. Prinzipiell ist das auch scriptfähig, ich kenne nur keine fertige Lösung.
**) In Anberacht dessen, dass in Videos benachbarte Frames optisch sehr ähnlich sein können, sollte man den Schwellwert wohl eher hoch ansetzen.
***) Streng genommen könnten beide Videos geschnitten sein. Auch dem Längeren könnten Teile fehlen, die im Kürzeren enthalten sind. Deshalb müsste man 3. eigentlich in beide Richtungen machen.****
****) Ganz hässlich wird es, wenn der Größen- bzw. Längenunterschied nicht auf Schnitte, sondern auf Abspielgeschwindigkeit zurückzuführen ist (z.B. 24 vs. 30 FPS).

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: Video-Content zeitgleich vergleichen?

Beitrag von MaGe » 16.11.2020 10:58:36

Blackbox hat geschrieben: [...] beide Videos durch visuellen Vergleich in Augenschein zu nehmen [...]
Vielleicht liege ich falsch, mit ffmpeg
zwei Videoclips zusammen und nebeneinander

Code: Alles auswählen

 ffmpeg -i Van_Helsing.mkv -i Van_Helsing.mkv -filter_complex hstack output.mkv 

Code: Alles auswählen

 ffmpeg -i Van_Helsing.mkv -i Van_Helsing.mkv -filter_complex vstack output.mkv 
hstack = Nebeneinander
vstack = Untereinander



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Video-Content zeitgleich vergleichen?

Beitrag von Blackbox » 16.11.2020 13:06:38

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
16.11.2020 08:32:27
Wenn die genau Zeitgleich anfangen, kannst du mit ffmpeg Vollbilder im png format an bestimmten frames erstellen. Zwischen den Bildern kannst du entweder hin und her tabben, oder es ist viele Webseiten wo du zwei Frames/ Bilder mit einem Slider vergleichen kannst.
Ursprünglich habe ich an einen Player gedacht, ähnlich einem Tiling Window Manager, in dem 2 Videos pa­r­al­le­l und zeitgleich abgespielt werden können.
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
16.11.2020 08:32:27
Ob was weggeschnitten ist kannst du ggf leicht mit einem Videoschnitt program herausfinden. Beide Videos in die Zeitliste schieben, und das oberste entweder 50% transparent geben, oder die Haelft wegschneiden.
Da ich mich mit Videoschnitt überhaupt nicht auskenne, verstehe ich diesen Teil so gut wie gar nicht.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Video-Content zeitgleich vergleichen?

Beitrag von Lord_Carlos » 16.11.2020 13:30:55

Blackbox hat geschrieben: ↑ zum Beitrag ↑
16.11.2020 13:06:38
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
16.11.2020 08:32:27
Ob was weggeschnitten ist kannst du ggf leicht mit einem Videoschnitt program herausfinden. Beide Videos in die Zeitliste schieben, und das oberste entweder 50% transparent geben, oder die Haelft wegschneiden.
Da ich mich mit Videoschnitt überhaupt nicht auskenne, verstehe ich diesen Teil so gut wie gar nicht.
Versuch es, und wenn du Fragen hast helfe ich dir gerne :)

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Video-Content zeitgleich vergleichen?

Beitrag von eggy » 16.11.2020 13:38:51

Blackbox hat geschrieben: ↑ zum Beitrag ↑
16.11.2020 13:06:38
Ursprünglich habe ich an einen Player gedacht, ähnlich einem Tiling Window Manager, in dem 2 Videos pa­r­al­le­l und zeitgleich abgespielt werden können.
Versuch mal bino

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: Video-Content zeitgleich vergleichen?

Beitrag von MaGe » 16.11.2020 15:07:52

Das scheint es ja nicht zu sein!
hstack = Nebeneinander

Vielleicht das? mit mpv.

Code: Alles auswählen

 mpv --lavfi-complex="[vid1][vid2]hstack[vo];[aid1][aid2]amix[ao]" The_Thing.mkv --external-file=The_Thing-gpu.mkv 


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wanne
Moderator
Beiträge: 7447
Registriert: 24.05.2010 12:39:42

Re: Video-Content zeitgleich vergleichen?

Beitrag von wanne » 16.11.2020 18:22:05

ob etwas bei dem kleinerem Video weggeschnitten ist,
Ich nehme an, einfach auf die Länge zu achten reicht dir nicht.

Wenn du wirklich nur feststellen willst, ob die Bilder exakt gleich sind: Du kannst die Checksummen der einzelnen Bildder verlgeiche:

Code: Alles auswählen

ffmpeg -i MOVIE1.mkv -f framemd5 MOVIE1.md5
ffmpeg -i MOVIE2.mkv -f framemd5 MOVIE2.md5
kdiff3 MOVIE1.md5 MOVIE2.md5
Problem bleibt, dass beim neu komprimieren natürlich alle Bilder (minimal) verändert werden. Wenn also zum schneiden neu komprimiert wurde hilft da nichts.
ffmpeg kann dir auch einen wert für die Ähnlichkeit ausgeben:

Code: Alles auswählen

ffmpeg -i MOVIE1.mkv -i MOVIE2.mkv -lavfi "ssim" -f  null -
Oder die Unterschiede in Videos visualisieren:
https://stackoverflow.com/questions/257 ... -in-ffmpeg

Code: Alles auswählen

ffplay -f lavfi "movie=MOVIE1.mkv[org]; movie=MOVIE2.mkv[enc]; [org][enc]blend=all_mode=difference
ffplay -f lavfi "movie=MOVIE1.mkv[org]; movie=MOVIE2.mkv[enc]; [org][enc]blend=all_mode=xor
Beides funktioniert natürlich nur, wenn nicht geschnitten wurde. Fehlt am Anfang eine halbe sekunde sind natürlich alle Bilder (zum jeweiligen Zeitpunkt) unterschiedlich.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Video-Content zeitgleich vergleichen?

Beitrag von Blackbox » 16.11.2020 21:34:20

MaGe hat geschrieben: ↑ zum Beitrag ↑
16.11.2020 10:58:36

Code: Alles auswählen

 ffmpeg -i Van_Helsing.mkv -i Van_Helsing.mkv -filter_complex vstack output.mkv 
hstack = Nebeneinander
vstack = Untereinander
Kleiner Zwischenstand als Feedback.
Ich habe die zitierte Lösung verwendet, allerdings hat das Rendern bis eben gedauert (also geschlagene 6 h bei 100 % CPU auf 8 Cores).
Das Ergebnis ist auch mäßig, weil eine 2,2 GB große Datei entstanden ist, welche immer wieder Tonaussetzer von mehreren Minuten aufweist.

Nun möchte ich noch diesen Lösungsweg versuchen.
MaGe hat geschrieben: ↑ zum Beitrag ↑
16.11.2020 15:07:52
hstack = Nebeneinander

Vielleicht das? mit mpv.

Code: Alles auswählen

 mpv --lavfi-complex="[vid1][vid2]hstack[vo];[aid1][aid2]amix[ao]" The_Thing.mkv --external-file=The_Thing-gpu.mkv 
Das ist die Lösung!
Kein Warten, keine hohe CPU/GPU Last, beide Videos werden nebeneinander, mit Ton und in Echtzeit abgespielt.
Danke.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: [gelöst] Video-Content zeitgleich vergleichen?

Beitrag von MaGe » 17.11.2020 11:10:38

.
Gefunden irgendwo in den weiten des World Wide Web
Ich benutze keinen VLC, aber was für Windows gut ist.

Vieleicht kann das jemand testen, der VLC hat.

1.) Öffnen Sie dazu einfach VLC und wählen Sie Medien> Mehrere Dateien öffnen .
2.) Wählen Sie in den Fenstern mit mehreren Dateien Hinzufügen, um die erste Datei hinzuzufügen.
3.) Klicken Sie anschließend auf das Kontrollkästchen " Weitere Optionen anzeigen" und anschließend auf das Kontrollkästchen " Synchrones Abspielen eines anderen Mediums " unten im Fenster.
4.) Wählen Sie neben " Zusätzliche Medien " die Option " Durchsuchen ", um die zweite Datei hinzuzufügen.
5.) Wenn Sie auf Wiedergabe klicken, werden die beiden Mediendateien gleichzeitig mit einem einzigen Steuerungsfenster wiedergegeben.

Wie gesagt, ich kann das nicht testen.
Ein Versuch ist das allemal wert



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: [gelöst] Video-Content zeitgleich vergleichen?

Beitrag von Blackbox » 17.11.2020 23:22:54

MaGe hat geschrieben: ↑ zum Beitrag ↑
17.11.2020 11:10:38
Ich benutze keinen VLC, aber was für Windows gut ist.
Verwende ebenfalls keinen VLC und auch kein Windows, weder privat, noch beruflich gezwungen.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: [gelöst] Video-Content zeitgleich vergleichen?

Beitrag von inne » 21.11.2020 11:05:48

MaGe hat geschrieben: ↑ zum Beitrag ↑
17.11.2020 11:10:38
Wie gesagt, ich kann das nicht testen.
Ein Versuch ist das allemal wert
Das bezieht sich nur auf eine extra Audiospur die statt der aus der 1. Datei abgespielt wird.

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: [gelöst] Video-Content zeitgleich vergleichen?

Beitrag von MaGe » 21.11.2020 13:46:30

inne hat geschrieben: Das bezieht sich nur auf eine extra Audiospur [...]
Danke :THX:



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Antworten