From dan at streemit.net Fri Mar 12 20:46:26 2010 From: dan at streemit.net (Daniel Mahoney) Date: Fri, 12 Mar 2010 13:46:26 -0600 Subject: [rtmpy-dev] Beginner help Message-ID: <4B9A9A12.6010400@streemit.net> Greetings, all. I'm new to the list and I think that rtmpy might help me solve a problem, but I'd like to ask some advice from folks familiar with it. Problem: at work we stream sporting events using Flash: vidcam -> Flash encoder -> internet -> CDN server, and CDN server -> internet -> end users -> player SWF/Flash plugin/browser We have been dealing with network issues, and I need to write a tool to monitor our streams in both directions. Task 1: make a connection to our CDN, pretend to be an end-user watching a video, and monitor the flow of incoming packets. My goal is to detect when the inbound stream gets interrupted. I'm ok with writing code that monitors a stream and detects interruptions, but I have no clue how to go about making an RTMP connection to the CDN. My test player connects to, for example, rtmp://fml.dca.1C71.edgecastcdn.net/201C71/examplestream and plays the stream. The code I want to write would do the same thing, just not display the video. Task 2: make a connection the the CDN, read an FLV stream off disk, pump the stream through the CDN as if it were an encoder delivering a live stream, and detect when the ability to shove packets at the CDN gets interrupted. I have been reading through the rtmpy docs looking for ways to do this, but I haven't made a lot of progress. Could someone point me to the proper place in the docs that might show me how to do this? I'm not afraid to do some digging and research, I would just like a nudge in the right direction. Once I get this puppy working I'll be glad to share the result with the world. From nick at boxdesign.co.uk Sat Mar 13 11:16:12 2010 From: nick at boxdesign.co.uk (Nick Joyce) Date: Sat, 13 Mar 2010 10:16:12 +0000 Subject: [rtmpy-dev] Beginner help In-Reply-To: <4B9A9A12.6010400@streemit.net> References: <4B9A9A12.6010400@streemit.net> Message-ID: <61DFDFA1-E241-4775-AF0E-EC8F7810789A@boxdesign.co.uk> On 12 Mar 2010, at 19:46, Daniel Mahoney wrote: > Greetings, all. I'm new to the list and I think that rtmpy might help me > solve a problem, but I'd like to ask some advice from folks familiar > with it. > > Problem: at work we stream sporting events using Flash: > > vidcam -> Flash encoder -> internet -> CDN server, and > > CDN server -> internet -> end users -> player SWF/Flash plugin/browser > > We have been dealing with network issues, and I need to write a tool to > monitor our streams in both directions. > > Task 1: make a connection to our CDN, pretend to be an end-user watching > a video, and monitor the flow of incoming packets. My goal is to detect > when the inbound stream gets interrupted. I'm ok with writing code that > monitors a stream and detects interruptions, but I have no clue how to > go about making an RTMP connection to the CDN. My test player connects > to, for example, > rtmp://fml.dca.1C71.edgecastcdn.net/201C71/examplestream and plays the > stream. The code I want to write would do the same thing, just not > display the video. Sounds like a useful tool! The client side of things has been slightly left behind the current server api, something which I am working on this weekend. By the end, I plan to be able to use RTMPy as a client to call server side methods, stream video .. generally act like a flash client. I am currently using a default FMS install with the example apps to make this work, once I get to a level of stability, I would love to be able to test/help you get that up and running. > > Task 2: make a connection the the CDN, read an FLV stream off disk, pump > the stream through the CDN as if it were an encoder delivering a live > stream, and detect when the ability to shove packets at the CDN gets > interrupted. This might take a little bit more work (but not too much), RTMPy will gladly accept an A/V stream but not build/publish one. This is something I would love to get up and running. > > > I have been reading through the rtmpy docs looking for ways to do this, > but I haven't made a lot of progress. Could someone point me to the > proper place in the docs that might show me how to do this? I'm not > afraid to do some digging and research, I would just like a nudge in the > right direction. Once I get this puppy working I'll be glad to share the > result with the world. The code is probably the best place to start looking tbh. The docs are a little light and *hopefully* the docstrings should help more .. The best place to start might be rtmpy.server as it gives an idea on how to interact with the lower level rtmp apis .. I am busy this morning (GMT+0) but should around this evening/tomorrow working on this stuff .. jump on IRC if you have any questions! > _______________________________________________ > RTMPy mailing list - rtmpy-dev at rtmpy.org > http://lists.rtmpy.org/mailman/listinfo/rtmpy-dev