Emby Transcoding unter Linux

  • Hallo zusammen,

    hat jemand von Euch GPU transcoding in Emby unter Linux laufen? QuickSync wird nach meiner Kenntnis z.B. nur unter Schmerzen bzw. mit Einsatz des Intel Media SDK möglich. Aus dem Emby-Forum (Englisch)
    https://emby.media/community/inde…-50#entry426032

    Noch schlimmer sieht das offensichtlich unter Verwendung von Docker aus:
    https://emby.media/community/inde…nvenc/?p=375459

    Oder kurz gesagt:

    Unfortunately Intel Media SDK does not run in Docker and without Intel Media SDK quicksync not runs in Linux.

    Kann das jemand so bestätigen?

    Welche Möglichkeit der GPU-Beschleunigung läuft denn unter Linux in Emby?

  • Welche Möglichkeit der GPU-Beschleunigung läuft denn unter Linux in Emby?

    Zu Emby kann ich nix sagen, noch nie verwendet.

    Aber GPU Beschleunigung geht bei Intel über VAAPI -> https://gist.github.com/Brainiarc7/95c…bb2931bed379219
    (auch bekannt als QSV, dass man unter Linux per VAAPI oder libmfx (Intel Media SDK) ansprechen kann. Das SDK braucht aber einen gepatchten Kernel, deshalb verwendet man heute nur noch VAAPI für QSV)

    Oder bei Nvidia per nvenc.

  • auch bekannt als QSV

    Die beiden haben nichts miteinander zu tun, QuickSync ist grauenhaft verwoben ins kernel etc und damit kann man quasi den Kernel wegwerfen.
    In Docker geht es scheinbar nicht ordentlich warum auch immer (die LinuxServer.io Jungs haben da schon herumprobiert) - "wahrscheinlich" (Stand vor 2-3 Monaten) ein Docker Problem.
    Das einzig ordnetlich einsetzbare unter Linux ist VAAPI - aber auch hier klappt es nicht innerhalb von Docker weil die irgendwie ein Problem haben auf /dev/drm zuzugreifen.

  • Vergiss Vaapi mit Emby. Das ist ne Krankheit. Artefakte ohne Ende.
    QuickSync ist mit viel Bastelarbeit machbar. Habs bei mir aber auf Debian Jessie nie zum laufen bekommen. Da hats an den Kernel Patches gescheitert.
    Wenn du bis übermorgen warten kannst -> Ich hab für ne Teststellung mir ne Geforce 960 geordert um NVENC zu testen. Das soll wohl recht vernünftig laufen.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

  • Die beiden haben nichts miteinander zu tun, QuickSync ist grauenhaft verwoben ins kernel etc und damit kann man quasi den Kernel wegwerfen.

    Mit QSV meine ich nur den reinen Hardware Chip, der auf dem Prozessor Die sitzt. Und du kannst unter Linux auf zwei Arten per Software - Media SDK und VAAPI - drauf zugreifen. Was Emby wohl(?) beides kann, wenn man den einen verlinkten Thread liest.
    Unter Windows wird Software (Media SDK) und Hardware (QSV) unter dem Namen QSV vermischt.

    Zitat

    Linux
    Quick Sync support by Intel Media SDK on Linux is available,[13] and as of November 2013 it is supported by Wowza Streaming Engine (formerly known as Wowza Media Server) for transcoding of media streams using their transcoder add-on.[14] Quick Sync is also supported by the VA API, for both encoding and decoding.

  • bin auf 4.9. Keinerlei Unterschied. Sobald extrem viel Mündungsfeuergewitter ist oder extreme Kameraschwenks und Bewegungen -> Pixelmatsch. Bei ruhigen Szenen ist es gut.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

  • soweit ich weiß sind die erheblichen Verbesserungen nur mit aktuellen CPUs (Hörensagen)


    Glaubs mir einfach :)
    Ich hab nen Skylake drin im Server.

    Kann man denn da gar nix einstellen?


    Nope, auf die Parameter hat man keine Einfluss. Das GUI liefert nur CRF und Presets für Software Transcoding.


    Das Ganze Thema wird auch stiefmütterlich behandelt.


    Edit:
    Hier ein Beispiel wo es extrem ist -> Total Recall

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

    2 Mal editiert, zuletzt von sualfred (10. Mai 2017 um 19:17)

  • Klingt alles (noch) nicht wirklich vielversprechend, geschweige denn halbwegs praktikabel. Ich dachte mir so etwas schon, als ich den oben verlinkten Thread im Emby Forum durchstöberte. Das liest sich gar nicht gut. Theoretisch möglich aber …

    Ich plane aktuell eigentlich mit UnRaid und Emby dann unter Docker. Aber transcoding ohne GPU-Support ist tatsächlich hart. Wollte eigentlich einen Xeon E4 vermeiden ;)

    Falls Sich was in diesem Bereich tut oder Ihr etwas neues erfahrt wäre es toll wenn Ihr das teilen könntet.

    ps: das video ist leider nicht verfügbar bzw. wurde entfernt.

  • Wie gesagt, ich geb Feedback wies mit NVENC aussieht. Allerdings kann die Geforce Reihe nur 2 Sessions, erst bei den größeren Quadros sind diese unbegrenzt.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

  • Code
    /var/lib/emby-server/ffmpeg/test/ffmpeg -hwaccel auto -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/mnt/omv1/omv1/filme/Total Recall (2012)/Total Recall (2012) h264-1080p DTS-6ch.mkv" -map_metadata -1 -map_chapters -1 -threads 2 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi  -b:v 3616000 -maxrate 3616000 -bufsize 7232000 -level 41 -force_key_frames "expr:gte(t,n_forced*3)" -vf "format=nv12|vaapi,hwupload" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 6 -ab 384000  -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/mnt/omv1/temp_emby/transcoding-temp/transcoding-temp/431c90037c327f6c2e1abfeb98bfc04d.m3u8" -y "/mnt/omv1/temp_emby/transcoding-temp/transcoding-temp/431c90037c327f6c2e1abfeb98bfc04d%d.ts"

    Hatte ich mir schon angeschaut x-mal. Allerdings sind meine FFmpeg Kenntnisse gleich null.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

  • Funktioniert eigentlich ... er legt halt eine feste Bitrate an und solange diese Bitrate ausreicht, ist das Bild ok.

    Und bei viel Bewegung reicht die Bitrate nicht aus und du bekommst Pixelmatsch.

    Jo, das Prinzip is mir schon klar. Nur ist dies bei Software Transcoding nicht der Fall :) Und es macht kein Unterschied ob 1,5er oder 6er Rate -> Immer Brei.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

  • Auch wenn du noch deutlich höher gehst?

    VAAPI würde noch einen QP Modus unterstützen, aber das dürfte Emby nicht unterstützen. Dazu müsste man die Bitrate auf 0 setzen. (-b:v 0)
    Und kann dann die Qualität per -qp Parameter steuern.

  • Ich hab nen Skylake drin im Server.

    skylake =! aktuell ;)
    ab kabylake ist da ja eine runderneuerte Engine drin - evtl hat die wesentlich mehr Power (oder so)

    bzw so krass hab ich es aber auch noch nicht gesehen - nicht das es an Emby liegt das die dort irgendwas seltsames nutzen ?! Bzw ein aktuelles ffmepg hast du ja hoffentlich (min. 3.2 besser 3.3).

    Einmal editiert, zuletzt von CvH (11. Mai 2017 um 00:07)

  • @sualfred: Die Videoqualität sieht auf Deinem Demo tatsächlich sehr bescheiden aus. Sowas passiert hier unter VAAPI auf einen Pentium G4560 nicht mal über WLAN bei einer niedrigeren Auflösung.
    Allerdings ist Dein Server / Prozessor / Netzwerk offensichtlich ziemlich performant. Bei mir dauert das aktuell schon einen Moment, bis das Bild z.B. im Browser erscheint. Bei Dir sieht das sehr flüssig aus. Reagiert ja fast in Echtzeit.
    Welche Hardware (Prozessor, SSD oder HD, RAM) nutzt Du denn und war das Netzwerk Kabel oder Funk?

  • @CvH
    Ich kann mir nicht vorstellen das die KabyLake Geschichte hier mehr bringt, dazu sind die die zwei viel zu sehr verwandt. Aber mir jetzt extra aus dem Grund zum Test nen 7100er zu besorgen, ne darauf verzichte ich :)
    Die FFmpeg hab ich alle durch. Auch selbst kompilierte ausm Master. Aber man liest im Netz und auch im Emby Board genug von diesen Artefakten.

    @hi2hello
    Ich hab hier das krasseste Beispiel gezeigt. Bei 90% aller anderen Filme ist es um längen nicht so schlimm.
    Hab hier nen stinknormales 1000gb Netzwerk. Bei Remote geht es aber ähnlich schnell, was aber an meinen 25mbit up liegen wird.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

    Einmal editiert, zuletzt von sualfred (11. Mai 2017 um 06:42)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!