我制作了一个轨道应用程序,可以将实时视频流传输到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