Hardware-Encoder Linux-fähig?

  • Da ich meine DVB-C-Aufnahmen gerne in h264 komprimiere kam mir die Idee, mal nach Hardware-Encodern zu suchen. Mit dem PC dauert die Umwandlung doch oft mehr als eine Nacht - eine ziemliche Stromverschwendung. Diese Hardware-Encoder sollen 4-5 mal so schnell sein, sind aber i.d.R. groß und teuer. Eine Ausnahme scheint der folgende Encoder, vermutlich weil er schon älter ist:


    ADS Tech Instant USB Video Converter (Ebay)


    Es ist ein USB-Stick von 2006, der ungewöhnlich billig ist und in H.264 encodiert. Natürlich ist er für Windows (XP) gedacht. Daher meine Frage: Würde der Stick auch unter Linux funktionieren? Hat da jemand Erfahrung mit? Ich habe im Internet wirklich nichts dazu gefunden.

  • Da ich meine DVB-C-Aufnahmen gerne in h264 komprimiere kam mir die Idee, mal nach Hardware-Encodern zu suchen.

    Warum machst du es nicht einfach per GPU ? Selbst die lowendklasse kann einen HD Stream bequem transcodieren selbst in HEVC.

    Das geht mit jedem halbwegs aktuellen Intel CPU und auch mit einer NVIDIA Grafikkarte.

  • Dann nutz doch deinen Raspberry. Grafikkarte ist schon drin und hat alles was du suchst.


    Code
    1. root@rpi:~# ffmpeg -i 00001.ts -c:v h264_omx -c:a copy -b:v 1500k output.mp4
    2. [..]
    3. frame= 7460 fps= 94 q=-0.0 Lsize= 58209kB time=00:04:58.36 bitrate=1598.2kbits/s dup=4 drop=0 speed=3.75x
  • Achso, Korrektur der Antwort:
    natürlich meinte ich oben stehende Aussage "Ich glaube Du hast den Sinn von Hardware-Encodern nicht erkannt."

    Irgendwie habe ich dann den Sinn auch nicht verstanden......;D
    und wikipedia und alle andere auch nicht .8|

    Vielleicht wär es günstig erst mit einer Suchmaschine zu suchen
    z.B. mit den Wörtern "raspberry h264 encoder" und dann andere zu korrigieren.

    Ich stelle einfach mal ganz dumm die Frage, warum Alle so überrascht waren, als veröffentlicht
    wurde das man encodieren kann (ohne weiter zusätzliches Geld auszugeben).

    Wünsche Dir Spaß bei der Suche :]

    Gruß, jo01

    Wofür war die Signatur nochmal gedacht? *kopfkratz* :idee

    The post was edited 1 time, last by jo01 ().

  • Der Encoder für den rpi war auch erst hier ein Thema: Videos konvertieren mit Raspberry ?

  • Irgendwie habe ich dann den Sinn auch nicht verstanden......

    ...da kann ich helfen.


    und wikipedia und alle andere auch nicht .

    für "alle anderen" kannst du genauso wenig sprechen wie ich. Auf Wikipedia ist der Sinn sehr wahrscheinlich bekannt. Bitte selbst suchen, hab grad keine Lust.


    Der Sinn von Hardware-Encodern ist die starke Beschleunigung des Encodiervorgangs, weil die Hardware auf den Codec optimiert wurde. Das ist noch besser als herkömmliche Grafikbeschleunigung, die "einfach nur" Berechnungen parallelisiert. Wenn der Codec direkt in Hardware ist, dann ist das sehr viel besser als einfach nur ein paar zusätzliche h264-Befehlssätze in der GPU. Das ist vergleichbar mit diesen Bitcoin-Mining-Geräten, ASICS oder wie die heißen. Schneller als mit denen geht es nicht. Sie lassen sich im Gegenzug aber leider nur für diese Aufgabe verwenden. Herkömmliche Prozessor-Verwendung ist nicht möglich.

  • Warum wandelst du denn überhaupt die Videos um? Mal abgesehen davon, dass man vieles auch wieder löschen kann, nachdem man es gesehen hat, ist mehr Plattenplatz günstiger und einfacher zu bekommen, als stundenlang mit viel Energieeinsatz das Video neu zu komprimieren. Schöner und besser wird der Inhalt dadurch auch nicht...


    Lars

  • Moin!


    Bisher wurde nur über verschiedene Möglichkeiten gesprochen, wie man ein Video recodieren kann, aber noch nicht über das warum. Deshalb hab ich gefragt. Wenn die Ursache für das Recodieren durch was anderes gelöst werden kann, ist das doch auch nicht schlecht und auch eine mögliche Lösung für dein Problem. Deshalb wird hier im Forum eben auch mal gerne nach dem Warum gefragt.

    Manchmal trifft man auf Leute, die die eigene Lösung gerne umsetzen wollen, obwohl es vielleicht einfachere Wege gibt.


    Wenn es dir aber einfach darum geht, den Hardware-Encoder in Betrieb zu nehmen und damit zu spielen, darfst du das gerne tun. Da das Ding ja nun nicht so teuer ist, kauf ihn doch einfach und probiere es. Ansonsten ist das linux-media-Wiki auch immer eine gute Anlaufstelle, um unterstützte Hardware zu finden:

    https://www.linuxtv.org/wiki/index.php/Main_Page


    Viel Erfolg!


    Lars

  • reicht gerade mal für die flüssige Wiedergabe. Ich glaube Du hast den Sinn von Hardware-Encodern nicht erkannt.

    Wie du meinem Post entnehmen kannst reicht's für eine Encodierung in 3.75 facher Geschwindigkeit, was der Leistung deines im Eingangspost erwähnten "Hardware-Encoders" von 2006 nahe kommt.


    Sollte das tatsächlich nicht ausreichend sein empfehle ich dir die Lizenzierung eines entsprechenden IP Cores für H264/H265. Die Buzzwörter "Bitcoin-Mining-Geräten, ASICS" fielen ja bereits. Preise bitte selbst suchen, hab grad keine Lust.

  • Der Sinn von Hardware-Encodern ist die starke Beschleunigung des Encodiervorgangs, weil die Hardware auf den Codec optimiert wurde.

    Und 3,75 fache Beschleunigung reicht Dir nicht? Ist zu "dauert eine Nacht und länger" doch erst einmal ein erheblicher Fortschritt.

    Warum für einen Hardwareencoder Geld ausgeben, der so viel schneller im Endeffekt auch nicht ist. Und welche Qualität der 28€ Encoder liefert, weiß man auch nicht.

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Sollte das tatsächlich nicht ausreichend sein empfehle ich dir die Lizenzierung eines entsprechenden IP Cores für H264/H265. Die Buzzwörter "Bitcoin-Mining-Geräten, ASICS" fielen ja bereits. Preise bitte selbst suchen, hab grad keine Lust


    Mit nem IP Core kann er beim ASICS nichts anfangen, es sei denn er wäre Millionär.

  • Und 3,75 fache Beschleunigung reicht Dir nicht? Ist zu "dauert eine Nacht und länger" doch erst einmal ein erheblicher Fortschritt.

    Warum für einen Hardwareencoder Geld ausgeben, der so viel schneller im Endeffekt auch nicht ist. Und welche Qualität der 28€ Encoder liefert, weiß man auch nicht.

    Tja, die 3,75-fache Beschleunigung beim Raspberry ist zwar in der Tat interessant, kriege ich mit der Grafikkarte im MediaPC aber halt auch. Das sind bei 15-20 Aufnahmen eben "eine Nacht und länger". Das 28-Euro-Ding wirbt mit 4-5-facher Geschwindigkeit. Ich hatte gehofft, dass damit 4-5-fach im Vergleich zur Graka-Beschleunigung gemeint sind. Selbst wenn nicht, wäre das Ding aber trotzdem etwas schneller als die Grafikkarte, bei gleichzeitig niedrigerem Stromverbrauch und geringen Anschaffungskosten...wenn es denn überhaupt unter Linux läuft. Die Frage wurde ja immernoch nicht beantwortet.


    Bezüglich Raspberry ergibt sich ja dann noch das Problem, dass Hardware-Beschleunigung ersteinmal freigeschaltet werden muss. Der Key ist zwar nicht teuer. Wenn man aber gar kein Openelec benutzt weiß ich gar nicht wie man den ohne config.txt aktiviert. Sicher muss da auch treiberseitig einiges beachtet werden. Das wäre also nocheinmal ein eigenes Thema, da kann mir auch jemand direkt schreiben, wie man den Stick an's Laufen kriegt.


    Im LinuxMediaWiki sind übrigens keine Hardware-Encoder gelistet.

  • Das 28-Euro-Ding wirbt mit 4-5-facher Geschwindigkeit. Ich hatte gehofft, dass damit 4-5-fach im Vergleich zur Graka-Beschleunigung gemeint sind.

    Hm. Vielleicht bin ich naiv. Ich hätte das gelesen als 4-5x beschleunigt, bezogen auf die Filmlänge bzw. Abspielzeit des Ausgangsmaterials. Analog zu den 3.75, die Dein Raspi schafft. Der Unterschied wäre also nicht wirklich groß.

    Wenn Du '4-5x im Vergleich zur Graka' herausliest, frage ich mich unwillkürlich, welche Graka denn da in der Werbung gemeint sein sollte. Eine Graka von 2006?


    Christian

  • Selbst wenn nicht, wäre das Ding aber trotzdem etwas schneller als die Grafikkarte, bei gleichzeitig niedrigerem Stromverbrauch und geringen Anschaffungskosten...wenn es denn überhaupt unter Linux läuft. Die Frage wurde ja immernoch nicht beantwortet.


    Die wird dir mit großer Wahrscheinlichkeit hier auch keiner beantworten können.


    Würde mich nicht wundern wenn das Ding unter verschiedenen Namen auf den Markt gekommen wäre. Also selbst wenn es funktionieren könnte bräuchte man Product und Vendor IDs um anständig danach suchen zu können.


    Und passende Software bräuchte man neben dem Treiber auch noch, denn irgendwer muss das Video durch deinen Stick schieben.


    Bezüglich Raspberry ergibt sich ja dann noch das Problem, dass Hardware-Beschleunigung ersteinmal freigeschaltet werden muss. Der Key ist zwar nicht teuer. Wenn man aber gar kein Openelec benutzt weiß ich gar nicht wie man den ohne config.txt aktiviert.

    Ich würde es ja über die "config.txt" versuchen :P


    Die ist Bestandteil der "Raspberry-Firmware" und die hat irgendwo jede Distribution dabei, da das Ding nur so bootet.


    Videos dann auf eine über USB drangehängte Platte und einfach laufen lassen. Du hast den großen Vorteil, dass das Ding nur ganz wenig Strom verbraucht.

  • Das sind bei 15-20 Aufnahmen eben "eine Nacht und länger".

    Das widerspricht sich ja jetzt etwas mit der obigen Aussage. Oder Du kodierst jetzt schon wesentlich schneller als Echtzeit. Aber klar, irgendwann wirst Du auch mit jedem noch so schnellen Hardwareencoder die ganze Nacht benötigen. Kommt ja nur auf die länge des Materials an.

    Anders herum, wenn Du jede Nacht 15 bis 20 Aufnahmen zu kodieren hast, würde ich wirklich über entsprechende Hardware nachdenken.

    Hm. Vielleicht bin ich naiv. Ich hätte das gelesen als 4-5x beschleunigt, bezogen auf die Filmlänge bzw. Abspielzeit des Ausgangsmaterials.

    Steht ja sogar im Text: "5x Schneller als Echtzeit!". Deswegen verstehe ich nicht, was das Teil groß bringen soll.


    Aber ich denke nach "no sleeps" Suche ist das Ding sowieso raus. Mit den Einstellungen dürfte die GraKa ja schneller sein.

    ASUS M4A78LT-M GL | AMD Athlon II X2 250 | 2GB RAM | Asus ENGT430 | Digital Devices OctopusNet mit 2 x Digital Devices DuoFlex S2 | PS3Remote | yaVDR 0.6.1

  • Hallo,

    Mit dem PC dauert die Umwandlung doch oft mehr als eine Nacht - eine ziemliche Stromverschwendung.

    warum besorgst du dir dann nicht nee Nvidia GT630 kostet in der Bucht auch nur ca.25.-€

    Mit FFmpeg 3.3.0 > und dem passenden Nvidia-Treiber( hier nvidia-387) kannst du "h264_nvenc" nutzen

    ...damit ist z.B nee Folge "Big Bang Theory" in 2min nach *.mp4 recodiert/konvertiert

    Code
    1. real 1m49.487s
    2. user 1m58.236s
    3. sys 0m5.720s


    Code
    1. frame=16111 fps=279 q=39.0 size= 106765kB time=00:10:44.26 bitrate=1357.5kbits/s speed=11.2x
    2. frame=16259 fps=280 q=22.0 size= 107660kB time=00:10:49.90 bitrate=1357.1kbits/s speed=11.2x
    3. frame=16413 fps=280 q=22.0 size= 108634kB time=00:10:55.78 bitrate=1357.0kbits/s speed=11.2x
    4. frame=16550 fps=280 q=26.0 size= 109614kB time=00:11:01.54 bitrate=1357.4kbits/s speed=11.2x
    5. frame=16713 fps=280 q=21.0 size= 110578kB time=00:11:07.73 bitrate=1356.6kbits/s speed=11.2x
    6. frame=16884 fps=281 q=22.0 size= 111763kB time=00:11:14.50 bitrate=1357.4kbits/s speed=11.2x


    Konsole:

    Code
    1. ffmpeg -i /*/*/00001.ts -map 0:v -map 0:a:0 -c:v h264_nvenc -b:v 1200K -maxrate 1400K -bufsize:v 4000k -bf 2 -g 150 -i_qfactor 1.1 -b_qfactor 1.25 -qmin 1 -qmax 50 -acodec copy .mp4



    Gruss

    Wolfgang