feedzapper Posted December 2, 2017 Share Posted December 2, 2017 Seit kurzem wird von ffmpeg auch das hardware transcoding von H.264 und HEVC Streams für AMD Grafikeinheiten unterstüzt. Unterstützt werden auch ältere GPU und APU unter Windows. Voraus gesetzt es sind die aktuellen Treiber installiert. Bei älteren GPU/APU unter dem Schlagwort "RE-LIVE" Treiber herunterzuladen. Da ich in meinem zweiten Rechner einen AMD A10-7850 mit integrierter R7 Radeon Grafik verwende, war ich dort natürlich neugierig. Ein aktueller ffmpeg trunk mit AMF support war schnell compiliert und mein erstaunen war wirklich groß. Zu meiner Überraschung muss ich sagen, dass es auf Anhieb ohne Probleme funktionierte. Die CPU Last sank von so um die 80-99% (je nach PRESET mit libx264) auf 20% (HD mit 1280x720) mit dem h264_amf Codec. Vielleicht könnte man einen entsprechenden Eintrag zukünftig in die ffmpegprefs.ini einpflegen ? hier meine presets für die ffmpegprefs.ini (Beispielhaft) : [Flash High 5160 kbit AMF] Cmd=-analyzeduration 1500k {offset} {realtime} -i "{infile}" -f flv -c:v h264_amf -bufsize 10000k -b:v 5000k -maxrate 5000k -g 50 {framerate} -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -quality quality -rc vbr_peak -tune film -vprofile high -level 4.2 -c:a aac -ab 160k -ar 48000 -ac 2 -async 1 -y "{outfile}" maxWidth=1280 maxHeight=720 MimeType=video/x-flv Ext=.flv hier noch die möglichen Encoder Einstellungen in der ffmpeg commandline : Encoder h264_amf [AMD AMF H.264 Encoder]: General capabilities: delay Threading capabilities: none Supported pixel formats: nv12 yuv420p d3d11 h264_amf AVOptions: -usage <int> E..V.... Encoder Usage (from 0 to 3) (default transcoding) transcoding E..V.... Generic Transcoding ultralowlatency E..V.... lowlatency E..V.... webcam E..V.... Webcam -profile <int> E..V.... Profile (from 66 to 257) (default main) main E..V.... high E..V.... constrained_baseline E..V.... constrained_high E..V.... -level <int> E..V.... Profile Level (from 0 to 62) (default auto) auto E..V.... 1.0 E..V.... 1.1 E..V.... 1.2 E..V.... 1.3 E..V.... 2.0 E..V.... 2.1 E..V.... 2.2 E..V.... 3.0 E..V.... 3.1 E..V.... 3.2 E..V.... 4.0 E..V.... 4.1 E..V.... 4.2 E..V.... 5.0 E..V.... 5.1 E..V.... 5.2 E..V.... 6.0 E..V.... 6.1 E..V.... 6.2 E..V.... -quality <int> E..V.... Quality Preference (from 0 to 2) (default speed) speed E..V.... Prefer Speed balanced E..V.... Balanced quality E..V.... Prefer Quality -rc <int> E..V.... Rate Control Method (from -1 to 3) (default -1) cqp E..V.... Constant Quantization Parameter cbr E..V.... Constant Bitrate vbr_peak E..V.... Peak Contrained Variable Bitrate vbr_latency E..V.... Latency Constrained Variable Bitrate -enforce_hrd <boolean> E..V.... Enforce HRD (default false) -filler_data <boolean> E..V.... Filler Data Enable (default false) -vbaq <boolean> E..V.... Enable VBAQ (default false) -frame_skipping <boolean> E..V.... Rate Control Based Frame Skip (default false) -qp_i <int> E..V.... Quantization Parameter for I-Frame (from -1 to 51) (default -1) -qp_p <int> E..V.... Quantization Parameter for P-Frame (from -1 to 51) (default -1) -qp_b <int> E..V.... Quantization Parameter for B-Frame (from -1 to 51) (default -1) -preanalysis <boolean> E..V.... Pre-Analysis Mode (default false) -max_au_size <int> E..V.... Maximum Access Unit Size for rate control (in bits) (from 0 to INT_MAX) (default 0) -header_spacing <int> E..V.... Header Insertion Spacing (from -1 to 1000) (default -1) -bf_delta_qp <int> E..V.... B-Picture Delta QP (from -10 to 10) (default 4) -bf_ref <boolean> E..V.... Enable Reference to B-Frames (default true) -bf_ref_delta_qp <int> E..V.... Reference B-Picture Delta QP (from -10 to 10) (default 4) -intra_refresh_mb <int> E..V.... Intra Refresh MBs Number Per Slot in Macroblocks (from 0 to INT_MAX) (default 0) -coder <int> E..V.... Coding Type (from 0 to 2) (default auto) auto E..V.... Automatic cavlc E..V.... Context Adaptive Variable-Length Coding cabac E..V.... Context Adaptive Binary Arithmetic Coding -me_half_pel <boolean> E..V.... Enable ME Half Pixel (default true) -me_quarter_pel <boolean> E..V.... Enable ME Quarter Pixel (default true) -aud <boolean> E..V.... Inserts AU Delimiter NAL unit (default false) -log_to_dbg <boolean> E..V.... Enable AMF logging to debug output (default false) viel spass beim Testen ... 1 Quote Link to comment
feedzapper Posted December 2, 2017 Author Share Posted December 2, 2017 Noch eine kurze Anmerkung .. die aktuellen ZERANO ffmpeg builds haben "KEINEN" AMD AMF support ! (--enable amf) in der ffmpeg config ! Quote Link to comment
feedzapper Posted December 3, 2017 Author Share Posted December 3, 2017 (edited) ... einen aktuellen ffmpeg build (Stand 03.12.2017) mit AMD AMF support in 32/64 bit habe ich hier hochgeladen. Der Code ist lauffähig auf AMD und INTEL Systemen. http://www.filehosting.at/file/details/711589/ffmpeg_amf_static.rar Edited December 3, 2017 by feedzapper Quote Link to comment
feedzapper Posted December 3, 2017 Author Share Posted December 3, 2017 Weiterführende Informationen sind hier verfügbar : https://github.com/GPUOpen-LibrariesAndSDKs/AMF Quote Link to comment
sir drake Posted December 3, 2017 Share Posted December 3, 2017 Hallo feedzapper die 32bit version von ffmpeg liefert mir leider einen fehler. ffmpeg.exe -c:v h264_amf -i org.mpg z:\test.h264 unknown decoder 'h264_amf' AMD Radeon HD 5450 was meinst du ? vg Quote Link to comment
feedzapper Posted December 3, 2017 Author Share Posted December 3, 2017 vor 30 Minuten schrieb sir drake: Hallo feedzapper die 32bit version von ffmpeg liefert mir leider einen fehler. ffmpeg.exe -c:v h264_amf -i org.mpg z:\test.h264 unknown decoder 'h264_amf' AMD Radeon HD 5450 Deine Grafikarte ist zu alt, sie erfüllt nicht die Mindestanforderungen der Treiberversion -> AMD Radeon Software Crimson Edition 16.7.3 und neuer .. vor 30 Minuten schrieb sir drake: Quote Link to comment
feedzapper Posted December 4, 2017 Author Share Posted December 4, 2017 im übrigen war der commandline syntax nicht richtig. Er müsste lauten : ffmpeg.exe -i org.mpg -c:v h264_amf z:\test.h264 Quote Link to comment
feedzapper Posted December 11, 2017 Author Share Posted December 11, 2017 Ab sofort unterstützen die aktuellen ZERANO ffmpeg builds auch "AMD AMF" Aktuelle Versionen bitte von dort herunterladen !! Quote Link to comment
Goggo16 Posted December 13, 2017 Share Posted December 13, 2017 Hi, interessante Sache. Gibts da irgendwo ne Liste mit Graphikkarten? LG, Goggo Quote Link to comment
feedzapper Posted December 13, 2017 Author Share Posted December 13, 2017 (edited) vor 8 Stunden schrieb Goggo16: Hi, interessante Sache. Gibts da irgendwo ne Liste mit Graphikkarten? LG, Goggo Auszug aus dem AMF SDK : The AMF framework is compatible with most recent Radeon GPUs starting with the Southern Islands family and APUs of the Kabini, Kaveri, Carrizo families and newer. Alle ab RADEON HD7000 / R7 "Southern Island" aufwärts incl. den APU im A10 mit integrierter R7 Grafikeinheit. Halt alle Grafikarten die einen südlichen Inselnamen als Codenamen haben. e.g. CapeVerde, Turks, Bonaire... Kann man ja nachschlagen bei Wikipedia. Edited December 13, 2017 by feedzapper Quote Link to comment
Goggo16 Posted December 15, 2017 Share Posted December 15, 2017 Ah, danke. A10? Dann wär ja (auch) ein iPhone 7 geeignet. Quote Link to comment
deekey777 Posted March 18, 2018 Share Posted March 18, 2018 (edited) On 13.12.2017 at 9:19 AM, Goggo16 said: Hi, interessante Sache. Gibts da irgendwo ne Liste mit Graphikkarten? LG, Goggo Ich weiß, das Posting ist etwas älter, aber hier ist die Liste: https://en.wikipedia.org/wiki/Video_Coding_Engine#Overview Es gibt zwar bessere, aber für den einfachen Überblick ausreichend. Overkill: https://www.x.org/wiki/RadeonFeature/ Edited March 18, 2018 by deekey777 Quote Link to comment
Webturtle Posted September 2, 2020 Share Posted September 2, 2020 (edited) Hallo, ich möchte mit meinem Lenovo Notebook mit AMD Ryzen 5 und AMD Radeon Vega 8 Graphics mit Ffmpeg DVB-T2 HD Aufnahmen (H.265 / HEVC) für mein altes Windows XP Notebook bzw unseren Flachbild-TV in MPEG konvertieren. Kann man die Grafikkarte zur Beschleunigung einsetzen und was müßte man dazu angeben? Ich verwende normalerweise "-f dvd -target pal-dvd " als Paramerter. Wie ich gerade von sir drake gelesen habe soll die AMD-Grafikkarte MPEG gar nicht in dieser Hinsicht unterstützen. Viele Grüße Webturlt Edited September 3, 2020 by Webturtle Nachtrag: Wie ich gerade ... Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.