Copy link to clipboard
Copied
I would like to have the possibility to detect when NetStream is not working (i.e. the name used in initialization can't be found on the server side). The StreamNotFound doesn't work at all. I've read that it's the fault of the Flash Media Server, which automaticaly creates new stream, if it cannot be found (of course it's an empty stream - what is wrong from my point of view). Is it true? If yes, can I disable it on the server side, so I could easily detect if the stream name is correct?
Copy link to clipboard
Copied
If you are talking about recorded streams or VOD content - then if the file is not present on the server - you will get NetStream.Play.StreamNotFound - but if you are subscribing for live stream and there is no one publishing - it will create stream and wait for someone to publish. You can howerver set some timer at client side and see if you dont recieve NetStream.Buffer.Full after you recieve NetStream.Play.Start - you can conclude there is no one publishing and close the stream.
Copy link to clipboard
Copied
It's not working this way. When I try to play an unpublished stream, the next thrown event is NetStream.Buffer.Full .
Isn't it possible to configure server, so it sends NetStream.Play.StreamNotFound, when nobody is publishing live stream?
Copy link to clipboard
Copied
AFAIK, it is not possible that way ...
Copy link to clipboard
Copied
So what is the best way to check if the stream is flowing?
edit:
Ok, so I will answer it by myself. I see no elegant way to resolve this issue. But in my opinion, the best one is to periodicaly check, for example, the time property and compare it with its last value. Thanks to that we can have (nearly) constant information about flow of the stream.
Copy link to clipboard
Copied
How about using NetStream.Publish.BadName ?
Copy link to clipboard
Copied
I see no Publish property in NetStream class:
http://help.adobe.com/pl_PL/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6
Copy link to clipboard
Copied
First of all if you are getting NetStream.Buffer.Full for non existent stream - i would consider that as bug. Please provide details for us to investigate the issue.
Secondly the solution which you talked about setting time and checking time property should work as per me - though i have not tried it.
Copy link to clipboard
Copied
BadName is a server generated code, and you need to search it in server side LR. It might help u do few more things.
Copy link to clipboard
Copied
I am facing exactly similar issues . I need a way to find if a live stream exist on .
In server application I tried to do Stream.get which creates stream if it doesnt exist , I tried Stream.length which returns 0 always for live streams .
On client side it never returns NetStream.Play.StreamNotFound or any other status if stream is not there .
So in short there is no way other than putting a timeout on client side to check if a live stream exist . I dont know why Adobe gives so much weightage to .flv on demand content when people are using it for live streams also . Lot of times we do lot of work arounds to achieve what adobe should be providing in their products and its hard to get any support when it comes to development .
Copy link to clipboard
Copied
A question with 17,000 views with no resolution !
Copy link to clipboard
Copied
I am not aware of what exactly is your use case - but you can always use Admin API "getLiveStreams" (http://help.adobe.com/en_US/flashmediaserver/adminapi/WSa4cb07693d12388431df580a12a34991ebc-8000.htm...) to know which all streams are published to a particular application.
Copy link to clipboard
Copied
@SE_0208
Thanks for your response .
Will Admin API work in server application .asc ? Or at least I have to provide admin credentials for it to work ?
Copy link to clipboard
Copied
Yes you can invoke them via Server-side script. Yes you would need Admin credentials for Admin API commands.