VAAPI-Encoding (Linux/Arch) - Printable Version +- Selur's Little Message Board (https://forum.selur.net) +-- Forum: Hybrid - Support (https://forum.selur.net/forum-1.html) +--- Forum: Probleme und Fragen (https://forum.selur.net/forum-4.html) +--- Thread: VAAPI-Encoding (Linux/Arch) (/thread-537.html) Pages:
1
2
|
VAAPI-Encoding (Linux/Arch) - ggrub08 - 30.07.2018 Hi Selur, Die Linux-User, ich z.B. mit Arch, haben ja immer noch das Nachsehen das kein Intel-Hardware-Encoding gemacht werden kann. Das funktioniert scheinbar mit keinem Videotool unter Linux ... soweit mir bekannt ist. Gäbe es nicht die Möglichkeit VAAPI-Encoding in Hybrid einzubauen ? Ich hab mich stundenlang mit VAAPI beschäftigt und mittlerweile sieht das richtig gut aus. Die Resultate sind mindestens so gut, wie mit "qvsenc" unter Windoof. Man muß lediglich von ffmepg nach ffmpeg pipen.So sieht das z.B. mit ffmpeg aus: ffmpeg -threads 6 -hide_banner \ Das ffmpeg-Decoding braucht mehr Power/Threads da es ja nur über die CPU läuft. Für´s Encoding ist nur 1 Thread notwendig, läuft ja über die GPU. Wie in Hybrid üblich, müssen Video und Audiobearbeitung getrennt ausgeführt werden. Und mit mkvmerge wird gemuxt. Sogar Transcoding via vaapi müßte funktionieren. Ich mach da auch noch einige Tests. Gruß ggrub RE: VAAPI-Encoding (Linux/Arch) - Selur - 31.07.2018 Kann ich mir mal die Tage angucken. Zu klären ist: a. Gibt's irgendwo ne Übersicht was für Encodingparameter mit VAAPI unterstützt werden? b. Woher weiß Hybrid welches device in /dev/dri/ es nutzen soll? c. Kann man das auch nutzen wenn man GPU decoding qsv&co verwendet? Cu Selur RE: VAAPI-Encoding (Linux/Arch) - ggrub08 - 31.07.2018 1. https://ffmpeg.org/ffmpeg-codecs.html#VAAPI-encoders 2. ls -al /dev/dri/ vainfo --display drm --device /dev/dri/renderD128 3. Ja. Ich kann auch mit meiner GTX1070 decoden und via INTEL-GPU encoden. Transcoding funktioniert ebenso, allerdings gibt es auch Formateinschränkungen. Bin momentan auch zeitlich sehr begrenzt. Aber ich bleib am Ball, denn die Aussichten sind sehr gut. EDIT: Auch sehr nützlich mit Beispielen: https://trac.ffmpeg.org/wiki/Hardware/VAAPI RE: VAAPI-Encoding (Linux/Arch) - Selur - 31.07.2018 Quote:ls -al /dev/dri/Frage ist welche Devices die da gelistet sind, gehören zu welcher GPU. Quote:vainfo --display drm --device /dev/dri/renderD128vainfo ist bei den meisten Distributionen nicht automatisch installiert. Quote:https://ffmpeg.org/ffmpeg-codecs.html#VAAPI-encodersKeine min/max Werte,... :/ RE: VAAPI-Encoding (Linux/Arch) - ggrub08 - 31.07.2018 "vainfo" ist in "libva-utils" (arch) enthalten und auch im offiziellen Repository. Mit "sudo cat /sys/kernel/debug/dri/128/name" wäre es möglich, aber dann muß man Rootrechte haben. Mal sehen ob ich was finde ohne sudo ... Klar, die settings sind nicht ganz so umfangreich wie bei "qsvenc", aber trotzdem sind hier die Resultate ansehnlich. RE: VAAPI-Encoding (Linux/Arch) - Selur - 01.08.2018 Lösung ohne 'sudo' wäre hilfreich. Cu Selur RE: VAAPI-Encoding (Linux/Arch) - ggrub08 - 04.08.2018 "arch" hat hier tatsächlich die Eigenart, die Device-Zuornung nach einem Reboot zu ändern. Mal ist es "/dev/dri/renderD128" bei nächsten Reboot ist es "/dev/dri/renderD128". Weiß der Deibel warum. Deswegen hab ich in meinem ffmpeg-Script einfach eine primitive Abfrage eingebaut: for var in 128 129 130 Klappt natürlich nur mit INTEL-Device. Wie wäre es denn wenn der User die kompletten Encoding-settings selbst in einem Hybrid-custom-encoder eintragen könnte, per Kommandozeile ? Nur so ne Idee. RE: VAAPI-Encoding (Linux/Arch) - Selur - 04.08.2018 Quote:Wie wäre es denn wenn der User die kompletten Encoding-settings selbst in einem Hybrid-custom-encoder eintragen könnte, per Kommandozeile ?Dann sehe ich keinen Grund den Encoder in Hybrid zu integrieren. RE: VAAPI-Encoding (Linux/Arch) - ggrub08 - 04.08.2018 Aber ja doch Man könnte die komplette Hybrid Audiobearbeitung verwenden, crop resize usw. und übergibt dann nach "custom-encoder" den man selber konfiguriert. Für mich wäre das in Hinblick auf vaapi ideal. Einzig "-f raw" müßte gegen "-f yuv4mpegpipe" ausgetauscht werden. Ist halt experimentell und nur für user gedacht die wissen was sie tun. Und sonst, wie immer, ... man kommt halt einfach nicht von Windoof weg . RE: VAAPI-Encoding (Linux/Arch) - Selur - 04.08.2018 Experimentell mit Usern die Wissen was sie tun. Klappt einfach nicht. Komplette Commandlines eingeben wird es in Hybrid nicht geben, denn dann kommt wieder User XY der aus einem YouTube Video oder sonst wo ne Command line hat und rumstänkert warum es denn nicht geht. -> Nein, danke. Hab so schon genug Emails&Co mit Leuten die offensichtlich nicht wissen was sie tun. --- Quote:Mal ist es "/dev/dri/renderD128" bei nächsten Reboot ist es "/dev/dri/renderD128".Wo ist da jetzt der Unterschied? Cu Selur |