Sie können einzelne Teile des Videos rendern und VirtualDub verwenden, um alles mit dem Kopiermodus (wo keine Kodierung erfolgt) zusammenzufügen. Es ist keine echte verteilte Kodierung oder irgendetwas, aber einfachste Lösungen funktionieren manchmal am besten.
Gibt es eine Möglichkeit, x264-Codierungsaufträge auf mehrere Computer zu verteilen (um die Codierungsgeschwindigkeit zu erhöhen)?
Kennt jemand eine aktuelle, aktive Lösung zum Kodieren von x264-Videos auf vielen Computern (über das Netzwerk), um die Kodierung von FPS zu erhöhen?
Brownie-Punkte für plattformübergreifende und Open-Source-Anwendungen. 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 Zwei-Pass-Kodierung und schlägt mit neueren x264-Builds fehl.
- ELDER : Wieder nicht aktiv entwickelt, aber mein Problem war, dass es nicht mit neuen x264-Builds funktionierte und es sehr schwierig war, es zu konfigurieren (gelesen: zufällig aufgehört zu arbeiten).
Ich brauche zwar kein Programm, das gerade entwickelt wird, möchte aber eines, das die Zwei-Pass-Kodierung unterstützt und mit neuen (er) x264-Builds arbeitet .
Weitere Informationen : Bisher habe ich zwei separate Kopfgelder zu dieser 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 suche, ist im Grunde ein einfaches Programm, mit dem ich x264-Videos mit der Rechenleistung mehrerer über ein LAN verbundener Computer kodieren kann. Außerdem wäre es schön, wenn es mit neuen (er) x264-Builds funktioniert und die Zwei-Pass-Codierung unterstützt.
Wenn zu irgendeinem Zeitpunkt jemand eine aktualisierte Antwort oder eine neue Lösung für dieses Problem hat, poste es bitte, und es wird etwas erwogen.
2016 Update :
Nach einem Großteil meiner Arbeitserfahrung mit Computer / Bildverarbeitung erkannte ich, dass der mit der großen Menge an gemeinsam genutzten Daten / Speicher verbundene Overhead und der potenzielle Engpass, den er mit sich bringt, die möglichen Vorteile überwiegen könnten.
Obwohl ich immer noch gerne etwas finden würde, das es mir ermöglicht, die Rechenleistung mehrerer Geräte im Leerlauf zu nutzen, sind moderne, auf GPGPU basierende Encoder eine bessere Lösung, wenn Sie eine verbesserte / Echtzeit-Codierung benötigen. Dies ist, was die meisten Cloud-basierten Videocodierungsplattformen bieten (eine weitere Alternative, wenn Sie sich für SaaS oder Cloud Computing interessieren), wenn auch in größerem Maßstab.
9 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
Es ist Beta, aber funktionell. Es ist nicht ganz so einfach, aber es funktioniert. Es basiert auf Fenstern und ist kostenlos.
ELDER von einigen Doom9-Jungs
Sie können auch versuchen, dies zu verwenden, es ist eine parallele / verteilte Kodierungssoftware für Windows und funktioniert gut und skaliert auch gut.
Versuchen Sie, den xcode Parallel-Encoder zu googeln.
Diese Links sollten weitere Informationen enthalten.
Für Benutzer von Final Cut Studio (nur Mac) funktioniert die x264 QuickTime-Komponente in Verbindung mit mit QMaster erstellten Clustern bemerkenswert gut. Laden Sie Ihren Film in Compressor und los geht es. In Tests habe ich vor allem beim Arbeiten an einem gemeinsamen Speicherpunkt anständige Geschwindigkeitssteigerungen festgestellt.
Ich bin ein großer Fan von Sony Vegas für die Videobearbeitung von Windows ... und es gibt eine Funktion namens Network Render. :) Yums.
BEARBEITEN: Nicht sicher, ob dies eine praktikable Lösung ist, aber anstatt zu versuchen, eine Videocodierungsanwendung zu finden, die Netzwerkrendering unterstützt, habe ich versucht, eine Software zu finden, mit der jede Anwendung das verteilte Computing nutzen kann. Und ich habe das gefunden - IAIDataShareServer .
Es sieht ziemlich mächtig aus, und die Beispielergebnisse sind wirklich großartig. Wenn Sie es ausprobieren wollen, lassen Sie uns wissen, wie es funktioniert.
EDIT2: IAIDataShareServer scheint Maschinen lediglich zum Ausführen einzelner Aufgaben anzuweisen. Insofern habe ich versucht, andere Distributed Computing-Lösungen zu finden und einige aussichtsreiche aufzuzählen.
Für Mac OS X 10.5 (ich bin nicht sicher, ob 10.6 kompatibel ist) gab es früher VisualHub, mit dem Sie eine Grid-Farm in Ihrem lokalen Netzwerk einrichten können. Jetzt ist es eingestellt und ReduxEncoder wurde als Ersatz angezeigt, aber ich finde keine Optionen dafür.
Die einfache Tatsache ist, dass sich NON des Entwicklers der Welt bisher nicht darum gekümmert hat, verteilte Client / Server-Patches für TCP / IP-Verschlüsselung für ein aktuelles x264 zu schreiben und einzureichen. Heute sind es 1745, siehe x264.nl/
Das generische Client / Server-Modell ist ebenso gut verstanden wie die saubere x264-Codebasis. Wenn Sie zur Klärung jedes x264-Codes aufgefordert werden, müssen Sie nur den x264 dev-IRC-Kanal anschließen und fragen. Innerhalb weniger Minuten erhalten Sie einen Schlüssel x264 Dev oder zwei beantworten Ihre Frage in der Funktionsweise dieses Codeabschnitts und erhalten sogar praktische Ideen, wie Sie Ihren weiterentwickelten Code möglicherweise für das x264 (und x262 einen neuen Mpeg2-Encoder basierend auf dem x264-Weltklassen-Framework, das gerade bearbeitet wird) besser neu schreiben jetzt) Modell.
Wenn Sie also ein Entwickler sind, dann ist das Beste, was Sie für die Zukunft der Qualität und des Berufs tun können, die erforderlichen 32/64-Bit-x264-Videocodierungen. Sie schreiben diese erforderlichen grundlegenden Client / Server-Patches, um eine Instanz von x264 oder eine separate Web- / GUI zu erstellen App-Schnittstelle mit diesem neuen x264-API-Code für Client / Server, den Sie schreiben, um aktiv nach aktiven Codierungsabschnitten eines einzelnen Videos zu suchen, diese zuzuweisen und jedem neuen passenden verwalteten x264-Clientcode, den Sie auch schreiben, zuzuordnen.
Ihre neuen Clients / Server, die wirklich verteilte Encodebasis-Patches enthalten, müssen nicht einmal die besten sein, sondern nur grundlegenden, aber funktionierenden und voll funktionsfähigen C-Code, der getestet und verwendet wird: doom10.org/index.php?action=unread
Als eine Sache scheinen die x264-Entwickler es zu lieben, und das ist, indem sie den vorhandenen langsamen C-Code abschnittweise schreiben und optimierte Versionen davon schreiben, aber Sie müssen tatsächlich den (Patches welcome) tatsächlichen Beta-Code zuerst gegen den einreichen neueste Niederlassung OC
Es lohnt sich, einen Blick darauf zu werfen und sich die Mühe zu machen, diese x264-Server heute für viele x264-Patches zu codieren, da x264 gerade eine 10-Bit-Tiefencodierungsfunktion hat (dh hohe Qualität, hohe 10, hohe 4: 2: 2H-Werte). 264 rechenintensive Profile stehen jetzt jedem kostenlos zur Verfügung (x264).
Sehr schnell auf zusätzliche Geschwindigkeit bei der Montage optimiert zu werden http://mailman.videolan.org/pipermail/x264-devel/2010-October/007858.html
Aber selbst ein einzelner 8-Core-Rechner hat Schwierigkeiten, mit 1080P in einer vernünftigen Zeit eine qualitativ hochwertige Ausgabe zu liefern, und bald auch 2K und 4K Super-High-Def usw., eine wirklich einfach einzurichtende und benutzte x264 / H.264-native Kodierungsoption ein oder zwei Patches weg also.
Wenn Sie ein Entwickler sind, warten Sie bitte nicht noch heute.
Vielleicht haben Sie einen Blick auf Media Encoding Cluster :
Media Encoding Cluster ist die erste Open Source Cluster Encoding-Lösung, die in C / C ++ für das Encoding von verteilten Medien (Video und Audio) geschrieben wurde.
Media Encoding Cluster ist ein erweiterbarer Video-Encoder, der ein leichtes Peer-to-Peer-Grid verwendet, um die Rechenleistung herkömmlicher PCs zu nutzen, um die Codierung hochkomprimierter Videos, z. B. MPEG4 und H.264, zu verteilen
Sie verteilt Video-Chunks über das Netzwerk an Client-Knoten und parallelisiert die Kodierungsaufgabe für eine Datei über mehr als einen Computer, um die Kodierungszeit pro Datei zu reduzieren.
Ein anderer Ansatz wird für Nvidia von Badaboom (39,99 USD mit Testversion) angeboten, der hier ebenfalls beschrieben wird :
Badaboom von Elemental verwendet die CUDA-Schnittstelle von Nvidia, um die meisterliche Arbeit beim DVD-Ripping zu erledigen, indem Sie die GPU anstelle Ihrer muffigen alten CPU verwenden.
In gleicher Weise gibt es auch Avivo Video Converter für ATI Radeon, der in Wikipedia beschrieben wird. Es kann jedoch einige Schritte dauern, bis er funktioniert.
Rhozet Carbon Server ist zwar ein Overkill-Vorschlag, kann jedoch mehrere Carbon Coder-Instanzen für die von Ihnen beschriebene Arbeit zusammenstellen.
Website für Rhozet Carbon Server
Mehrere Carbon Coder-Knoten können als Transcodierungsfarm konfiguriert werden, die von einem oder mehreren Carbon Servern gesteuert werden. Carbon Server ermöglicht die automatisierte Verarbeitung von Transcodierungsaufgaben mit hohem Volumen, servergesteuertes Failover von Carbon Coder-Knoten sowie die Verwaltung der Jobverteilung, Jobpriorisierung, Lastverteilung, FTP-Übertragung, Statusüberwachung und Jobbenachrichtigung.
Verwandte Probleme
-
9
Was ist Cloud Computing?
-
4
Wie kann ich die Größe eines riesigen MP4-Videos reduzieren?
-
2
Wie verwende ich meine GPU, um die Videocodierung zu beschleunigen?
-
4
Wie füge ich Clips von einer DVD in eine Website ein?
-
7
Mit welchem Tool kann ich DVD-Filme rippen?
-
3
Videocodierung für die Archivierung
-
5
Empfehlen Sie mir ein gutes Videoformat, um mein Video zu kodieren
-
5
Welche kostenlosen Online-Alternativen gibt es für FrontPage?
-
9
Konvertieren eines Videos von VOB in AVI, während die Datei kleiner wird
-
3
Wie können Computer-Clouds mir die CPU-Nutzung in Rechnung stellen?