wowza with ffplay, pixelated stream

Hi,

We are running a streaming operation in a closed cloud-like enviroment, that works like this:

A stream originates in pal camera. The input goes via rca to an editing video card, and flash media encoder transmits it into the cloud as 768x576, 650 kbps via optical line of 4/4 mbps. The wowza server receives the transmittion, and delivers to rtsp-based players inside the cloud.

The problem is, that the stream is almost allways stuck and/or pixelated on the players, including tests that we do with vlc player. if you play the stream on ffplay, it’s also heavily pixelated at times, and there are a lot of errors such as:corrupted macroblock, error while decoding. Even if you open the ffplay on the wowza streamer itself (on the same machine), it still has this problem.

Does anybody had any experience with this, because this is the first project that we really use rtsp-based playback?

Thanks,

Alex

Wowza does not support trick play (fast-forward) in RTSP players as far as I know. And fast-forward is not supported in any kind of live streaming, not even with DVR features.

What do you mean, “rtsp players in the cloud”? Are you using EC2? Other “cloud” service? Aren’t the players on client machines?

Richard

It needs an internet connection to check in with a Wowza licensing server periodically after start up. You can’t keep it off-line for an extended period of time.

Alex,

Can you test with the same FMLE instance and a local webcam instead of the pal camera > rca > video card input?

But first, take a look at this guides:

https://www.wowza.com/docs/how-to-troubleshoot-rtsp-rtp-playback)

https://www.wowza.com/docs/how-to-set-up-an-application-for-rtsp-rtp-streaming

Even if not mobile clients, the mobile trouble shooting might be helpful.

Richard

Alex,

The Wowza developer license limits live HTTP streaming (to Apple devices and Microsoft smooth streaming) to 3 minutes per stream and 7 total streams. Once that limit is reached, the server needs to be restarted.

The clock starts when streaming starts on the server, it doesn’t matter if any clients are playing a stream.

Richard

Alex,

That should work. Apply the subscription by changing /conf/server.license file.

As for the license limit errors when using the developer edition, the way to stop seeing that in the logs if you are not doing http live streaming is make the conf/[app-name]/Application.xml /LiveStreamPacketizers empty:

<LiveStreamPacketizers></LiveStreamPacketizers>

Richard

Alex,

Yes, you do have to restart Wowza. You should be connected to the internet when you connect, as you planned. That’s what should work, not later.

Richard

This might help:

https://www.wowza.com/docs/how-to-configure-wowza-media-server-to-use-proxy-server-to-communicate-with-license-server

Richard

I don’t understand, “pull the stream back to the encoder” and “Flex client on the encoder” This is the usual setup:

Encoder > Wowza <> Flash client

Take a look at this post for guidance and suggestion on live stream latency:

https://www.wowza.com/docs/how-to-set-up-low-latency-applications-in-wowza-streaming-engine-for-rtmp-streaming

Richard

Alex,

The Wowza Tuning Guide is here:

https://www.wowza.com/docs/how-to-do-performance-tuning

I guess you mean that you are using a Flash client running on the same computer that the encoder is running on, which is irrelevant (unless it is contributing to latency because the machine is overloaded). Wowza, web server and Flash client could be anywhere, on one machine or many.

High latency with h.264 video in Flash clients might be caused by low FPS setting. Flash needs about 60 frames before starting to display the video. Increase to 24 or 30 FPS

You can send a command to many Flash clients instructing them all to connect at the same time. But if you had an atomic clock at each location and could compare start times and other time markers, they are not all going to play in concert. The TVs in my bedroom and living room don’t play at the same time. So have realistic expectations.

I don’t know how to send a command to rtsp clients to connect at the same time. You can’t do it as you would with Flash clients, over the NetConnection.

Richard

Alex,

Take a look at the ServerSideModules example that ships with Wowza. It includes a Flash client and Wowza application module and is a working example of all the ways to communicate (pass data and send commands) between Wowza and Flash client.

I’m not sure how simultaneous playback can be for 600 Flash clients connected to Wowza if you used IApplicationInstance.broadcastMsg to send a command to all of them to start playing a stream at the same time. There is some overhead in making starting play for each client, and each client will be subject to different network conditions. What are you trying to accomplish? Is there real-time multi-user functionality involved?

Richard

Alex,

You would have to test. You could look at the access logs and see how many seconds elapsed between first play command after you start the clients to the last play command. I think lots of RAM and fast multi-core processor would make a difference.

Richard

I still don’t know the answer to the previous question, you will have to test to see what the performance is under these circumstances.

Your last post about disconnects doesn’t quite add up. If the logs show a disconnect, and you have a player that is streaming, then the logs are regarding another session.

Try running Wowza in stand-alone mode (/bin/startup.bat) so you can see log output in real-time as you are streaming from the client. This way you can see more immediate correlation between logs and actions.

Richard

Server-side you can do:

client.setShutdownClient(true);

This will disconnect the client and stop any stream incoming from that client of course. To cleanly stop just the stream and not disconnect the client, you must tell the client to do it. You can use the methods in the Serverside Modules example to call a function in a Flash player to stop streaming.

This is relevant to Flash clients only.

Richard

Alex,

No, Wowza does not drop connections on its own. The likely cause of a session timeout is network/connectivity problems.

Richard

Hi Richard,

I’m not talking about trick play, just regular rtsp playback of live stream.

It’s not an amzon cloud, it’s a closed enviroment that hosts the encoder, the server, and 6 stations with players. Disregard the “cloud-like” part please.

Alex

Hi Richard,

I will try to do this test, also I looked at the mobile guides and then at the logs, I added the port 554 to vhost.xml, we’ll see if it makes a difference. Also, another related question - is there a possibility to activate wowza with perpetual license (or another license) offline? Because the whole operation is offline to the internet, and for tests we used the Dev edition, and now the client would need to purchase a license.

Thanks,

Alex

Hi,

Also, for some reason we get the “Hit license limit for stream” error, although there are only 1 encoder streaming, and 2 clients are connecting. Can i send you the log please?

Alex

Richard,

We are not doing http streaming, we are pushing the stream through FME, and delivery is to rtsp clients. But anyway, now i want to put in a proper license. can i use our subscription license for that? The server is offline to the internet, but i can put it online for the activation.

Alex

Thanks a lot!

After the license change i would need to restart the server, is that correct? During the wowza restart does it need to be connected to the internet for it to pass the activation, or i can connect it to the internet later on?

Thanks,

Alex