FFmpeg Livestreaming: FPS fällt ins Bodenlose nur auf Server!

  • Hallo,


    ich streame zu restream.io vom PC aus mit folgender Zeile kein Problem:


    Code
    1. snap run ffmpeg \ -re \ -f lavfi \ -i testsrc=rate=30:size=960x540,format=yuv420p \ -re \ -f lavfi \ -i "sine=frequency=440:sample_rate=44100:beep_factor=4" \ -vf " drawtext =fontfile='/Library/Fonts/MyriadPro-Regular.otf' :fontcolor='#ff6600' :fontsize=64 :text='%{pts}' :x='w/2 - text_w/2' :y='h/2 - text_h/2'
    2. " \ -c:v libx264 \ -crf:v 22 \ -preset:v fast \ -pix_fmt yuv420p \ -x264opts keyint=60:no-scenecut=1 \ -maxrate:v 600k \ -bufsize:v 2400k \ -g 60 \ -c:a aac \ -ac 2 \ -b:a 96k \ -maxrate:a 96k \ -bufsize:a 192k \ -f flv \ -flvflags no_duration_filesize \ -y -hide_banner \
    3. rtmp://restream.io/KEY

    Also an den Settings kann es nicht liegen. Wenn ich aber die gleiche Zeile auf meinem Debian 10 Server starte passiert folgendes: Die normale FPS Framerate der Übertragung

    von 30 fällt auf 1 FPS ab, so dass dann der Service getrennt wird von der Gegenseite. (Nach 10 Sekunden av Error)

    Wenn ich nur ein Video abspiele mit ffmpeg und es dann per -f mp4 /tmp/test.mp4 abspeichere, der gleiche Effekt! Auf dem PC schiebt der die Daten mit FPS 30 rein, auf dem Server wieder mit 1FPS.


    Was übersehe ich da?! Danke.

    Auf dem Server habe ich mehrere Versionen von ffmpeg getested, gleiches Ergebnis...


  • Welchen Server hast du denn bei Netcup?

    Root-Server M


    Leistungen

    Festplatte:120 GB SATA

    Arbeitsspeicher DDR 3 ECC:6 GB

    Prozessorkerne:2 virtuell

    Prozessor:Intel® vCore

  • Der Signatur nach einen vServer Light mit Squeeze... ;-P

    Das hatte der andere bloss überlesen! Also, hilf mit oder schweig. Oder fehlt bei deinem Username ein i ?!

  • Das hatte der andere bloss überlesen! Also, hilf mit oder schweig. Oder fehlt bei deinem Username ein i ?!

    Was hat du denn für 'n Problem? :D Es wurde doch nur gefragt welchen Server du hast.

    ChestSort: Automatische Kistensortierung in Minecraft - www.chestsort.de


    www.jeff24.de | RS2000 Plus, VPS2000 Plus, 2xVPS500, 2xVPS200, EiWoMiSau

  • was hat das mit dem server zu tun?!

    Verstehe nicht, nur ffmpeg und nichts in Bezug auf CPU..

    Entweder verstehst du es nicht, oder wir verstehen es nicht. Es klingt so, als würdest du ffmpeg mit Softwarekodierung auf dem Server ausführen. Video(de)kodierung ist etwas, das grundsätzlich erst mal sehr Prozessorlastig ist. Deshalb wird das oftmals durch dedizierte Hardware unterstützt: die Hardwarekodierung ist dabei erheblich schneller, als das kodieren in Software (auf der CPU). Es kann sein, dass dein Computer Zuhause dafür Hardwareunterstütztung hat, der Server bei Netcup aber nicht. (für manche Codecs müssen Lizenzgebühren bezahlt werden wenn die entsprechende Hardwareunterstützung haben, sowas wird verständlicherweise bei ServerCPUs nicht gemacht)

    Dazu kommt, dass du nur zwei virtuelle, relativ langsame CPU Kerne hast auf dem Server und Zuhause vermutlich deutlich stärkere. Also eigentlich wundert sich hier niemand, dass auf einem vServer ffmpeg langsam ist und die Vorposter haben sachte versucht dich mit gezielten Fragen (zum Beispiel nach den CPU instruktionen, die auf entsprechende Hardwarebeschleunigung hinweisen) drauf zu bringen, dass das Erwartbar ist. Dabei aber noch ein Türchen offengelassen, falls man die Frage doch falsch verstanden hat (könnte ja sein, dass du Zuhause kodierst und der Server hier die Daten nur weiterleitet/verteilt und es dabei zum fps-Einbruch kommt).

  • was hat das mit dem server zu tun?!

    Verstehe nicht, nur ffmpeg und nichts in Bezug auf CPU..

    ffmpeg rechnet Videos um, führt also Rechenoperationen aus. Diese Rechenoperationen werden nicht durch Luft, sondern durch eine CPU durchgeführt.

    Die Geschwindigkeit der CPU bestimmt dabei, wie lange so ein Prozess benötigt.


    Der Root Server M ist nun ein paar Tage älter, deswegen dauert es auch ein wenig. Die aktuellen Root Server haben garantierte CPU Ressourcen.

    Wenn du noch mit Debian Squeeze unterwegs bist, also Debian 6, würde ich dir ein Betriebssystemupdate empfehlen.

    Debian 6 bekommt seit 2014 nur noch LTS Updates und seit 2016 gar keine Updates mehr. Aktuell sind wir bei Debian 10.


    Das hatte ich nicht überlesen, ich hatte nur angenommen, dass die Annahmen nicht mehr stimmen. Grundsätzlich verwendet hier kein guter Sysadmin ein 9 Jahre altes Betriebssystem.

  • Entweder verstehst du es nicht, oder wir verstehen es nicht. Es klingt so, als würdest du ffmpeg mit Softwarekodierung auf dem Server ausführen. Video(de)kodierung ist etwas, das grundsätzlich erst mal sehr Prozessorlastig ist. Deshalb wird das oftmals durch dedizierte Hardware unterstützt: die Hardwarekodierung ist dabei erheblich schneller, als das kodieren in Software (auf der CPU). Es kann sein, dass dein Computer Zuhause dafür Hardwareunterstütztung hat, der Server bei Netcup aber nicht. (für manche Codecs müssen Lizenzgebühren bezahlt werden wenn die entsprechende Hardwareunterstützung haben, sowas wird verständlicherweise bei ServerCPUs nicht gemacht)

    Dazu kommt, dass du nur zwei virtuelle, relativ langsame CPU Kerne hast auf dem Server und Zuhause vermutlich deutlich stärkere. Also eigentlich wundert sich hier niemand, dass auf einem vServer ffmpeg langsam ist und die Vorposter haben sachte versucht dich mit gezielten Fragen (zum Beispiel nach den CPU instruktionen, die auf entsprechende Hardwarebeschleunigung hinweisen) drauf zu bringen, dass das Erwartbar ist. Dabei aber noch ein Türchen offengelassen, falls man die Frage doch falsch verstanden hat (könnte ja sein, dass du Zuhause kodierst und der Server hier die Daten nur weiterleitet/verteilt und es dabei zum fps-Einbruch kommt).

    Danke für deine lange Antwort. die ganze Zeit hatte ich auch schon mit ffmpeg sehr erfolgreich gearbeitet, livestream verarbeiten. Nur beim rtmp Output kam dieses Problem erstmalig auf. Slebst beim VLC habe ich nun die settings so, dass es beim rtmp Zeil angenommen wird, auf PC kein Problem, aber auf dem Server. Die CPU ist auch nicht überlastet. Egal, wir kommen der Sache näher, ich frage ja nicht nur hier.

  • Meister, die veraltete Signatur ist nicht das Wort Gottes. Spätestens nach meiner Detail Antwort sollte klar sein, ich bin schon etwas Länge rhier Kunde, und denke nicht gleich drann auch meine Signatur politisch korrekt zu machen. Beim VServer damal gab es diese Probleme nicht. Debian 10 habe ich auch, gut was..

    Danke für deine Antwort, ich denke das Problem kann sein, dass einfach mein Packet nicht genug Rechenleistungs dafür bekommt gegenüber dem PC selbst. Ich denke aber es kann noch andere Ursachen haben, denn meine CPU war laut Byabu nicht auf 100% beim prozess.

  • Meister, die veraltete Signatur ist nicht das Wort Gottes. Spätestens nach meiner Detail Antwort sollte klar sein

    Ganz genau!

    Du müsstest dich auch entscheiden, entweder stimmen die Angaben deiner Signatur, oder sie stimmen nicht. Dazu hast du widersprüchliche Angaben gemacht, die zur Problemlösung nicht beitragen.



    laut Byabu

    Bitte was?


    Ein blockierender Prozess, der auf ein Betriebsmittel wartet, erzeugt keine Prozessorlast von 100%. Hier ist eher die Load interessant.


    Übrigens möchtest du doch etwas von uns, nämlich Hilfe, oder liege ich da falsch? Wäre es da nicht angemessener, den Helfenden gegenüber ein wenig netter und zurückhaltender aufzutreten? Eine Attitüde, wie du sie an den Tag legst, ist im ganzen Netz nicht gerne gesehen - insbesondere wenn du noch fragst, wozu wir bestimmte Informationen benötigen.


    Dir noch viel Erfolg dabei, die passende Lösung bei deinem Problem zu finden. Woanders scheinst du ja eifrige Helfer zu haben, denen es egal scheint, wie man mit ihnen umgeht.


    Danke und beehren Sie und bald wieder.

  • Danke du Meister!