I am trying to do live video streaming from my laptop webcam out to a AWS EC2 Windows instance. Below link details the steps I followed: http://learn.iis.net/page.aspx/620/getting-started-with-iis-live-smooth-st开发者_高级运维reaming/
A few seconds after pressing the "START" on ExpressionsEncoder4, I get random error pop-outs like "An unknown error has occurred", "A network error has occurred causing the encode to stop" and "The request could not be understood by the server".
Once in a while, these errors doesn't appear and I am able to see the captured video output on the preview screen.
At any one time, I am unable to register any streams on the IIS Publishing Point.
Any ideas? Thanks for any help!
There are a few problems here to solve. Let's go through them one by one.
Unknown Errors
Most often, "an unknown error has occurred" comes from calls to DirectShow APIs that fail for any unexpected reason (weird capture device, CPU can't keep up with encode, and basically any event that can interrupt the DirectShow graph frame stream). Try a different capture source, and see if your results change. Also, do a long encode from your device to a local Windows Media file to make sure everything is okay here.
Network Errors / Request not Understood by Server
Network errors in my experience have been mostly related to bandwidth; however Request Not Understood could mean you have something changing something in your HTTP requests (a proxy in between, etc).
Test On-Demand First
Test an on-demand stream from your EC2 server first. Download Big Buck Bunny or encode something yourself and make sure you can access http://example.com/BigBuckBunny.ism/Manifest in your browser. Test it using Smooth Streaming Health Monitor on the client side and server chunk performance using IIS Smooth Streaming Performance Testing Tool. This will verify that IIS Media Services is working properly.
Startup Order
Make sure you are starting your live publishing point stream in the following order:
- On your EC2 server, navigate to the Live Publishing Point and start it. This will put the publishing point in a state that is ready to accept a stream.
- In Expression Encoder, press Connect after entering the publishing point URL. You should see a successful connection at this point as long as port 80 is open.
- Press Start and encoding should begin. (Best to start with only 1 or 2 bitrates when testing your stream; keep the bandwidth low.)
Alternate Setup
If all else fails, set up a Smooth Stream on your localhost (Expression pushes stream to IIS Media Services on localhost), and configure your localhost publishing point to push the stream to your EC2 instance. This is also a good method to use if you need a more network-hiccup-tolerant solution for long term streams or where your connection isn't as solid as you'd like.
Good luck and hopefully some of this info will narrow it down.
精彩评论