我製作了一個軌道應用程序,可以將實時視頻流傳輸到Facebook rtmp服務器並將其部署到AWS上。我用nginx作爲web服務器。查看FFMpeg進程日誌文件後遇到的主要問題是,有時FFmpeg進程的FPS開始下降。在某些情況下,它保持穩定在25 FPS,但在某些情況下,它僅在某些時候保持在25,然後開始下降,有時會下降到3-4 FPS,這在直播期間是不可接受的。由於FFMpeg過程相當繁重,我也想分享我的CPU信息。FPS在FFMPEG流媒體流程中從生產服務器下載到FB
CPU信息是:不穩定FPS
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的日誌文件:https://drive.google.com/open?id=0B1gtp1iXJppkMkVCZEJjYWJrVTA
當FPS穩定,我也試着:https://drive.google.com/open?id=0B1gtp1iXJppkUndFamk4M0lRYzA
FFMPEG與穩定的FPS日誌文件從同一臺服務器運行另一個並行FFMpeg進程,導致FPS將兩個進程都降至13-14 FPS。
我目前使用此命令FFMPEG:
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"
,當我嘗試使用流在我的本地應用程序到FB我從沒遇到過這種問題。
所以,我的問題是:
- 有什麼可以爲這個FPS下降的原因是什麼?
- 升級生產服務器可以幫我解決這個問題嗎?
- 我可以運行多個FFMpeg流程從同一臺服務器進行流式處理嗎?
感謝提前:)
這個問題實際上與Rails沒有任何關係,並且不屬於Stack Overflow。這是一個超級用戶的問題,但我仍然繼續回答。 – Brad