Stream playback has little "break" every "n" seconds, constant

Hello, Wowza Wizards. Here’s a neat one:

ARCHITECTURE:

We are publishing live streams (coming from both a HaiVision Barracuda and a Makito encoders) over to a Wowza for EC2 Origin/Edge config, from very different geo locations, and with all sorts of possible combinations of resolutions, bitrates, framerates, GOP and what not. We then play back the stream using JW Player and the included test/demo player.

The source we are using is interlaced video coming into the encoders.

We are streaming from the encoders using TS over RTP, and Wowza is properly configured as it always has been (it’s been working fine until recently, unless we somehow missed those annoying pauses).

ISSUE:

In every case, we are noticing a small “break” / frame skip / pause in playback at a very precise interval - let’s call this interval “n”. We have determined pretty certainly that n = GOP / framerate, and we can reproduce the behavior pretty simply, and predict how often pauses come based on this value. So, let’s say we have a stream running at 30 fps and a GOP of 90, we’ll have one of those breaks / pauses every three (3) seconds.

Curiously yet: by accident, we discovered that if we de-interlace the video (using the encoder’s built-in de-interlacer) ONCE the player is connected (that is, while we are viewing the video) and the switch back to interlaced video then WHILE WE ARE STILL CONNECTED to the stream, the playback loses the annoying pauses; yet, if we re-connect, refresh or pause the stream, we go back to the previous state - that is, the annoying pause.

We are pretty confident this is not a player issue, since it happens with ANY player we tested, and we really doubt the issue being the encoders, since until recently they worked fine (although we also opened a support ticket with HaiVision to see if they can help). Also, the network shouldn’t be the problem here, since the behavior occurs over very different network scenarios, regardless.

We’ve been scrounging the forums trying to find some adjustment/solution/workaround, to no avail. We have implemented every possible adjustment suggested, but we haven’t been able to “cure” this.

Any suggestions? Do you need additional information to help us diagnose this situation? We can provide you with a link (although not a publicly displayed one right now) where you can observe the behavior if you deem it necessary.

Thank you very much in advance.

I would go back to the haivision guys and describe exactly what you have done to debug the problem. Be sure to describe the process you went through in detail to go from encoder to TS file to ffmpeg (not transcoding) to Flash using progressive download. If not, then they will just blame it on Wowza and you will be back here again.

There is something about their encode that is causing problems with the new Flash player. It could be the way key frames are being generated that is causing problems.

Charlie

It might be a player issue with Flash 10.1

Check to see if that is the factor, because I’ve seen that exact symptom already in a couple of other cases, and that was the factor.

Richard

What we are trying to do here is to see if it is a player problem or a Wowza problem. If you capture the stream to an MP4 file then play it back using progressive download and you still see the pausing then you know that it is an player issue.

It would probably be best to capture the raw TS stream coming from the encoder to a .ts file. Then use ffmpeg to convert the stream to an MP4 container without touching the encoding of the stream. you can do this with the ffmpeg command line:

ffmpeg -i stream.ts -acodec copy -vcodec copy stream.mov

This will preserve the encoding from the encoder exactly as it is coming from the encoder.

Charlie

Can you post a short sample on your web server for download, and send a link along with all encoding parameters to support@wowza.com

Richard

Also, if you save the file and play it back using progressive download and still see the same behavior, then it is a player problem.

Richard

If you record a portion of the stream it would be good. Then you could stream it with a video on demand application to Flash 10.1, and you could play it as a progressive download. If you get the same tics streaming video on demand, then you know you’ve got a good copy of the live stream. And if you see the same tics with progressive download, then you know it is just a player issue, because Wowza will not be involved at all with progressive download.

Richard

We got Haivision involved and they handled this case. Do you have a support contact there?

Richard

Rich,

Can you describe the issue you are having? It rarely turns out to be the “same as above”.

Richard

Hi guys, any luck getting to the bottom of this?

One of our partners has the same issue and I’m keen to get it resolved.

Kind regards

Rich

Hi Richard, in this case I believe it is…

Haivision Makito / Barracuda -> Wowza -> Flash 10 or 11 and you get a sharp jerk on every I frame when using an interlaced source.

To previous versions of Flash, silverlight or any other player it is fine.

If you de-interlace on the encoders input it is also ok…

Kind regards

Rich

Guys,

Effectively, the issue IS with the Flash version (why didn’t I thought of THAT!??)

We tested with a couple different versions - I, particularly, tested the following:

  • With 10.1.53 (in both of my Mac machines and every browser available) there is the issue present;

  • I uninstalled Flash on one of my Macs, and installed version 9.0 r277 - and the issue WAS GONE!!!

I have everyone I know running around like headless chickens, trying to test any version of Flash available to see if the behavior keeps happening.

Meanwhile, what are we supposed to do about this?

Is this something you guys (Wowza) will be able to solve?

Do we have to wait for Adobe to come up with a solution (Oh, God, no…)???

What should I tell my (very) upset customers?

Thanks again - at least we now know it’s not OUR fault. :wink:

Richard:

The thing is: it IS a Flash version issue (not the Player, but the plug-in). I am looking at the same stream, in two different machines, exact same config EXCEPT the Flash plug-in version (one with 9.0 r277, the other 10.1.53), and the one with v9 is fine, the one with 10.1 has the pauses.

Does it make sense to give you a file? I can try and capture a few seconds, but I don’t understand how that might help you diagnose things, this being a live stream…

If you want me to, what I can do is provide you a link to the stream (via private message) - how do you prefer me to do that?

All the best,

Ok, will do.

I understand now. You are trying to determine whether it is the raw encoded signal or the “processed” Wowza signal causing the glitch with the new 10.1.x version. Got it.

We are setting things up now to capture the stream. Will let you know how things went.

Guys,

I tested the stream “outside” of Wowza. What I did was: I sent the stream directly to my machine, verified it with both VLC and HaiPlay (it played back smoothly) and then captured the TS stream (with VLC) and transcoded it to MP4 with FFMPEG as you suggested. It started skipping again.

I tried other things, too, and since we are also streaming to the iPhone and we CAN’T see that behavior there, I opened the same stream with VLC on a PC and it played back smoothly.

It is definitely NOT Wowza, although I am not experiencing this sort of problem with any other flash video delivery service - it is definitely an issue between Wowza and the Flash plugin version 10.1.x

Any additional thoughts? I have my customers breathing down my neck…

Vitorenes, just curious how you eventually solved this. I’m seeing the same with our Makito. Thanks!

Jeremy,

Try contacting Haivision. It seems they were able to help. If they provide a fix for you, please report back the solution. If you can’t get it sorted with their help, please come back to this thread and we’ll see if we can figure out another solution.

This is exactly the problem we are having. Is there any fix for this??

Jeremy

Hi Randall:

I’ll try that and report back.

Jeremy

Hi,

We have received a few inquiries at Haivision about this thread, here are our findings.

The jerkiness associated with Wowza is due to the fact that Flash player 10 and 11 does not display interlaced video correctly.

This issue is not present with Flash player 9.

The workaround is to send progressive video to Wowza.

With Makito and Barracuda encoders, there is a built in de-interlacing feature which can be used to eliminate this issue.

Video should always be deinterlaced when streaming for viewing on a computer screen.

Best Regards,

Customer Engineering Center (CEC)

Haivison Network Video

tickets@haivision.com

North America: 1.877.224.5445 option 4

International: +1.514.334.5445 option 4