Welche Grafikkarte?

Zvoni

Erfahrenes Mitglied
Hallo zusammen.

Situation:
Dell Optiplex 390 mit i3-2120 - 4GB RAM
OS: Manjaro Cinnamon current - Linux 5.8.1 - alle codecs installiert (x264, x265, OpenH265 und was ich sonst noch finden konnte)
Wird nur zum Abspielen von Videos benutzt (kein Gaming, kein Videoschnitt, kein gar nix sonst, höchstens mal ein raw cut mit HandBrake bzw. QWinFF, aber da ist die Dauer dann egal, da ich das im Batch laufen lasse)
Derzeit läuft das Teil über die integrierte GraKa. Zum Abspielen wird VLC bzw. der Gnome-Mediaplayer benutzt.
Im VLC benutze ich den XCB-Ausgang

Ist-Zustand: FullHD (1920x1080/30fps) spielt sowohl VLC als auch GMP problemlos.
Sobald aber FPS in Richtung 60 geht wirds ruckelig

Jetzt aber sehe ich mich mit folgendem Problem konfrontiert:
Die meisten bei uns haben eine GoPro 8 black (bzw. min. eine GoPro7 black) wegen dem Stabilisierungs-Dingens (ich übrigens auch - geile Funktion)
Jedoch haben die neuen GoPros nicht mehr den kombinierten Foto und Video-Modus (Während Video filmt schiesst die Cam Fotos mit 12MPx alle 5 sekunden --> ist auf meiner GoPro4 so).
Da wir aber Kunden haben, welche nur Fotos haben wollen, sind wir jetzt dazu übergangen in 2,7K/60FPS zu filmen, und dann im VLC einfach Snapshots zu ziehen (bzw. in KDENLive einfach export auf jpg-Serie).

VLC: spielt 2,7K überhaupt nicht ab bzw. seit ich auf XCB umgestellt habe, spielt VLC es ab, aber ruckelt und/oder bleibt hängen.
GMP: spielt 2,7K in Zeitlupe ab (?!?!??!).

Deswegen bin ich gerade am überlegen, den Rechner aufzurüsten.
Hatte zuerst daran gedacht in den Dell nen i7-2600 einzubauen, aber da es ja um Video geht, ist das wohl der falsche Ansatz (zumal der i7-2600 so um die 60 € kostet)
Deshalb schaue ich mich gerade nach GraKas um.

Vorne weg: Darf natürlich nix kosten.
Es bringt nix, ne GraKa für 80€ einzubauen, wenn ich nen PI4 für 100 € bekomme.

Habt ihr da Empfehlungen/Vorschläge?
Preisklasse sollte nicht über 50-60 € sein

Und ich brauch das ganze zwei mal, da ich zwei von den Rechnern habe.
 

Technipion

Erfahrenes Mitglied
Hallo Zvoni,
Hatte zuerst daran gedacht in den Dell nen i7-2600 einzubauen, aber da es ja um Video geht, ist das wohl der falsche Ansatz (zumal der i7-2600 so um die 60 € kostet)
soetwas musst du immer nachprüfen. Wir Menschen sind einfach schrecklich darin, mögliche Flaschenhälse abzuschätzen. Ich schlage vor du machst mal folgendes:

Spiel eines der Videos ab und schaue dir dabei die CPU-Auslastung an. Falls die Auslastung permanent an den 100% kitzelt, deutet das doch eher auf ein CPU-Problem hin.

Ziehe das Wiedergabefenster mal sehr sehr klein (z.B. 100 x 100 px). Damit entlastest du die Grafikkarte sehr (weil sie nur noch wenige Pixel zeichnen muss). Wird die Wiedergabe dann flüssiger, oder ruckelt es immer noch?

Ebenfalls wichtig: Welche Codecs werden von den Videoclips verwendet? Es kann gut sein, dass der Prozessor schlicht noch keine Hardware-Unterstützung hatte...

Da wir aber Kunden haben, welche nur Fotos haben wollen, sind wir jetzt dazu übergangen in 2,7K/60FPS zu filmen, und dann im VLC einfach Snapshots zu ziehen (bzw. in KDENLive einfach export auf jpg-Serie).
Also wenn ich dich richtig verstanden habe geht es jetzt hier nur um das Abspielen der Videos, nicht um das Konvertieren, richtig? Weil Videos in Bildsequenzen umzuwandeln schreit für mich ja geradezu nach ffmpeg, zumal du ohnehin auf einem Linux-System bist :D

