how to do buffering for live stream over rtsp( sdp files)
You might be best served to read through the User’s Guide, Quick Start Guide and install and play with all the examples. There are examples and information there. Then you can ask questions based on the information we already have provided in this body of work.
You can do it as detailed in this post.
Or do you mean client-side buffering in non-Flash client?
in Flash it is NetStream.bufferLength
NetStream.bufferLength is set in your Flash application, in Actionscript. If you are using JW Player you can set it in the Flashvars with “&bufferlength=3” (3 is the default in JW Player)
You can view connections and server info with the built-in HTTProviders:
(You need to set a username/password in /conf/admin.password to access the above pages)
To record a portion of a live stream, you can use the LiveStreamRecord example package:
The recording is saved in content folder of the application. by default that is [wowza-install-dir]/content, but it is wherever the app’s Application.xml /StorageDir points to.
You have to copy a jar file and modify the app’s Application.xml before you can use the LiveStreamRecord client.
2)I think the above method is for clients(it can be used on server side also). Is there any other method that we can do on demand storage on the server side
I don’t understand this question. Can you clarify?
…For this reason I think that this is for clients. …In this case where this file is saved?
It’s saved on the server (not client-side), in the content folder, wherever the /conf/[application]/Application.xml /StorageDir points to. If it’s not there, then it’s not setup correctly.
I don’t know another way to do it. This is the way to record portions of a live stream on the server.
Look in the log for error messages. If you can’t sort it out, zip up the conf and logs folders and send them to email@example.com. (if the email bounces please post the zip files to a web server and send a link)
To use the LiveStreamRecord package, set the Application.xml StreamType to “live”
StreamType “live-record” will record the whole stream starting from the moment is published.
Make sure the Application.xml you are modifying is below the /conf folder, like:
And check the access log, see if there are any errors or warnings about missing function StartRecorder, something like that. If you see that you do not have it installed correctly.
You should be able to play the resulting vlc1.sdp.flv using another Wowza app with StreamType “default”
To limit access to certain users you have to do some kind of authentication. This is how to do it with Wowza:
Can you copy the video to your web server and send a downloadable link and reference to this thread to firstname.lastname@example.org
Evidently, you deleted the file from disk while it was recording. Meanwhile recording continued, writing a new file. But that file is missing the header, which had been deleted.
…Does the load balancing wowza server can act as an edge server?
Yes, it can. To test this all you have to do is configure all 4 roles on one machine.
Make your test machine an Origin and an Edge. Then publish a stream to the Origin, then connect to the Edge with a player and subscribe to the stream. When you see the stream playing from the edge that is being published to the origin, origin/edge is working.
Configure the Load Balancer Listener on the same machine.
Configure a Load Balancer Sender on the same machine.
Configure the redirect application on the same machine.
Connect to the redirect application with the player, and check the “least loaded server” with the HTTP method.
You will see that all of these roles can be on one machine. It is a cluster of one. You can scale out from there. You can configure another server as an Edge and Load Balancer Sender.
The instructions for setting up Origin and Edge servers is in the Livestream Repeater section of the Wowza User Guide.
The load balancing system is just a way of distributing connections. You need the Origin/Edge configuration setup for that to be useful.
If you got an edge to work on another machine, you can get it to work on the same machine. There is no problem in configuring origin and edge applications on the same machine, I have done it many times.
Why would you configure the origin application as the redirect application? They are totally separate applications. Sounds like you are improvising as you go instead of following the guides precisely, and/or you are skimming the instructions, which you just cannot do.
I suggest you start over, follow the provided instructions more carefully.
Do u mean to configure one single application as an origin and edge…? then what streamtype shall I give …liverepeater-origin or liverepeater-edge…?
No, this is what I said:
There is no problem in configuring origin and edge applications on the same machine, I have done it many times.
I said one machine, I said "origin and edge applications I never said anything that could be confused with “configure one single application as an origin and edge”
I said, follow the instructions precisely and don’t improvise. This is the problem you are having.
The suggestion of using one machine is just as a stepping stone, for testing, and when you were having problems with multiple machines. You said you had an edge working on another machine, so you’re past that anyway.
The redirect application StreamType should be “default”, or it doesn’t matter, but just leave it as “default”
Sounds like you have two servers setup as Load Balance Senders. Which ever has fewer connections is the “least loaded server”
This is working correctly. The connection rejection is how redirect works. You can use JW Player 5 to handle the rejection/redirect. It is all covered in the documentation, and in previous posts in this thread.
Flowplayer has built-in support for this reject/redirect mechanism. Just connect to the redirect application and it will handle it. You have to using a recent version of Flowplayer.
If you cannot play the live stream with Flowplayer from the orgin or the edge, but you can do it with the LiveVideoStreaming example player, then you are doing something wrong with Flowplayer.
If you cannot play either with LiveVideoStreaming player either, then you are doing something wrong with the Liverepeater (origin/edge) configuration.