Zusammenfassung des Problems oder Vorschlags:
ffmpeg hat gestern v4.0 veröffentlicht. Es enthält AMF-Hardware-Encoding für AMD-GPUs.
Ich weiß, dass es bei einem Major-Release Zeit brauchen kann, aber eine Version von MCEBuddy, die 4.0 mitbringt und AMF im Hardware-Beschleunigungs-Häkchen berücksichtigt, wäre sehr willkommen. Aktuell führe ich einen Drei-Schritte-Prozess aus, bei dem MCEBuddy Werbung entfernt und Dateien verschiebt, bevor sie von einem anderen Encoder kodiert werden und das Ergebnis anschließend verschoben wird; ich vermisse das Alles-in-einem-Setup.
Wir haben keinen Zugriff auf eine AMF-Encoding-Karte. Vielleicht kannst du die neueste Version herunterladen, sie in MCEBuddy ersetzen, das Profil so anpassen, dass h264_amf und hevc_amf als Encoder verwendet werden, und uns wissen lassen, wie es läuft.
Die knifflige Frage für MCEBuddy ist, wie erkannt werden kann, ob AMF-Encoding verfügbar ist.
Ich habe versucht, per E-Mail zu antworten, aber das scheint nicht funktioniert zu haben, also entschuldige ich mich im Voraus, falls es zwei Antworten gibt.
Laut der Dokumentation wird AMF (das selbst nur eine Erweiterung/Umbenennung von AMDs alten VCE ist) von jeder Radeon-Grafikkarte unterstützt, die seit den HD7000-dGPUs aus dem Jahr 2012 hergestellt wurde. Sollte also jemand eine von vor Jahren noch herumliegen haben, sollte sie funktionieren. Ich nehme an, ich kann meinen Installationsordner zur Sicherung zippen und versuchen, den neuen Code in eine bestehende Installation zu übertragen, aber ich kenne mich nicht mit der Funktionsweise von MCEBuddy aus, daher weiß ich außer dem Ersetzen von Dateien in \ffmpeg nicht, wo ich sonst noch suchen sollte.
Ich habe Zeranoes nächtlichen Git-Build heruntergeladen, um die mitgelieferte Version zu ersetzen. Ich weiß nicht, welche Version von ffmpeg MCEBuddy ausliefert, aber falls du selbst kompilierst, musst du die AMF-Header von einem anderen GitHub-Konto für die Einbindung holen. Zeranoe hat noch kein 4.0-Release-Build, aber der Nightly war für Tests stabil.
Ich bin in die Profildatei gegangen, um ffmpeg als primären Encoder zu setzen, und habe das -encoder-Flag auf -c:v h264_amf geändert (HEVC ist hevc_amf, nebenbei bemerkt) und . Ich weiß nicht, wie MCEBuddy nach Hardware-Beschleunigung sucht und die Flags bei Bedarf anwendet, aber das ist die Zeile, die du verwenden musst. Video wurde fehlerfrei kodiert, spielt normal ab, Logs zeigen, dass der AMF-Encoder erfolgreich aufgerufen wurde. Auf einer sehr günstigen Radeon (Vega-8-Grafik onboard eines 99-Dollar-Ryzen-3-2200G) kann der Encoder sehr schnell arbeiten. Ich weiß nicht, wie man FPS in MCEBuddy sieht, aber ich habe gesehen, dass VCEnc in StaxRip und A’s auf diesem günstigen APU 120 FPS erreicht hat.
Ich habe es also jetzt zum Laufen gebracht, es scheint „einsatzbereit“ zu sein. Falls ich auf Probleme stoße, lasse ich es dich wissen, aber ich denke, es sieht gut aus.