Der Grund für den FPS-Drop war sicherlich die Ineffizienz der CPU zur Codierung von Videos, da diese Codierung ziemlich umfangreich ist.
Ja, ein Upgrade des Produktionsservers mit mehr CPU-Kernen half mir, das Problem zu beheben.
Das hängt von der Art der Prozesse ab, die gleichzeitig ausgeführt werden. Wenn wir ein komplettes Video neu codieren, ist es ziemlich schwer. Wenn wir jedoch versuchen, nur den Videocontainer zu ändern oder einen anderen Prozess zu verwenden, der das Kopieren des Videostreams verwendet, ist er im Vergleich zu anderen etwas leicht.
FPS lässt FFMPEG-Streaming-Prozesse vom Produktionsserver auf FB fallen
Ich habe eine Rails-App erstellt, mit der Live-Videos auf Facebook RTMP-Server übertragen und auf AWS bereitgestellt werden können. Ich habe Nginx als Webserver verwendet. Das Hauptproblem, dem ich nach dem Anzeigen von Protokolldateien von FFMpeg-Prozessen begegne, ist, dass der FPS des FFmpeg-Prozesses manchmal zu fallen beginnt. In einigen Fällen bleibt es bei 25 FPS stabil, in einigen Fällen bleibt es jedoch nur für einige Zeit bei 25, danach sinkt es und fällt manchmal sogar auf 3-4 FPS, was während des Live-Streamings nicht akzeptabel ist. Da der FFMpeg-Prozess ziemlich umfangreich ist, möchte ich auch meine CPU-Informationen weitergeben.
CPU-Informationen sind:
cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 63 model name : Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz stepping : 2 microcode : 0x25 cpu MHz : 2400.070 cache size : 30720 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid bogomips : 4800.14 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management:
FFMPEG-Protokolldatei mit instabilen fps: https://drive.google.com/open?id=0B1gtp1iXJppkUndFamk4M0lRYzA
FFMPEG-Protokolldatei mit stabilen fps: https://drive.google.com/open?id=0B1gtp1iXJppkMkVCZEJjYWJrVTA
Als FPS stabil war, habe ich auch versucht, einen anderen parallelen FFMpeg-Prozess von demselben Server aus auszuführen, was dazu führte, dass FPS beide Prozesse auf 13-14 FPS löste.
Ich verwende derzeit diesen FFMPEG-Befehl:
ffmpeg -loop 1 -re -y -f image2 -i "image_path" -i "audio_path.aac" -acodec copy -bsf:a aac_adtstoasc -pix_fmt yuv420p -profile:v high -s 1280x720 -vb 400k -maxrate 400k -minrate 400k -bufsize 600k -deinterlace -vcodec libx264 -preset veryfast -g 30 -r 30 -t 14400 -strict -2 -f flv "rtmp_server_link"
Ich stehe nie vor diesem Problem, wenn ich versuche, mithilfe der App auf meinem localhost zu einem FB zu streamen.
Meine Fragen sind also:
- Was kann der Grund für diesen FPS-Rückgang sein?
- Kann das Upscaling des Produktionsservers mir helfen, dieses Problem zu beheben?
- Kann ich mehrere FFMpeg-Prozesse für das Streaming von demselben Server ohne Leistungseinbußen ausführen?
Danke im Voraus :)
1 Antwort auf die Frage
Verwandte Probleme
-
4
iPod-Touch zum Abspielen von Filmen vom PC auf der PS3?
-
5
Wie kann ich Internetfilme (Hulu usw.) am besten auf meinem Fernseher ansehen?
-
5
Gibt es ein kostenloses "AutoTune" -Plugin für Audacity?
-
2
Gibt es eine Möglichkeit, ein Webradio in einem Netzwerk gemeinsam zu nutzen?
-
1
Live-Videostreams verzögern
-
9
Software für den Umgang mit Kamera-RAW-Dateien
-
11
Wie kann ich die Datumsangaben in den EXIF-Daten stapelweise ändern?
-
1
App / Protokoll zur Abstimmung von Live-Audio und -Video nach Zeitplan oder Abonnement
-
3
Wie starte ich Radiosender in deinem Laptop?
-
4
Paint.NET-Äquivalent für Linux?