Wowza Community

rtmp live streaming on 2 virtual CPUS with 8GB RAM hitting 100% CPU!

Hi,

My Windows server environment:

VMWare

2vCPU

8GB RAM

Wowza Addon Transcoder for live streaming

RTMP streaming

Player: jwplayer

1 live encoding - 70% CPU

3 live encoding - 100% CPU

1 connection only

Also when this happens, sometimes on the player it says rtmpt://91.1.1.29/live_defins…

2 questions:

  1. How can we reduce the CPU utilisation?

  2. How to change from rtmpt to rtmp?

Hi,

Video encoding is a very cpu intensive process unless a hardware encoder is used. Even running something like FMLE on a normal desktop environment will use between 50% & 80% of a single cpu core. The Wowza transcoder is no exception. Even with a real server with 2 cpu cores and without quicksync would struggle to do more than 1 or 2 transcoding sessions.

Because of the way that virtual environments like vmware allocate resources, you will find very difficult to do any successful transcoding using a virtual server. Even if the host system has QuickSync or other accelerations available, these will not be available to the vm so you will be restricted to doing software encoding only.

You might be able to get satisfactory results if you can allocate more cpu cores to the vm but it will never be as good as a real server which has full access to the resources.

See here, Wowza-Transcoder-AddOn-Performance-Benchmark. Server 3 & Server 4 are EC2 instances with 4 & 8 virtual cores respectively.

The rtmpt with jw player is an automatic failover if it cannot make an rtmp connection. It first tries rtmp and then fails over to rtmpt. If it cannot connect on either then you will get that message.

Regards,

Roger.

Encoding is almost pure number crunching so the only thing that will work is the ability to crunch them quicker which requires more cpus

rtmpt is not the issue here the difference between rtmp vs rtmpt is very small unless you are talking about 100’s of connections of one type or the other.

Thanks Roger.

I understand the rtmpt can be CPU intensive. How can I enforce only the use of rtmp?

Will RAID0 help in reducing the CPU utilisation?

Do you think that increasing the Java VM Heap Memory from 768M to 3000M will help in the CPU utilisation?

Thanks.

Edwin