Es bietet sich ohnehin an, dass du dir mal ffmpeg installierst. Denn über den Befehl
$ ffmpeg -i meine_Videodatei.mp4
kannst du dir allerhand Informationen über Video-/Audiodateien anzeigen lassen. Würde sich ja anbieten den Output hier im Forum zu posten :ROFLMAO:

Der Vollständigkeit halber hier noch ein Wiki-Eintrag, wie man dieses Verhalten der GoPro mit ffmpeg nachbauen könnte: Guckst du hier.

Gruß Technipion
 

Zvoni

Erfahrenes Mitglied
Hiho Technipion,

@ffmpeg --> siehe "QWinFF" --> ist ne GUI für ffmpeg. Ist eh drauf.

Ja, Es geht jetzt nur um Videos anschauen!
Was die codecs betrifft: Ich hab immer wieder bei den fraglichen 2,7K Videos im VLC auf die Codec-Informationen geschaut, und überall den H264 gesehen (Die GoPro entscheidet anscheinend selbst, ob 264 oder 265, je nachdem welchen Modus man nimmt).

Wie gesagt: Das Konvertieren ist nebensächlich, da ich das in HandBrake oder QWinFF (ffmpeg) dann eh im Batch über Nacht laufen lasse.

CPU-Auslastung: Hmm, ist ne Idee... Hab auf den Rechnern eh Conky laufen (und ja, ich weiss: Conky braucht seinen eigenen Anteil an CPU).

Und das mit dem Wiedergabe-Fenster ist ne Idee. Bin heute Nachmittag eh bei uns am Platz (Theorie-Unterricht halten für unsere aktuellen Schüler), da kann ich das gleich mal testen.

Danke
 

Zvoni

Erfahrenes Mitglied
Rückmeldung:
Es ist nicht die Auflösung, es sind die FPS welche den Rechner in die Knie zwingen.
2,7K/30FPS spielen alle Player ohne Probleme (siehe Auslastung)

CPU-Auslastung:
VLC --> ca. 80-90% (alle 4 Kerne)
GMP --> ca. 50-60% (pendelnd durch die Kerne)

Verkleinerung des Fensters hat nix gebracht. 60FPS im GMP in Zeitlupe, VLC stottert komplett

Also eher GraKa? Oder?
 

Technipion

Erfahrenes Mitglied
CPU-Auslastung:
VLC --> ca. 80-90% (alle 4 Kerne)
GMP --> ca. 50-60% (pendelnd durch die Kerne)
Das ist interessant. Haben wir hier vielleicht ein Software-Bottleneck?

Also ich könnte mir mehrere Dinge vorstellen.
1) Deine CPU ist noch zu alt für x265, weshalb x265-kodierte Videos ruckeln. H.264 läuft dagegen ganz gut?
2) Die Bitrate der Videos ist für dein System zu hoch. Kannst du mal die Ausgabe von
$ ffmpeg -i Videodatei.mp4 posten?
3) GMP fehlen entweder irgendwelche Treiber, oder der Software-Decoder von VLC ist einfach um Welten besser.

Also eher GraKa? Oder?
Unabhängig davon, ob das Stottern im Moment von der GraKa oder der CPU kommt, wäre ein Grafikkartenupgrade natürlich eine Lösung. Hier ist ein ganz netter Wiki-Eintrag über VA-API und VDPAU, beides Schnittstellen für die Hardware-Dekodierung auf der GPU in Linux. Da kannst du dich selbst ein bisschen einlesen.
Grundsätzlich hätte ich ja empfohlen das System mit einer Radeon Pro GPU nachzurüsten. Zusammen mit amdgpu oder amdgpu-pro hätte das sicherlich was gebracht. Aber eine vernünftige GraKa kriegst du never für unter 100€, selbst gebraucht ...:cautious:

Es bringt nix, ne GraKa für 80€ einzubauen, wenn ich nen PI4 für 100 € bekomme.
Laufen die Videos denn auf dem PI4?

Gruß Technipion
 

Zvoni

