Media Server :: Dynamic Bitrate Switching On Live Stream?
Jun 23, 2010
I have FMIS 3.5.I've installed it with pretty much all the default values.I haven't changed any of the settings in either the LIVE or the VOD applications.Dynamic Bitrate Switching is working well for VOD, but not working at all for LIVE streams.Doing a regular bandwidth detection on both the LIVE and the VOD applications give similar, high bandwidth results. However, the LIVE application NetStreamInfo.maxBytesPerSecond is showing a very low bandwidth capability of around maxBytesPerSecond = 19016, where as for the VOD its achieving around 637110.I can play a single LIVE stream of a high quality smoothly without any error.
I don't know if this is relevent but I'm getting some error messages occassionally in the log of the live application saying : Dropping application (live/_definst_) message. Clients not allowed to broadcast message.These messages aren't consistent, and don't coincide with trying to use bitrate switching.I have tried downloading the Adobe sample StreamSwitching. fla and it won't play the LIVE streams at all.Using the opensource Longtail Video player it just always defaults to the lowest stream.Here is an example: http:[url]....
is it possible to receive live stream at bitrate lower than that which video is being recorded with? How to accomplish that? I know that play2 from NetStream class allows to switch between recorded videos at different bitrates, but what about live content? I cannot simply set bandwidth to lower using FMS because i need to be sure that framerate won't be affected, and there are also other simultaneous streams playing .
I read a blog article http:(url......)talking about switching between different bit rate video streams of the same video content on fly.But I can not find such ability in RTMP's specification.I am wondering if such function has to be implemented by users with ActionScript?
This is a bump and additional thought. The leap to my 1500k file happens when initial bandwidth detection happens as bandwidth is high. Then the computer can not handle playback of a 1500k file. Is there a way to force the player to actually start playing the 300k stream before making any step up to a higher stream?[URL].. Bitrate of currently playing stream is displayed in big numbers on the page. To see the problem you will need an older laptop or computer which would have trouble playing back a a high bitrate video stream.
the stream is dynamically switching through the DynamicStreamItem list of the same file at different bitrates. It works but the switching seems to take way too long. When the default file at 300k loads, the bandwidth test happens and the 1500k file loads. Then on a slow CPU machine the file switches back down as it sees frames are being dropped. This switching is happening way too slowly, it takes a good 45 seconds to switch its way down through the various files from 1500k to 300k again on an old powerPC laptop which can only play successfully at that rate.
I understand how clients use bandwidth detection etc to dynamically switch streams via client calls with ns.play2( ... ), but I was wondering if it's possible to only ever use 1 initial ns.play( ... ) call on the client side, but let FMS server side logic that I write dictate which client sees what content. For example, I have 3 clients connected to my FMS server, all watching a live stream. I then decide I want clientA to see 'recordedMovieA.flv', clientB to continue seeing the live stream, and clientC to watch 'recordedMovieB.flv'.
I build a client side application where is only a FLVPlayback2.5 component and a short AS3 script.
[Code]....
My Encoder is setup with three streams: Vid: 500 kbps - Audio: 48 kbpsVid: 800 kbps - Audio: 48 kbpsVid: 1500 kbps - Audio: 48 kbps I start the encoder and everything looks fine in the log. In my browser (Safari or Firefox) I go to my html site and the stream starts after 6-8 sec. But anytime with the lowest bitrate 548 kbps and nothing look like the stream is switching to another bitrate. I tried it with the smil playlist and the result is the same. Only the lowest bitrate is plublished.
I read all information from above and related all posts.Now my question/problem is,Can we use DynamicStream to access and handle live stream user's web camera instead of normal NetStream?Our application is like video conferencing.In our application user's stream is not being stored on server. It is just being published as live.Now when I publish user's webcam stream as "record" (in ns.publish("stream_name","record"))I am able to get the stream.But when I publish the stream as "live" (in ns.publish("stream_name","live"))the stream is not being retrieved. Even sometimes I get an exception in "DynamicStream.as" provided by Adobe
this may be really dumb question, but I haven't figured it out. Is it possible to stream to ustream with lets say 300 bitrate and record 1000 bitrate video to computer
I am running a website similar to Ustream and Justin and i am using Linux dedicated server, that have FMS 3.5 Installed. On My site registered broadcasters can stream their live video.
I want to know how can i limit the broadcasters so that they cannot broadcast a live video more then 512bitrate in their encoder.
currently any broadcaster can broadcast a live channel at any bitrate he wants and that is consuming too much of my server's bandwidth.
As seen the tutorial [URL].. I have successfully implimented the steps. However the problem comes when the stream is disconnected and reconnected again due to network problems. Once the stream is reconnected the video stops coming, even though all 3 streams are succesfully publishing the stream to Flash Media Server but on the client side where I'm using OSMF media player the stream gets stops. Is there any setting that I need to impliment in the OSMF player to resolve this issue ?
I would like to know if there is a solution available that allows me to plug 2 HDV cameras into a laptop and live switch between the 2 cameras while uploading the live stream via adobe flash media live encoder to the adobe streaming server? the scenario is I want to offer live streaming of corporate seminars that I normally shoot with 2 cameras.
I'm using the Niagara 4100 streaming appliance to encode a live multiple bitrate streams for an event. The problem is the Niagara encoder doesn't allow me to attach an event name to the stream url like - 'streamevent%i?adbe-live-event=liveevent', instead it only allows 'streamevent%i'. So in the end I get three seperate events with a stream for each event.
Like so: Example: /Events/streamevent1/MNMMNNMxxxxx.stream /Events/streamevent2/MNMMNNMxxxxx.stream /Events/streamevent3/MNMMNNMxxxxx.stream AND /Streams/streamevent1/files /Streams/streamevent2/files /Streams/streamevent3/files
Is it possible to make it work this way without using the 'adbe-live-event' parameter using the .f4m manifest file?
I am passing to the source property of a VideoDisplay component a DynamicStreamingVideoSource object with 3 different dynamic live stream items, described by this XML, for your consideration:
But the player then runs the stream with the lowest bitrate, out of those 3. Wasn't it supposed to go for the stream with the highest bitrate, that is viewable by the end-user? All 3 streams have been individually tested and they are all viewable.
I have Flash Media Streaming Server 3.5 (not Interactive) running on RHEL5.5 x86_64 Linux.All is working well, however how do I prevent unauthorized access to connecting to the live stream and streaming content?How can I setup the server to require a user and password to stream live media to the server?I am new to this product and I have been reading some documentation but I have not found a clear cut answer on how to force a username and password to connect to the server to stream live content only.I am using the Adobe FMS Apache install, what files need changing?[code]I want to lock down a person from connecting to the server on the public internet and starting a live stream?Can this be done with a user name and password?
I am having troubles finding a way to switch videos during a live stream. For example, broadcasting a show and switching to a commercial and then back to the live feed.
I'm having a problem with recording a live webcam stream. The last few seconds of the stream is getting cut off. The recording is stopped with the following piece of code:
when i try to live stream with FMS! I can stream video with Flash media live encoder to the server but when i create the player to recieve the livestream from server,i can not recieve the live stream,can anyone give me a step by step tutorial of how to do it?
I'm trying to stream a HDS live multi-bit stream, it seems to push to the FMS but my player doesn't display the stream.Are these settings and files correct? The documenation is confusing on what and which files need to be edited and/or created.
Encoder settings: Bit Rate: 150,500,700 FMS URL: rtmp://myserver/livepkgr Stream: liveevent%i?adbe-live-event?liveevent
FMS 4.5
I see the following directories being created when I start encoding and each directory has a single file with a .stream extension in them. Are these correct? fC:FMS-HOMEapplicationslivepkgrevents\_definst_liveevent1[code].....
I'm trying to setup a server-side playlist for playing back mp3 files, though I stumble into a weird FMS behaviour. I'm using latest FMS 4.0.2 Here is how I try to publish the stream (Server-side ActionScript):
[CODE]....
On the client side, I try to play it using NetStream.play("boo"). Though, the sound quality I get is really weird. The sound goes slower and faster and stops for a split of a second. It may play properly for a couple of seconds, but that's all. Sounds like a decoder problem to me, or a bitrate conversion problem. When I play the stream with NetStream.play("mp3:rhcp") the playback goes smoothly. I've tried several mp3 files with different bitrates, but they all have the same problem.
We are successfully using Captivate 4 to create SWF files leveraging a Flash Streaming Media Server hosted on a CDN.My question is, does anyone know how to leverage the dynamic streaming / adaptive bitrate feature in FMS 3.5 with a Captivate file? I have spent an entire day searching all over Adobe forums and am surprised to see this is not documented ANYWHERE and given Captivate REQUIRES FMS to stream, it would be incredibly poor design if it cannot leverage the best feature FMS has to offer!
We publish to Flash Player 10, and while FP 10 IS compatible with dynamic streaming, my challenge is Captivate only allows one URI path and one stream name.To deliver dynamic streaming you have to have several files with different encode rates availalbe. But if Captivate only allows one stream name,how do you point it to a stream that finds all the alternative files? I've explored this with 3 different CDNs and they don't know how to do it(Limelight, CDNetworks and Internap)
The reason I'm so interested is we are delivering a Moodle hosted eLearning course to users around the globe with VERY different internet speeds.We've followed all the best practices in encoding and this is the next step in making our course accessble to ALL users.For those interested,our files are mostly less than 10 MB, though some are as much as 50 MB, all encoded at 500 kbps.
'URL missing from Media tag' on FMS4.5 HTTP Live Stream playback.I have spent a whole day trying in vain to publish f4m live http streams from FMLE using FMS 4.5, and almost everything I try results in the error .The F4M document contains errors URL missing from Media tag...in both Flash Media Playback and the fms videoPlayer app.Other people seem to have seen this and solved it, but I've found nothing that helps. I have tried to publish a single stream, and with multiple bitrates. For the latter, I followed the Adobe video tutorial as follows:
Multiple bitrate live ================ I'm publishing 3 streams from FMLE, using FMS URL: rtmp://[serveraddress]/livepkgr[code]..........
Beside Flash Media Encoder, can I use a live stream from Windows Media Services?We have live streaming with Windows Media Server, but now want also offer to mobile devices, but we dont re-encode the entire streams (tvs) again, it would be great if we can use a stream from windows to tunnel it to flash media server.
One server - is streaming server with Flash Media Interactive Server 3.5that host the application with asc files in FMS application directory.Second server - is the IIS web server that host thehtml,aspx,swf etc.. files.So basically i heve swf file on one server that have to connect to live streaming via rtmp on different server with different ip address.I did not find any clear explanation on this crossdomain rmtp issue.ys only HTTP can use crossdomain.xml policy filebut not rmtp.So what policy security procedure need to be done in order to enableswf file hosted on one server to connect and show rmtp live cam broadcasting from another server?
Somebody I know can't watch because they have a proxy server.The nc.connect() call to get the live stream fails because it goes direct from AS3 to FMS and doesn't go through the proxy server.
My rtmp client connects to the server ok and rtmp data flowing ok for about 4hours, in the wireshark trace I can see that the server just stops sending data roughly after 4hours. The server version is 3.5.1, and I also try it on a 4.0 server the data stops coming from the server as well after 5+hours. There are no errors or any indication of session disconneciton in the diagnostic logs. I have also looked thru the settings in applicaiton.xml and server.xml I just don't see any obviious reason for the issue. I do send rtmp Acknowledgement to server after the client receives "window size" bytes, and the client sends ping response to server.
We purchased Flash Media Streaming Server Interactive edition in order to have the security featuers of not allowing unauthorized connections streaming live content to the server. Is there a document with procedures that details how to make this happen, the allowedHTMLdomains.txt does not work when you place in IP ranges that you do not want connecting. I need some help just to figure out a way to keep someoen from connecting to the server and not streaming live content. Has anyone configured this in Linux because the documentation is mainly for Windows. Any help/advice would be great since this seems to be a common problem for anyone who runs Linux.