MP3 und MP4 Wandlung nutz nicht volle Rechenleistung aus.

Gast #5224911
Lesenswert?

Hallo

sowohl Audacity als auch Active Presenter, ein Desktop-Camcorder, nutzen 
bei der MP3 bzw. MP4 (aber auch alle anderen Videocodecs) nicht die 
volle Rechenleistung meines Vierkern Rechners unter Win7 aus.

Was bei der MP3 Wandlung noch hinzunehmen ist, da die Zeiten 
überschaubar sind ist bei der Videowandlung (mp4 und alle anderen 
Codecs) richtig ärgerlich da dort die Wandlung locker mal die Hälfte 
(hängt natürlich von der Auflösung und Größe des Ursprungsvideos ab) der 
Aufnahmezeit beansprucht - aber die Prozessorauslastung bei deutlich 
unter 50% bleibt.

Kann ich das mit Win7 Einstellungen ändern?
Bei den Programmen selbst habe ich leider keinerlei Möglichkeiten 
gefunden.

Mehrkernrechner (Prozessoren) sind ja nun wirklich nichts neues mehr - 
und mit meinen 4-Kerner bin ich heutzutage ja wohl auch in einer unteren 
Liga...

Faster
Gast #5224935
Lesenswert?

Faster schrieb:
> 4-Kerner

Wenn ein Systen/Programm die Aufgaben nicht sinnvoll verteilen kann, 
bleiben die restlichen Kerne arbeitslos. Deswegen ist höhere 
Taktfrequenz manchmal besser als viele langsame Kerne und zu viele Waits 
im RAM. WENN man übertaktet, schraubt man auch an der Zuverlässigkeit!
#5224938
Lesenswert?

Wenn der Programmierer eine Mehrkernnutzung nicht vorgesehen hat, werden 
die anderen Kerne in Ruhe gelassen.

Bei der Rechenleistung der einzelnen Kerne ist das organisierte 
Multitasking auch wirklich Geschmacksache.

Melde Dich doch bei der Softwareentwicklung an und implementiere dieses 
Feature.
Keine Ahnung ob das überhaupt möglich ist.
#5224957
Lesenswert?

Bei den kostenlosen Tools schauts schlecht aus mit 
Multithreadunterstützung.

Lame Encoder (für MP3) kann kein Multithreading:
https://superuser.com/questions/1056044/does-the-threading-option-work-with-lame-in-ffmpeg

FFMPEG mit libx264 für H.264 Video scheint Multithreading wohl nur sehr 
rudimentär zu unterstützen:
https://video.stackexchange.com/questions/15996/ffmpeg-encoding-and-core-usage
Gast #5225838
Lesenswert?

Faster schrieb:
> meines Vierkern Rechners

Echter 4-Kerner, oder 2-Kerne + Hyperthreading?

Hyperthreading bringt nur dann einen echten Vorteil, wenn verschiedene 
"Prozessorteile" gleichzeitig verwendet werden können, z.B. Integer und 
Floatingpoint-Berechnungen.

Wenn alle virtuellen Prozessor-Kerne mit der gleichen Aufgabe betraut 
sind (also: Alle sind am MP3-Kodieren), dann hast du eher einen 
2½-Kerner, keinen 4-Kerner.


Ansonsten: Starte einfach mehrere Kodiervorgänge gleichzeitig.
#5228250
Lesenswert?

S. R. schrieb:
> Ein Encoder mit nur einem Thread ist prinzipbedingt
> rechenzeiteffizienter als ein Encoder mit mehreren Threads (weil
> Overhead entfällt) und führt zu besseren Ergebnissen.

NACK. Man kann etliche Sachen parallelisieren ohne dass die Qualität 
leidet.

Es ist nur deutlich schwieriger die Software korrekt zu schreiben. Bei 
lame hat sich niemand die Mühe gemacht - und der stammt außerdem aus 
einer Zeit wo Desktop CPUs single-threaded waren.

MP3 sind außerdem trivial zu parallelisieren, indem man halt den Encoder 
für jede Datei einzeln startet. Da das hier ein Programmiererforum ist: 
Make kann Tasks parallel abarbeiten, d.h. Du könntest Dir ein Makefile 
zum parallelen Encoding bauen.

Heutzutage nutzt man fürs (Video-)Encoding besser die massiv parallele 
Grafikkarte als Beschleuniger.
#5228952
Lesenswert?

Jim M. schrieb:
> Man kann etliche Sachen parallelisieren ohne dass die Qualität leidet.

Wenn du einen Datenstrom so codieren willst, dass jeder Block auf dem 
vorherigen Block basiert, dann kannst du ohne weiteres nicht mehrere 
Blöcke gleichzeitig verarbeiten.

Für Parallelisierung kannst du nur mehrere Blöcke auf einen gemeinsamen 
Vorgänger zeigen lassen, oder den Datenstrom in unabhängige Stücke 
schneiden - das ist aber weniger effizient.

> MP3 sind außerdem trivial zu parallelisieren, indem man halt den Encoder
> für jede Datei einzeln startet.

Das schrieb ich bereits, aber darum ging es nicht.

Mit tausend Bauarbeitern kriegst du ein Haus nicht tausendmal 
schneller gebaut als mit einem, aber du könntest in der gleichen Zeit 
tausend Häuser bauen. Bringt nur nix, wenn du nur ein Haus willst.

> Heutzutage nutzt man fürs (Video-)Encoding besser die massiv parallele
> Grafikkarte als Beschleuniger.

Die ist aus Sicht des Anwenders übrigens auch nicht parallel: Vorne geht 
ein Datenstrom rein, hinten kommt ein Datenstrom raus. Intern wird 
natürlich massiv parallel gearbeitet, aber dafür gelten die o.g. 
Kompromisse. Die Qualität ist i.d.R. schlechter als bei einem guten 
Software-Encoder, oder die Dateien sind größer.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren