Transkodieren mit Nvidia Kepler Graka unter Linux mit ffmpeg... Es geht

  • Wenn der Player im Browser oder einer Webview läuft und ich ihn fernbedienen will und das ohne websockets muss er pollen. Das ist irgendwie so 2010.


    Über die Implememtation die jetzt bereits läuft kann ich an einen Client mit beliebiger ID eine beliebige Nachricht senden. Die Nachricht kommt ohne Verzögerung beim Client an.

    Grüße


    Hannemann

  • Quote

    Naja... Wenn in meinem Desktop Browser oder im FireTV oder auf einem anderen Gerät mit einer Webview ein HTML Player läuft muss ich den doch irgendwie Steuern können. Da ich nicht mit dem Telefon dem Plugin sagen will was es zum Fernseher streamen soll sondern dem Player direkt Befehle erteilen will bieten sich Websockets zur Kommunikation doch an.


    Quote

    Wenn der Player im Browser oder einer Webview läuft und ich ihn fernbedienen will und das ohne websockets muss er pollen. Das ist irgendwie so 2010.


    Über die Implememtation die jetzt bereits läuft kann ich an einen Client mit beliebiger ID eine beliebige Nachricht senden. Die Nachricht kommt ohne Verzögerung beim Client an.


    Das heißt du willst etwas im Fernsehbrowser mit einer App fernsteuern,ok, dafür ipasst websockets. Mir würde die Fernbedienung des FireTV, AndroidTV ausreichen.
    Warum nimmst du denn nicht die API von google cast (früher Chrome Cast), wenn du es fernsteuern möchtest?


    Marten

    vdr experimental, Femon, vdr live, acpi-wakeup, vompserver, undelete, epgsearch, vdr-burn, Raspberry Pi und Vompserver Windows Client (build from git)

  • Ich möchte doch nur eine weitere Möglichkeit anbieten. Wenn ich die FB des Gerätes nutzen kann ist mir die auch lieber aber mein Laptop hat keine.


    Ich kenne die Google Cast API nicht.
    Für meinen jetzigen Player zumindest brauchts auch keine. Websockets zu verwenden ist einfacher als Ajax mit jQuery.

    Grüße


    Hannemann

  • Wenn du noch verrätst, wo das Problem lag, können andere eventuell noch etwas daraus lernen... :)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Also "schlechte Spannung" möchte ich ausschließen, da alle VDR bei mir mit dem selben guten und zuverlässigen Atomstrom vom AKW Neckarwestheim versorgt werden. ;)


    Ich werde die Karte mal unter Windows testen und fals es da auch zu Störungen kommt, zurückschicken.

  • Moin,


    ich möchte eine ganze Menge Videos nach h264 oder h265 konvertieren.
    An Hardware habe ich einen brach liegenden Rechner mit einer Gforce 8300, einen Core i7 (Arbeitslaptop, Windows 10), sowie einen CentOS Server.
    Neue Hardware würde ich jetzt nicht kaufen wollen.


    NVENC wird nur auf der Gforce8300 funktionieren (wenn überhaupt). Aber die ist natürlich sehr betagt.
    Auf den anderen Rechnern kommt Intel QuickSync in Frage. Auf dem CentOS Rechner habe ich bereits versucht ffmpeg mit QuickSync zu installieren, doch da scheitere ich daran, dass das Intel Media Studio für Centos 7.1 und nicht 7.0 gemacht ist, so dass es einige inkompatibilitäten gibt.


    Daher die Idee, ein Live-Linux auf dem i7 Laptop zu verwenden. Hat da jemand einen Vorschlag? Eine Distri die schon mit QuickSync Support kommt?


    Gruß,
    Hendrik

  • Ich habe gerade zugriff auf einen Server mit einer Quadro K2200


    Ich habe damit mal ein paar Videos nach h264 konvertiert.
    Einmal mit CPU und einmal mit GPU
    Ich muss dazu sagen das es ein Server ist der auch etwas Power hat. Daher ist das transcoding mit der CPU auch nicht sooo schlecht,


    Ich habe erst mal ein Video genommen und mit darauf folgende Videos erzeugt.
    Diese dienen als Input für meinen Test.
    hd1080_25_fps.ts 1920x1080
    hd1080_50_fps.ts
    hd480_25_fps.ts 852x480
    hd480_50_fps.ts
    hd720_25_fps.ts 1280x720
    hd720_50_fps.ts
    spal_25_fps.ts 768x576
    spal_50_fps.ts



    Hier nun mein Testscript


    Die Ausgaben sehen dann etwa so aus: (gekürzt)




    Hier nun die Ergebnisse.
    Die GPU Werte sind schon beeindruckend.
    hd1080_25_fps.ts CPU=48fps GPU=250fps => faktor 5,2
    hd1080_50_fps.ts CPU=61fps GPU=268fps => faktor 4,4
    hd720_25_fps.ts CPU=70fps GPU=541fps => faktor 7,7
    hd720_50_fps.ts CPU=83fps GPU=579fps => faktor 6,9
    hd480_25_fps.ts CPU=99fps GPU=998fps => faktor 10
    hd480_50_fps.ts CPU=118fps GPU=1156fps => faktor 9,8
    spal_25_fps.ts CPU=108fps GPU=982fps => faktor 9,1
    spal_50_fps.ts CPU=127fps GPU=1101fps => faktor 8,6


    Wo ich jedoch gerade etwas enttäuscht bin ist scaling. Wenn ich das Output Video in z.B. 640x480 haben will, dann ist die GPU fast so schlecht wie die CPU. Ich vermute das ich noch einen Fehler habe. Anscheinend wird das image zum scalen von der GPU in die CPU kopiert und zurück. Obwohl nvresize aktiv ist. Damit werde ich mich vielleicht nächste Woche mal befassen.

  • Was hastn vor? Streamen? Wieviele Clients soll die Karte gleichzeitig schaffen?


    Zum Archivieren finde ich per GPU kodiertes Material nicht so gut, da die Qualität von libx264 bei gleicher Bitrate einfach um einiges besser ist.

    Grüße


    Hannemann

  • Ich habe, um die Performance zu verbessern, meine GT 710 gegen eine GTX 950 getauscht. Abgesehen davon, dass ich jetzt nach hevc transkodieren kann, stelle ich nicht wirklich eine Performanceverbesserung fest. Ich habe schon Treiber und ffmpeg upgedatet, so langsam gehen mir die Ideen aus, kann mir da jemand nen Tip geben?


    jsffm


    vdr-User-# 755 to_h264 chk_r

  • Moin,

    Was hastn vor? Streamen? Wieviele Clients soll die Karte gleichzeitig schaffen?


    Zum Archivieren finde ich per GPU kodiertes Material nicht so gut, da die Qualität von libx264 bei gleicher Bitrate einfach um einiges besser ist.


    Ich wollte eigentlich archivieren. Schade. Dann macht es ja wenig Sinn für mich.


    Gruß&Danke,
    Hendrik

  • Eine GeForce GTX 1050 Ti wäre ja aktuell eine erschwingliche Hardware dafür :wow

  • 180 bei Mindfactory :tup Recht günstig... wo hast du sie entdeckt?

    Grüße


    Hannemann

  • Mit ffmpeg 3.2.2 gibt es neue Parameter. Am Interessantesten finde ich folgenden:


    Code
    1. -cq <int> E..V.... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)


    vdr-User-# 755 to_h264 chk_r