Avidemux oder VLC mit enorm hoher CPU-Last

Started by muxer-raven, February 20, 2021, 03:41:08 PM

Previous topic - Next topic

muxer-raven

Hallo, seit neuestem habe ich folgendes Problem:

wenn ich mit 2.7.6 eine über einen TV-Tuner aufgenommene Datei konvertieren will, gibt es wahlweise 2 Probleme:

Entweder es wird schnell konvertiert, aber die anschliessend herausgekommene Datei fordert bei abspielen mit dem VLC [3.0.12 Vetinari] relativ hohe CPU-Last (um die 20 - 25%), was für diese CPU (i7-3520M) leider ziemlich hoch ist!

Oder ich konvertiere mit anderen Parametern (siehe unten), und das konvertieren allein schon fordert die CPU zu Höchstleistungen (s.u.) und veranschlagt an Dauer längere Zeit (Windows sagt: 2 - 3 std)!!!
Anschliessendes Abspielen dieser files läuft dann mit VLC bei akzeptablen ca 10%

Ich erinnere mich, daß das noch vor einigen Wochen völlig entspannt ablief, Film aufnehmen, Datei in Avi reinstecken, Avi konvertiert, und die anschliessende Datei spielt auf VLC völlig entspannt (CPU: bei 5 -15%) ab.

Könnte mir jemand erklären, was da los ist, und wie es wieder 'entspannter' wird?

Ich hab mal die Parameter zusammen gestellt:

0. ursprünglich aufgenommene Datei:  MTS
video codec: MPEG-H Part2/HEVC
Video Auflösung 1920x1080 frame rate: 50
Decodiertes Format: Planar 4:2:0 YUV
Audio codec:  A/52 B (aka E-AC3) (eac3)

Konvertierung vers. A:     MKV
video codec: MPEG-H Part2/HEVC (H.265)
Video Auflösung: 1920x1080 frame rate: 50
Decodiertes Format: Planar 4:2:0 YUV
Audio codec: A/52 B (aka E-AC3)

Konvertierung vers. B: MP4
video codec: MPEG-H Part2/HEVC (hvc1)
Video Auflösung dito
Audio codec: dito

Konvertierung vers. C: TS MPEG (ff)
Codec: MPEG-H Part2/HEVC (H.265) (hevc)
Videoauflösung: 1920x1080  frame: 50
Decodiertes Format: Planar 4:2:0 YUV
Audio Codec: A/52 B (aka E-AC3) (eac3)

Konvertierung vers. D: mp4
video codec: H264 MPEG-4 AVC (part 10) (avc1)
Video Auflösung:  1920x1080 frame rate: 50
Decodiertes Format: k. A.
Audio Codec: A/52 B  (aka E-AC3) (eac3)
Hier: Konvertierung nach ca 35 sec abgebrochen

CPU Avidemux-Last:                      CPU VLC-Last:
A: 25%         d: paar sec.                20 - 25%
B: 20 - 22% d: paar sec.                20 - 24%
C: 18 - 22% d: paar sec.                20 - 23%
D: 95-100% d: 120 min                    8 - 10%

eigentlich sollte der VLC immer mit ca 5 - 10% CPU last laufen, bei den ersten 3 Konvertierungen macht er das aber nicht. Die letzte braucht dann nur noch die besagten 6 - 10%.

Die letzte Konvertierung hatte ich nur zu experimentellen Zwecken ausprobiert, weil weder 2 Std. noch 100% CPU last akzeptabel sind.
Ich hoffe ich habe keine wesentlichen Daten vergessen, sonst bitte darauf hinweisen,

vielen Dank!



eumagga0x2a

HEVC, zumal in FullHD, erfordert sehr viel Rechenleistung sowohl zum Kodieren als auch zum Dekodieren, es sei dann, die Grafikkarte und alle beteiligten Player und Editoren können dies in Hardware erledigen.

H.264 benötigt einen Bruchteil der Leistung, erreicht aber bei weitem nicht die Qualität.

muxer-raven

#2
hatt ich vergessen: auch die ursprünglich aufgenommene Datei ist ja H265 (vom TV Tuner), und auch die einfach nur mit VLC abgespielt, braucht schon viel CPU-last (20 - 25%).

Ansonsten ist nur die letzte (vers. D) mit H.264 konvertiert.

Daß diese Qualität schlechter ist, kann ich mit meinen Lochkamera-Augen noch irgendswie hinnehmen, aber das konvertieren selber in H264 ist dann ebend extrem CPU-lastig und dauert sehr sehr lange...

Gibt es dafür eine Lösung?
Ich meine, daß das konvertieren selber nicht so hochtourig läuft?
odwer wars das dann??

Bringt das was, wenn man die Auflösung des TV Tuners herabsetzt?

