|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Hat jemand von euch eine bessere, leichtere oder übersichtliche und/oder elegantere Methode ge- oder erfunden?
| diff -y <(ffmpeg -version | grep '^lib' | sort) <(mpv -version | grep -v version | grep 'lib' | sort)
libavcodec 61. 11.100 / 61. 11.100 | libavcodec 61.11.100
libavdevice 61. 2.100 / 61. 2.100 | libavdevice 61.2.100
libavfilter 10. 2.102 / 10. 2.102 | libavfilter 10.2.102
libavformat 61. 5.101 / 61. 5.101 | libavformat 61.5.101
libavutil 59. 34.100 / 59. 34.100 | libavutil 59.34.100
libpostproc 58. 2.100 / 58. 2.100 | libswresample 5.2.100
libswresample 5. 2.100 / 5. 2.100 | libswscale 8.2.100
libswscale 8. 2.100 / 8. 2.100 <
|
Ich baue den FFmpeg und MPV immer wieder mal selbst, und fand dann Versionen der Libraries vergleichen etwas unbequem, da die Sortierung der Reihenfolge der Libraries bei der "mpv -version" Ausgabe nicht mit der Reihenfolge beim FFmpeg übereinstimmte.
|
|
Marantkurz
Anmeldungsdatum: 7. September 2023
Beiträge: 941
|
In der Richtung? icdiff <(ffmpeg -version | grep '^lib' | sed 's,/.*,,' | sort) <(mpv -version | grep -v version | grep 'lib' | sort) Bei dem ffmpeg libs ist noch Leerzeichen drin. Vllt. reicht es auch mit "--show-no-spaces". libavcodec 60. 31.102 libavcodec 60.31.102
libavdevice 60. 3.100
libavfilter 9. 12.100 libavfilter 9.12.100
libavformat 60. 16.100 libavformat 60.16.100
libavutil 58. 29.100 libavutil 58.29.100
libpostproc 57. 3.100
libswresample 4. 12.100 libswresample 4.12.100
libswscale 7. 5.100 libswscale 7.5.100 – Für was steht eigentlich bei ffmpeg die Form lib* x.x.x / x.x.x ?
|
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Noch ein bisschen weiter versucht, und bin nun hierbei gelandet:
diff -y <(ffmpeg -version | grep -v libpostproc | grep "^lib" | sed "s,/.*,," | sed "s/\\(\. \\)././" | sort) <(mpv -version | grep -v version | grep "lib" | sort)
libavcodec 61.1.100 | libavcodec 61.11.100
libavdevice 61.2.100 | libavdevice 61.2.100
libavfilter 10.2.102 | libavfilter 10.2.102
libavformat 61.5.101 | libavformat 61.5.101
libavutil 59.4.100 | libavutil 59.34.100
libswresample 5.2.100 | libswresample 5.2.100
libswscale 8.2.100 | libswscale 8.2.100
Die libpostproc ist nicht im MPV eingebaut. Marantkurz schrieb:
Für was steht eigentlich bei ffmpeg die Form lib* x.x.x / x.x.x ?
Habe keine Ahnung, warum das so ausgegeben wird. ¯\_(ツ)_/¯ Mir geht es nur darum, dass die Versionsnummern der Libraries von FFmpeg und MPV nicht auseinanderlaufen, Für den MPV gibt es übrigens das hier:
Edit: Oh nein, blind wie ich bin, fällt mir erst jetzt auf, dass es Zahlen zu viel entfernt. Hat mal jemand ein paar neue Augen für mich? Noch ein Edit:
| diff -y <(ffmpeg -version | grep -v libpostproc | grep "^lib" | sed "s,/.*,," | sed "s/\\(\. *\\)/./" | sort) <(mpv -version | grep -v version | grep "lib" | sort)
libavcodec 61.11.100 | libavcodec 61.11.100
libavdevice 61.2.100 | libavdevice 61.2.100
libavfilter 10.2.102 | libavfilter 10.2.102
libavformat 61.5.101 | libavformat 61.5.101
libavutil 59.34.100 | libavutil 59.34.100
libswresample 5.2.100 | libswresample 5.2.100
libswscale 8.2.100 | libswscale 8.2.100
|
Schöner ist es zwar nicht geworden, aber nun stimmen die Zahlen wieder. 😇
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
@trollsportverein: Kann Dir das mit dem "/" tatsächlich egal sein? Ich weiss nicht warum das da so ausgegeben wird, aber es macht ja keinen Sinn das so zu machen wenn die beiden Versionen vor und nach dem "/" grundsätzlich immer gleich sind. Könnte mir vorstellen, dass das eine die Version ist, die beim Kompilieren von ffmpeg vorhanden waren, und das andere die Version, die aktuell tatsächlich auf dem System vorhanden ist. Und dann wäre für Dich ja schon wichtig zu wissen welche davon welche ist, oder?
|
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Marc_BlackJack_Rintsch schrieb: @trollsportverein: Kann Dir das mit dem "/" tatsächlich egal sein? Ich weiss nicht warum das da so ausgegeben wird, aber es macht ja keinen Sinn das so zu machen wenn die beiden Versionen vor und nach dem "/" grundsätzlich immer gleich sind. Könnte mir vorstellen, dass das eine die Version ist, die beim Kompilieren von ffmpeg vorhanden waren, und das andere die Version, die aktuell tatsächlich auf dem System vorhanden ist. Und dann wäre für Dich ja schon wichtig zu wissen welche davon welche ist, oder?
Auf der linken Seite ist die Ausgabe der Libraries von FFmpeg zu sehen, auf der rechten Seite die Ausgabe der Libraries von MPV. Die Versionen sind nicht immer unbedingt gleich. Gleich sind sie nur, wenn ich den MPV etwa am gleichen Tag baue, wie den FFmpeg. Würde ich auch nur eine Woche warten, dann stimmen die Versionen der Libraries mit größter Wahrscheinlichkeit nicht überein. Oft sogar schon nicht mal mehr am nächsten Tag. Sieht man ja auch, wie rasant die Entwicklung bei FFmpeg vorangeht:
Das mpv-build baut sich seinen eignen internen FFmpeg, ganz egal und unabhängig davon, ob man zuvor gerade einen frischen FFmpeg gebaut und installiert hat. Ich mag es aber trotzdem nicht, wenn die Libraries nicht Versionsgleichstand haben. Funktionieren tut das normalerweise auch wenn die Versionen nicht gleich sind. Edit: Etwas mehr verbose - der interne FFmpeg vom MPV wird mit dem Schalter "--enable-static" gebaut. Das macht das mpv-build so. Daher liegen die Libraries vom MPV, nach deren Version ich schaue, auch nicht sichtbar im Dateisystem herum. Der FFmpeg fürs System ist hingegen mit dem "--disable-static" Schalter gebaut.
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
@trollsportverein: Ich glaube wir reden aneinander vorbei. Was Du da schreibst ist mir alles klar. Ich rede von den Versionsnummer links und rechts vom "/" bei ffmpeg wo Du die rechts vom "/" einfach ignorierst. Warum ist das okay das zu tun? Was bedeuten die?
|
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Marc_BlackJack_Rintsch schrieb: @trollsportverein: Ich glaube wir reden aneinander vorbei. Was Du da schreibst ist mir alles klar. Ich rede von den Versionsnummer links und rechts vom "/" bei ffmpeg wo Du die rechts vom "/" einfach ignorierst. Warum ist das okay das zu tun? Was bedeuten die?
Links sind die, die der FFmpeg benutzt. Die liegen auch sichtbar im Dateisystem:
porg -fs ffmpeg | grep .so
23 /usr/lib/x86_64-linux-gnu/libavcodec.so
23 /usr/lib/x86_64-linux-gnu/libavcodec.so.61
15M /usr/lib/x86_64-linux-gnu/libavcodec.so.61.11.100
23 /usr/lib/x86_64-linux-gnu/libavdevice.so
23 /usr/lib/x86_64-linux-gnu/libavdevice.so.61
210k /usr/lib/x86_64-linux-gnu/libavdevice.so.61.2.100
23 /usr/lib/x86_64-linux-gnu/libavfilter.so
23 /usr/lib/x86_64-linux-gnu/libavfilter.so.10
12M /usr/lib/x86_64-linux-gnu/libavfilter.so.10.2.102
23 /usr/lib/x86_64-linux-gnu/libavformat.so
23 /usr/lib/x86_64-linux-gnu/libavformat.so.61
2.8M /usr/lib/x86_64-linux-gnu/libavformat.so.61.5.101
22 /usr/lib/x86_64-linux-gnu/libavutil.so
22 /usr/lib/x86_64-linux-gnu/libavutil.so.59
1.1M /usr/lib/x86_64-linux-gnu/libavutil.so.59.34.100
23 /usr/lib/x86_64-linux-gnu/libpostproc.so
23 /usr/lib/x86_64-linux-gnu/libpostproc.so.58
86k /usr/lib/x86_64-linux-gnu/libpostproc.so.58.2.100
24 /usr/lib/x86_64-linux-gnu/libswresample.so
24 /usr/lib/x86_64-linux-gnu/libswresample.so.5
130k /usr/lib/x86_64-linux-gnu/libswresample.so.5.2.100
21 /usr/lib/x86_64-linux-gnu/libswscale.so
21 /usr/lib/x86_64-linux-gnu/libswscale.so.8
662k /usr/lib/x86_64-linux-gnu/libswscale.so.8.2.100
Rechts sind die, die statisch im MPV-Binary drin sind.
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
@trollsportverein: Nein. Rechts sind nicht die von mpv. Warum sollte ffmpeg die Anzeigen?
|
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Marc_BlackJack_Rintsch schrieb: @trollsportverein: Nein. Rechts sind nicht die von mpv. Warum sollte ffmpeg die Anzeigen?
Weil das die "diff -y" Ausgabe ist, die die Versionsausgaben von FFmpeg und MPV vergleicht.
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
@trollsportverein: Von der Ausgabe spreche ich nicht. Ich spreche von der wo es Versionsnummern rechts und links von einem "/" gibt. In der diff-Ausgabe ist nirgens ein "/". Egal. Hoffen wir einfach das es egal ist welche der beiden Versionsnummern man nimmt, und bei beiden das gewünschte Ergebnis heraus kommt, auch wenn die mal nicht gleich sein sollten…
|
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Dann schau Dir doch mal an, wo die Ausgabe von FFmpeg auftaucht, und wo die Ausgabe von MPV:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | diff -y <(ffmpeg -version) <(mpv -version)
ffmpeg version N-116756-gcfe0a36352 Copyright (c) 2000-2024 t | mpv v0.38.0-717-g92f052c14e Copyright © 2000-2024 mpv/MPlayer
built with gcc 14 (Ubuntu 14-20240412-0ubuntu1) | built on Aug 23 2024 09:31:51
configuration: --prefix=/usr --toolchain=hardened --libdir=/u | libplacebo version: v7.349.0 (v7.349.0-5-g82bf46ae)
libavutil 59. 34.100 / 59. 34.100 | FFmpeg version: N-116756-gcfe0a36352
libavcodec 61. 11.100 / 61. 11.100 | FFmpeg library versions:
libavformat 61. 5.101 / 61. 5.101 | libavcodec 61.11.100
libavdevice 61. 2.100 / 61. 2.100 | libavdevice 61.2.100
libavfilter 10. 2.102 / 10. 2.102 | libavfilter 10.2.102
libswscale 8. 2.100 / 8. 2.100 | libavformat 61.5.101
libswresample 5. 2.100 / 5. 2.100 | libavutil 59.34.100
libpostproc 58. 2.100 / 58. 2.100 | libswresample 5.2.100
> libswscale 8.2.100
|
Das ist beides heute gebaut, daher Gleichstand bei den Libraries Versionen. Das wird sich aber voraussichtlich innerhalb kurzer Zeit ändern, wenn ich nur eines von beiden baue. So jedenfalls meine Erfahrung mit der Entwicklungsgeschwindigkeit.
|
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4735
|
@trollsportverein: Das weiss ich alles. Das beantwortet immer noch nicht die Frage warum es okay ist eine von den *drei* Versionsnummern pro Bibliothek, nämlich — und hier wiederhole ich mich wieder — die rechts vom "/", einfach zu ignorieren. Was bedeutet die, beziehungsweise auch die andere, und ist es tatsächlich egal welche man nimmt, oder muss man die vor dem "/" nehmen, und wenn ja, warum?
|
|
Marantkurz
Anmeldungsdatum: 7. September 2023
Beiträge: 941
|
@trollsportverein Auf das will @Marc_BlackJack_Rintsch die ganze Zeit hinaus:
lib* x.x.x / x.x.x ?
Nimmt ja kein Ende. – Gibts eigentlich Erfolge zu berichten? Kannst Du jetzt damit Westfernsehen sehen? 😎 Bin neugierig.
|
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Marantkurz schrieb: @trollsportverein Auf das will @Marc_BlackJack_Rintsch die ganze Zeit hinaus:
lib* x.x.x / x.x.x ?
Nimmt ja kein Ende.
Warum sollte man sich daran so dermaßen verbeißen? Ist doch albern. Die Versionsnummern der FFmpeg Libraries werden seit vielen Jahren so doppelt angezeigt. Warum auch immer. ¯\_(ツ)_/¯ Dabei sind die Versionsnummern der Libraries links und rechts vom Schrägstrich in der Ausgabe von "ffmpeg -version" auch seit Jahren immer identisch. Falls das jemand als das letzte Rätsel der Menschheit weiter erforschen möchte, bitteschön. Aber ich habe nicht vor, damit Zeit zu verschwenden.
Gibts eigentlich Erfolge zu berichten? Kannst Du jetzt damit Westfernsehen sehen? 😎 Bin neugierig.
Fernsehen? Igitt! Geh weg. Aber den Nachfolger von H.265 kann der selbstgebaute FFmpeg nun.
ffmpeg -hide_banner -codecs | grep vvc
DEV.L. vvc H.266 / VVC (Versatile Video Coding) (decoders: vvc vvc_qsv) (encoders: libvvenc)
Und mehr Performance bei AV1 gibts auch:
|
|
trollsportverein
(Themenstarter)
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 5232
|
Ich setze das jetzt mal auf gelöst. Die Rätselaufgabe, warum FFmpeg seine Libraries doppelt und mit einem Schrägstrich in seiner Versionsausgabe anzeigt, die Marantkurz und Marc_BlackJack_Rintsch mir doch ganz gerne aufs Auge gedrückt hätten, bleibt bislang ungelöst. ¯\_(ツ)_/¯ Tut aber für den Lib-Versionsvergleich zwischen FFmpeg mit seinen shared Libs und MPV mit seinen statisch eingebundenen nichts zur Sache. 😇 Ihr könnt ja trotzdem gerne weiter posten, wenn noch was dazu einfällt.
|