So we’re working on a big new feature for Xuggler 3.4: RTMP support.
Up until this point if you wanted RTMP you had to integrate Xuggler into a RTMP server such as Red5 and Wowza. But for 3.4 we’re going to add our own RTMP support, so you can read to and write from RTMP URLs, with no dependency on Red5 or Wowza. Heck, it means you can even intercept streams coming from an Aodbe Flash Media Server instance (provided it’s security set-up allows you to do that).
No firm ETA on when we’ll call 3.4 done (hopefully this month or next), but if you want to alpha test where we are, go check out tip of tree. It’s ready for the ‘bleeding edge’ folks among you.
We’ve got RTMP handshaking working with Wowza and Red5, and publishing and playing back FLVs with Sorenson or H264 seems to work. We’re working through some kinks with publishing M4V format files, but reading them via RTMP should work. We’ll be doing more work and testing, but I’d like to start getting your feedback. Once this feature is fully baked, we’ll be officially deprecating our old Xuggle-Xuggler-Red5 adaptor in favor of this approach. We have no plans to add RTMPE, RTMPT or RTMPF support at this time.
One note for those who want to run out right now and use this; your Xuggler programs, if publishing data via RTMP, will need to make sure you don’t overload the RTMP connection. If you try to cram an entire file down a TCP pipe you’ll get errors. Instead, send data ‘roughly’ when it would get played by a video player. For those familiar with the FFmpeg command line program, think of the “-re” option.
Lastly, this support is being implemented in C code, which any changes we make are getting submitted back into FFmpeg and will hopefully show up there too. Various folks on the FFmpeg team have done the major lifting here — we’re just making it work with Xuggler and helping the FFmpeg team with bug fixes and integration testing. So if you want to send cookies in support of the feature, they get first dibs on the best ones.