FFMPEG og HW acceleration - kapacitetsguide

Her er den endelige guide fra FFMPEG-udviklerne om den virkeligt komplicerede hardwareaccelerationsunderstøttelse, der findes i den nuværende FFMPEG (version 6, midt i 2023).

Husk på, at MCEBuddy bruger en fritstående version af FFMPEG til transkodning. Bemærk, at dette per definition betyder, at der foregår en afkodnings-operation, hvor outputtet går direkte videre til en enkodnings-operation. Og det er ikke altid klart, om nogen af dem bruger GPU’en eller ej – og de er to helt separate ting.

Alternativt kan MCEBuddy bruge Handbrake til dette. Handbrake har dog sin egen version af FFMPEG indbygget og vil ikke bruge den separate FFMPEG.

Det samme gælder Comskip – det har også sin egen indbyggede version af FFMPEG, som det bruger. Comskip udfører kun afkodning. Så hvis din Comskip ikke bruger GPU-acceleration, er det muligvis ikke muligt, eller også er CPU-afkodning lige så hurtig – det er lidt pointen ved afspilning (afkodning).

Så generelt er det hverken simpelt eller klart at vide præcis, hvilke funktioner hver separate version af FFMPEG understøtter eller er i stand til – eller om MCEBuddy overhovedet kan aktivere de rigtige indstillinger. Eksempelvis kan de nyeste donator-udgaver af Comskip kun bruge nVidia GPU-indstillingerne via kommandolinjen, og disse indstillinger findes ikke i den donator-version, der følger med MCEBuddy.

Jeg anbefaler derfor, at du nærlæser FFMPEG Hwaccel-udviklerguiden, ved hvilken CPU og GPU du har, hvilke codecs du bruger (også til afkodning – ikke kun enkodning!), for virkelig at forstå, hvad “hwaccel”-indstillingen betyder: hvad den gør, og vigtigere, hvad den ikke gør, og indstil dine forventninger derefter.

Det, der virker på én server, virker måske ikke på samme måde på en anden server med andre CPU’er, GPU’er og styresystemer. Så resultaterne kan variere.

Tak fordi du deler disse oplysninger og råd vedrørende FFMPEG’s hardware-accelerationsmuligheder og dets anvendelse i forskellige softwareprogrammer som MCEBuddy, Handbrake og Comskip. Du har fremhævet kompleksiteten og variabiliteten i understøttelse af hardwareacceleration, hvilket tydeliggør, at effektiviteten af disse funktioner kan variere afhængigt af den specifikke hardware, codecs og softwareversioner, der bruges.

En sej ting her er, at MCEBuddy automatisk analyserer grafikkortenes/-drivernes kapaciteter og forsøger at matche hardwareacceleration (til kodning og dekodning separat) til systemets kapaciteter og de codecs, der indgår i profilen (brugerdefineret eller standard, inklusive håndtering af flere grafikkort).
Hvis du ikke er tilfreds med plug-and-play-muligheden, har du stadig mulighed for at oprette meget tilpassede profiler, som er optimeret til dit systems hardwareacceleration, og som MCEBuddy ikke vil forsøge at optimere yderligere. Tjek emnet om avancerede kommandoer for flere detaljer, især muligheden UsingHardwareEncoding for at oprette sådanne tilpassede profiler.