Erfahrenes Mitglied
Kannst du mal die Ausgabe von
$ ffmpeg -i Videodatei.mp4 posten?
Code:
[sbfvideo@SBFVideo02 Cam Kopf]$ ffmpeg -i  GH010089.MP4
ffmpeg version n4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.1.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GH010089.MP4':
  Metadata:
    major_brand     : mp41
    minor_version   : 538120216
    compatible_brands: mp41
    creation_time   : 2020-08-27T17:28:38.000000Z
    firmware        : HD8.01.01.60.00
  Duration: 00:05:28.23, start: 0.000000, bitrate: 60270 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 2704x1520 [SAR 1:1 DAR 169:95], 60007 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
    Metadata:
      creation_time   : 2020-08-27T17:28:38.000000Z
      handler_name    : GoPro AVC  
      encoder         : GoPro AVC encoder
      timecode        : 17:27:35:54
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
    Metadata:
      creation_time   : 2020-08-27T17:28:38.000000Z
      handler_name    : GoPro AAC  
      timecode        : 17:27:35:54
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2020-08-27T17:28:38.000000Z
      handler_name    : GoPro TCD  
      timecode        : 17:27:35:54
    Stream #0:3(eng): Data: bin_data (gpmd / 0x646D7067), 45 kb/s (default)
    Metadata:
      creation_time   : 2020-08-27T17:28:38.000000Z
      handler_name    : GoPro MET  
    Stream #0:4(eng): Data: none (fdsc / 0x63736466), 13 kb/s (default)
    Metadata:
      creation_time   : 2020-08-27T17:28:38.000000Z
      handler_name    : GoPro SOS
Den PI habe ich noch nicht gekauft, weil wir die Saison jetzt so arbeiten mit was wir haben (Invest-Stop)
 

Technipion

Erfahrenes Mitglied
Eine Bitrate von 60.270 kb/s für die Videospur? Uff, das ist ganz schön viel.

Du könntest mal versuchen die Videos umzukodieren, damit sie eine niedrigere Bitrate haben. Versuch doch testweise mal das hier:
$ ffmpeg -i "GH010089.MP4" -preset slower -profile:v high "GH010089_LBR.MP4"

Achtung, das wird einen Moment dauern! Sollte aber hoffentlich die Bitrate etwas senken, womöglich entlastet das dein System etwas.
(Den Parameter für High Profile kannst du auch weglassen, habe das nur drin weil dein System ja schon betagt ist und ich das Profil mit der GoPro konsistent halten wollte)

Danach kannst du ja nochmal die Infos des neukodierten Videos posten :)

Gruß Technipion
 

Zvoni

Erfahrenes Mitglied
Ok, werd ich machen.
wird aber bis nächstes Wochenende warten müssen, da Wetter uns gerade nen Strich durch die Rechnung macht
 

Technipion

Erfahrenes Mitglied
Kein Problem. Meldest dich einfach wenn du es testen konntest.

Eigentlich müssen wir ja froh sein, dass es ein bisschen Niederschlag gibt :confused:
In der Zwischenzeit kannst du dich ja mal ein wenig auf Ebay umsehen, ob dir dort zufällig eine gebrauchte (vorzugsweise AMD) GraKa in den Schoß fällt. Musst nur gucken, dass du guten Softwaresupport hast (bei AMD heißt das GCN oder später).
 

Martin Schaefer

Administrator
Die Ursache des Problems sind die GoP (Group of Pictures), die von hochkomprimierenden Codecs verwendet werden, um die Dateigröße (Bitrate) zu reduzieren. Wenn ein Videocodec z.B. nur alle 10 Sekunden ein komplettes Bild (I-Frame) speichert und dann dazwischen nur "Differenz" (B-Frames) speichert, dann wird der Decoding-Prozess sehr aufwändig und rechenintensiv.
Hat man nun keinen Helfer mit Hardware-Decoding (GPU), dann kommt eine mittelprächtige CPU bei der Aufgabe schonmal ins Schwitzen ... bei 2.7K mit 60fps natürlich erst recht.
Wenn man andererseits Videos in einem "All-Intra" Format speichert, dann wird zwar jedes einzelne Bild gespeichert und damit das Decoding wesentlich vereinfacht ... dafür wächst aber die Dateigröße (Bitrate) enorm an.

Der Versuch die Bitrate zu reduzieren wird aus o.g. Gründen eher nicht helfen. Leider wird es vermutlich auch schwierig werden, auf einem eher mager bestückten PC eine zuverlässig funktionierende "Balance" zwischen Dateigröße und Software-Decoding von GoP zu finden. Die von dir genannte Auflösung und Bildrate (2.7K @ 60fps) erfordert schon ein wenig "Dampf unter der Haube", idealerweise via GPU und Videoplayer, der auch die GPU zum Decoding nutzt.

Im Fall von All-Intra Codecs ist dann die GPU weniger wichtig sondern mehr der Datendurchsatz. Ein unkomprimiertes 2.7K Frame entspricht 12MB ... bei 60fps sind das dann schon 720MB/s, die gerne den Weg von der CPU zur Grafikkarte zwecks Darstellung gepumpt werden möchten.
 
Zuletzt bearbeitet:

Neue Beiträge