eumagga0x2a

Quote from: muxer-raven on February 20, 2021, 04:38:29 PMauch die ursprünglich aufgenommene Datei ist ja H265

DVB-T2, nehme ich an.

Die Qualität mit H.264 ist gegenüber HEVC bei gleicher Bitrate deutlich schlechter. Schraubt man die Bitrate hoch und Quantizer runter, kann man bis hin zur verlustfreien Qualität alles haben.

Quote from: muxer-raven on February 20, 2021, 04:38:29 PMGibt es dafür eine Lösung?

Ja, eine Grafikkarte mit HEVC-Dekoder-Chip drauf, um erst gar nicht neu zu kodieren, sofern möglich (im Copy-Modus mittendrin ein Stück zu löschen kann mit HEVC sehr schwierig werden).

Quote from: muxer-raven on February 20, 2021, 04:38:29 PMIch meine, daß das konvertieren selber nicht so hochtourig läuft?

Das Ziel ist, Neukodieren grundsätzlich zu vermeiden. Wenn es aber unumgänglich ist, zum Beispiel weil Schnitt an Stellen erwünscht ist, die im Copy-Modus nicht gehen, sollte wenigstens die Dekodierung in Hardware erfolgen. Sonst bleibt es nur beim jeweiligen Encoder einen der schnelleren Presets zu wählen, auf Kosten der Qualität.

Was für ein Problem gibt es mit dauerhafter CPU-Volllast? Oder ist der Rechner ein Laptop?

Quote from: muxer-raven on February 20, 2021, 04:38:29 PMBringt das was, wenn man die Auflösung des TV Tuners herabsetzt?

Wie bitte?? Die Auflösung (und Bildrate) bestimmt bei digitalen Signalen der Sender.

muxer-raven

QuoteDVB-T2, nehme ich an.
ja genau

QuoteSchraubt man die Bitrate hoch und Quantizer runter
wo stellt man das ein??

QuoteGrafikkarte mit HEVC-Dekoder-Chip drauf
hat der leider nicht, ist wie gesagt (übrigens) ein Laptop mit nem i7-3520M, 3. Generation also, da ist leider nix mit implementierten H265.

QuoteWie bitte?? Die Auflösung (und Bildrate)...
Sorry, ich ging davon aus, daß da was am Tuner einzustellen geht, da man hier zwischen 576i bis 1080p wählen kann.... Also glaubte ich, man kann sozusagen noch einen "Flaschenhals" dazwischen schalten, sodaß am Ende (auf der HDMI-Leitung sozusagen) geringere Auflösung 'rauskommt'?

eumagga0x2a

Bitrate und Quantizer stellt man in der Konfiguration des jeweiligen Encoders ein. Normalerweise wählt man eine konstante Qualität, und der Encoder regelt automatisch und variabel die dafür benötigte Bitrate. Das ist der einfachste und in den meisten Fällen der beste Weg. Damit der Encoder schneller arbeitet, benutzt man schnellere und qualitativ schlechtere Algorithmen zur Analyse des Bildinhalts. Der einfachste Weg hier ist die erweiterte Konfiguration zu deaktivieren und einen schnellen Preset zu wählen.

Quote from: muxer-raven on February 21, 2021, 09:26:49 AMist wie gesagt (übrigens) ein Laptop mit nem i7-3520M, 3. Generation also, da ist leider nix mit implementierten H265.

Stimmt, sorry, habe die Angabe der Mobil-CPU überlesen. Da hilft nur ein neues Gerät, wozu ich raten würde. Einen triftigen Grund hat man nun, und bereits ein bescheidener 6-gen (Skylake) i3 dekodiert und encodiert 8-bit HEVC in Hardware bis hin zu 4K bei 60 fps gänzlich mühelos (für 10-bit HEVC bräuchte man allerdings die nächste Generation).

Quote from: muxer-raven on February 21, 2021, 09:26:49 AMSorry, ich ging davon aus, daß da was am Tuner einzustellen geht, da man hier zwischen 576i bis 1080p wählen kann.... Also glaubte ich, man kann sozusagen noch einen "Flaschenhals" dazwischen schalten, sodaß am Ende (auf der HDMI-Leitung sozusagen) geringere Auflösung 'rauskommt'?

Sicherlich hat der Tuner auch einen Dekoder, damit man über HDMI einen Fernseher anschließen kann, und dieser Dekoder kann auch runterskalieren. Das hat jedoch nichts damit zu tun, was man als MPEG-TS am Rechner wiedergibt und mit Avidemux schneidet. Ich kann mir nicht vorstellen, dass so etwas wie Blackmagic Design H.264 PRO Recorder zur Verfügung steht, um HDMI-Signal des Tuners mit großem Qualitätsverlust mitzuschneiden.