Kennt jemand eine aktuelle, aktive Lösung zum Codieren von x264-Videos auf vielen Computern (über das Netzwerk), um die FPS für die Codierung zu erhöhen?
Brownie-Punkte für Cross-Plattform und Open Source, aber damit Sie alle wissen, verwende ich normalerweise Windows.
Programme, von denen ich gehört habe und warum ich sie nicht für geeignet halte:
- x264farm : Nicht aktiv entwickelt. Gute Schnittstelle, unterstützt jedoch keine Codierung mit zwei Durchläufen und schlägt mit neueren x264-Builds fehl.
- ELDER : Wieder nicht aktiv entwickelt, aber mein Problem war, dass es mit neuen x264-Builds nicht funktionierte und dass es sehr schwierig zu konfigurieren war (lesen Sie: zufällig aufgehört zu arbeiten).
Ich brauche zwar nicht unbedingt ein Programm, das gerade aktiv entwickelt wird, aber ich hätte gerne ein Programm, das die Codierung in zwei Durchgängen unterstützt und mit neuen (er) x264-Builds arbeitet .
Zusätzliche Informationen : Bisher habe ich zwei unterschiedliche Prämien für diese Frage angeboten (und vergeben!), Seit ich sie vor über zwei Jahren zum ersten Mal veröffentlicht habe, und ich habe immer noch keine Lösung für dieses Problem gefunden. Was ich im Grunde suche, ist ein einfaches Programm, mit dem ich x264-Videos mit der Rechenleistung mehrerer Computer, die über ein LAN verbunden sind, kodieren kann. Darüber hinaus wäre es schön, wenn es mit neuen (er) x264-Builds funktioniert und die Codierung mit zwei Durchgängen unterstützt.
Wenn jemand zu irgendeinem Zeitpunkt eine aktualisierte Antwort oder eine neue Lösung für dieses Problem hat, posten Sie diese bitte, und es wird eine Überlegung angestellt.
Update 2016 :
Nach einem Großteil meiner Berufserfahrung mit Computer / Machine Vision habe ich festgestellt, dass der mit der großen Menge gemeinsam genutzter Daten / Speicher verbundene Overhead und der potenzielle Engpass die potenziellen Vorteile überwiegen könnten.
Während ich immer noch gerne etwas finden würde, das es mir ermöglicht, die ungenutzte Rechenleistung mehrerer Geräte zu nutzen, sind moderne GPGPU-basierte Encoder ein viel besserer Ansatz, wenn Sie eine verbesserte / Echtzeit-Codierung benötigen. Dies ist, was die meisten cloudbasierten Videokodierungsplattformen bieten (eine weitere Alternative, wenn Sie sich für SaaS oder Cloud Computing interessieren), wenn auch in größerem Maßstab.
quelle
Antworten:
Sie können separate Teile des Videos rendern und VirtualDub verwenden, um alle Teile zusammen mit dem Kopiermodus (in dem keine Codierung erfolgt) zusammenzufügen. Es ist keine echte verteilte Codierung oder so, aber die einfachsten Lösungen funktionieren manchmal am besten.
quelle
Es ist Beta, aber funktionsfähig. Es ist nicht ganz so einfach, aber es funktioniert. Es ist Windows-basiert und kostenlos.
ELDER von einigen Doom9-Jungs
quelle
Sie können auch versuchen, dies zu verwenden, eine parallele / verteilte Codierungssoftware für Windows, die gut funktioniert und sich auch gut skalieren lässt.
Probieren Sie xcode Parallel Encoder aus.
Diese Links sollten weitere Informationen enthalten.
quelle
Für Benutzer von Final Cut Studio (nur Mac) funktioniert die x264-QuickTime-Komponente besonders gut, wenn sie mit einem mit QMaster erstellten Cluster verwendet wird. Laden Sie Ihren Film in Compressor und los geht's. In Tests habe ich deutliche Geschwindigkeitssteigerungen festgestellt, insbesondere bei der Arbeit an einem gemeinsam genutzten Speicherpunkt.
quelle
Für Mac OS X 10.5 (ich bin nicht sicher, ob es mit 10.6 kompatibel ist) gab es früher VisualHub , mit dem Sie eine Grid-Farm in Ihrem lokalen Netzwerk einrichten können. Jetzt wird es eingestellt und ReduxEncoder wird als Ersatz angezeigt , aber ich kann die Optionen dafür anscheinend nicht finden.
quelle
Ich bin ein großer Fan von Sony Vegas für Windows-Videobearbeitung ... und es gibt eine Funktion namens Network Render. :) Yums.
Sony Vegas Workflow
BEARBEITEN: Ich bin mir nicht sicher, ob dies eine praktikable Lösung ist, aber anstatt zu versuchen, eine Videokodierungsanwendung zu finden, die Netzwerk-Rendering unterstützt, habe ich versucht, eine Software zu finden, mit der jede Anwendung die Vorteile von verteiltem Computing nutzen kann. Und ich habe dies gefunden - IAIDataShareServer .
Es sieht ziemlich mächtig aus und die Beispielergebnisse sind wirklich großartig. Wenn Sie es versuchen wollen, lassen Sie uns wissen, wie es funktioniert?
EDIT2: IAIDataShareServer scheint nur Maschinen anzuweisen, einzelne Aufgaben auszuführen. Insofern habe ich versucht, andere verteilte Computerlösungen zu finden und einige vielversprechende aufzulisten.
quelle
Die einfache Tatsache ist, dass sich NON der Entwickler der Welt bis heute die Mühe gemacht hat, verteilte TCP: IP / UDP-Patches für die generische Codierung von Client / Server für ein aktuelles x264-System zu schreiben und zu übermitteln.
Das generische Client / Server-Modell und die saubere x264-Codebasis sind gut bekannt. Wenn Sie zur Klärung von x264-Code aufgefordert werden, müssen Sie sich einfach dem x264-Dev-IRC-Kanal anschließen und innerhalb von Minuten nachfragen, ob Sie einen Schlüssel für x264-Dev haben oder zwei antworten auf Ihre Frage, wie dieser Codeabschnitt funktioniert, und erhalten sogar eine praktische Vorstellung davon, wie Sie Ihren sich entwickelnden Code neu schreiben könnten, um besser auf den x264 (und x262, einen neuen Mpeg2-Encoder, der auf dem x264-Weltklasse-Framework basiert, an dem gerade gearbeitet wird) zu passen jetzt) modell.
Wenn Sie also ein Entwickler sind, ist das Beste, was Sie für die Zukunft der verteilten 32/64 Bit x264-Videokodierung von Qualität und Professionalität tun können, das Schreiben dieser erforderlichen grundlegenden Client / Server-Patches , um eine Instanz von x264 oder ein separates Web / GUI zu erstellen App-Schnittstelle mit diesem neuen Client / Server-x264-API-Code, den Sie schreiben, um aktiv nach separaten Codeabschnitten eines einzelnen Videos zu suchen und diesen zuzuweisen und sie im Handumdrehen jedem neuen passenden verwalteten x264-Client-Code zuzuweisen, den Sie auch schreiben.
Ihre neuen Clients / Server müssen wirklich verteilte Codebasis-Patches sein und müssen nicht einmal die besten sein. Es handelt sich lediglich um einfachen, aber funktionierenden und voll funktionsfähigen C-Code, der getestet und verwendet wird. doom10.org/index.php?action=unread
, da es eine Sache gibt, die die x264-Entwickler zu lieben scheinen, und die den existierenden langsamen C-Code nimmt und optimierte Versionen davon abschnittsweise schreibt, müssen Sie den tatsächlichen Beta-Code (Patches willkommen) zuerst gegen den einreichen neueste Filiale OK
Es muss sich lohnen, einen Blick darauf zu werfen und sich die Mühe zu machen, diese x264-Server für viele x264-Client-Patches zu codieren, da x264 gerade 10-Bit-Tiefencodierungsfunktionen hat (das bedeutet hohe Qualität, hohe 10, hohe 4: 2: 2 H). 264 rechenintensive Profile stehen jetzt allen kostenlos zur Verfügung (mit x264).
in Kürze für zusätzliche Geschwindigkeit bei der Montage optimiert werden http://mailman.videolan.org/pipermail/x264-devel/2010-October/007858.html
Aber selbst ein einzelner 8-Core-Rechner wird Schwierigkeiten haben, mit 1080P in einer angemessenen Zeit eine Ausgabe von höchster Qualität zu liefern. In Kürze werden 2K- und 4K-Super-High-Def usw. eine wirklich einfach einzurichtende und zu verwendende native x264 / H.264-Codierungsoption sein ein oder zwei Pflaster entfernt
Wenn Sie ein Entwickler sind, bitte warten Sie nicht, tun Sie es noch heute.
quelle
Sie könnten einen Blick auf Media Encoding Cluster werfen :
Ein anderer Ansatz ist für Nvidia angeboten von Badaboom ($ 39.99 mit Testversion), auch überprüft hier :
Auf die gleiche Weise gibt es auch den in Wikipedia beschriebenen Avivo Video Converter für ATI Radeon .
quelle
Rhozet Carbon Server ist zwar ein übertriebener Vorschlag, kann jedoch mehrere Carbon Coder-Instanzen für die von Ihnen beschriebene Arbeit zusammenführen.
Website für Rhozet Carbon Server
quelle