Wowza Community

Video is choppy

The use case we are developing is a one-to-many live streaming using GoCoder sdk. For streaming we are using FRAME_SIZE_960x540.

We are having issues with video quality on the receiving end, playing back through android app videoview. The video is choppy. For my use case, this choppiness will fail user acceptance. I was aspiring for the smooth, high quality playback of services

How can improve the quality of the viewer video? I can accept worst latency. I want to get to that Twitch-level quality.

The issue appears to be in with the wowza streaming engine’s transcoding, as the main mp4 file is smooth, but all transcoded files are chopping bad. (from 160p-720p). Could it be misconfigured? Or a problem with server resources? What could cause wowza’s transcoding to consistently mess up?

Are you doing adaptive bitrate streaming? If so the keyframes need to aligned on all versions or else the switching at the player results in a choppy video. Choppiness is usually a bitrate/bandwidth problem as well. Can you get away with lower audio bitrate but keep the video bitrate high?

You can can also consider SRT as a stream target where it would be GoCoderSDK>Engine>SRTStream Target. That’s what SRT is intended to do- stabilize the video in the case of packet loss.

For all GoCoder questions: to receive direct debugging and assistance we are requiring a support ticket since we are discontinuing it as you know already @Scott Hooten.

We are not using any stream target so SRT is also not used. Please check our screenshot of wowza stream engine.

Hey Scott, thanks for the additional info You’ll need to submit a support ticket per tech support. There is no way to debug in forums or identify the issue with the transcoded versions without full access to your files and logs.

This requires an official ticket where you can upload that info. I did check the status report for our transcoder and we have no reports of issues with mp4s and different resolutions or bitrates. We’ll need to take a closer look and run some tests on your setup.

As a reminder the biggest reason we see this happen with transcoded versions, is the keyframes are not aligned on all versions so there is a choppy transition… But, I have no way of knowing if that is what is going on here.

I also wrote a short article in Nov on some best mobile best practices that may be part of the issue for you as well since you’re seeing the problem on playback:

For mobile streaming, it’s best to encode streams using a low bitrate, frame rate, and low encoding complexity. A total bitrate of between 64Kbps and 250Kbps is best.

Many mobile devices may not be able to handle a full 30 frames per second (fps). A frame rate between 15fps and 24fps may be best for mobile. It’s best to encode to a lower H.264 complexity. Most mobile devices only support H.264 Baseline profile.

But, again these are all guesses without us seeing your files. Sorry we can’t diagnose without that- I know you’d like this resolved asap.

This log file does contain “updateBehindFilter” messages and I see that your server has 2 CPU cores which are not enough for transcoding.

How many cpu cores are needed to transcode each 360p and 720p video? I was originally told that one wowza streaming server instance running on a decent server could handle 100-200 simultaneous inbound streams. Shouldnt 2 cores be sufficient to transcode multiple streams? I’ve only been using 2 cores for the last year, and this is the first time we’ve noticed this issue. The server is virtual, so i can turn on more cores, but i need to know how many cores i need for each inbound session so that i can turn on more cores when other people try to broadcast at the same time. Thanks.

Please see the following article showing the benchmarks as a guide.

To accurately test your own server, please see this article.

The number of cores required will depend on the source quality, the encode quality and the number of encodes you’re wanting to create. For example, if the source is 60 FPS, this will be more work than a source of the same resolution and bitrate that’s encoded at 30 FPS.


Hi Scott,

If the issue is due to transcoding then it’s possible that your server doesn’t have the CPU (or GPU) resources to create the encodes that you have configured. Transcoding is a very CPU intensive process so my recommendation would be to check the log files to see if you’re seeing any messages containing “updateBehindFilter”, this indicates a lack of CPU resources for the transcoding process.

If so, edit the transcoding template so that you’re only creating a single transcode to (160p) and see if you can replicate the problem and/or if the above messages continue to get printed to the log file.

Jason Hilton
Technical Support Engineer
Wowza Media Systems

According to your suggestion we are using bitrate 250Kbps and frame rate 24 fps but we are facing same issue. For reference I give you the video url and attach the log what you want your last feedback.

video url:

wowza-log-20200722.txtI doubled the cpu count on the virtual server, and now a stream doesnt take more than 30% of the cpu and usually averages around 10%. The source quality of my last test was 720p @ 30fps on the test. However, the mp4 files were still messed up. I captured the log file from when the stream was broadcast and this time it doesnt have any "updateBehindFilter " entries. Any ideas why the the mp4 files are still skipping/freezing?

Here are some video transcode links from this stream: